При настройке синхронизации данных между конфигурациями 1С:Розница 2.2 и 1С:Бухгалтерия предприятия 3.0 (БП) пользователи часто сталкиваются с критической ошибкой в процессе загрузки документов. Чаще всего это происходит при передаче документа Поступление товаров и услуг. Программа выдает системное сообщение, указывающее на ошибку в обработчике события ПослеЗагрузкиОбъекта, сообщая, что предопределенное значение Перечисления.ОтражениеВУСН.Принимаются не найдено.
В данной статье мы подробно разберем причины возникновения этой ситуации, проанализируем архитектурные различия между базами и изучим пошаговые методы решения проблемы.
Для начала выясним, почему возникает этот сбой. Ошибка фиксируется в модуле Обработка.КонвертацияОбъектовИнформационныхБаз. Это происходит в тот момент, когда база-приемник (Бухгалтерия) пытается выполнить программный код, прописанный в правилах обмена (ПКО). Код обращается к объекту метаданных Перечисления.ОтражениеВУСН.
Главная проблема заключается в том, что в конфигурации 1С:Розница данный объект метаданных (перечисление) физически отсутствует. Это логично: «Розница» предназначена для оперативного торгового учета и не содержит механизмов для полноценного ведения Книги учета доходов и расходов (КУДиР). Весь сложный налоговый учет по системе УСН (особенно «Доходы минус расходы») сосредоточен в «Бухгалтерии предприятия».
Когда правила обмена универсальны или устарели, они могут пытаться найти значение перечисления в контексте текущей базы (в данном случае — в Рознице во время инициализации обмена или в БП, если код написан некорректно для конкретного релиза). В результате система не может найти идентификатор Принимаются и выполнение обмена прерывается.
Прежде чем приступать к программным правкам, нам необходимо убедиться, что используемые версии программ совместимы. Фирма 1С регулярно выпускает обновления, исправляющие ошибки в правилах синхронизации.
.../1cv8/tmplts/1c/Retail/номер_релиза/Обмены данными...) находятся актуальные файлы правил в формате .xml.Зачастую простое обновление обеих конфигураций до актуальных релизов полностью снимает проблему, так как разработчики уже внесли исправления в модуль КонвертацияОбъектовИнформационныхБаз.
Если обновление не помогло, проанализируем используемую технологию обмена. Существует два основных способа:
Мы рекомендуем использовать формат EnterpriseData. Его преимущество в том, что база-источник (Розница) выгружает только бизнес-данные (номенклатуру, количество, цену), не заботясь о бухгалтерских счетах или специфических перечислениях УСН. База-приемник (Бухгалтерия) принимает этот пакет данных и сама, на основании настроек Учетной политики организации в БП, подставляет нужные значения, такие как «Расходы принимаются».
Разберем, как проверить настройки в БП:
Этот способ подойдет для специалистов, если типовые механизмы не работают. Нам потребуется программный продукт 1С:Конвертация данных 2.1. Рассмотрим алгоритм действий:
Регистрация изменений для обмена или из настроек синхронизации).ПоступлениеТоваровУслуг.ПослеЗагрузки. Скорее всего, там обнаружится строка кода, похожая на эту:
// Опасный код, вызывающий ошибку
Объект.РасходыУСН = Перечисления.ОтражениеВУСН.Принимаются;
Проанализируем ситуацию: этот код пытается найти предопределенное значение напрямую. Чтобы сделать его безопасным, заменим прямое обращение на поиск по имени, который будет корректно отрабатывать в базе-приемнике:
// Безопасный код
ИмяЗначения = "Принимаются";
Объект.РасходыУСН = ПредопределенноеЗначение("Перечисление.ОтражениеВУСН." + ИмяЗначения);
После внесения правок необходимо выгрузить правила обратно в .xml файл и обновить их в настройках синхронизации в «Рознице».
Посмотрим на ситуацию со стороны методологии учета, которую затронул автор в сообщении №10. Если компания использует УСН + ЕНВД, важно правильно разделять потоки товаров. Рассмотрим, как это должно работать:
Реализация товаров должны выгружаться в БП как оптовые продажи.Выясним, как быть с реквизитом «Расходы УСН» в Рознице. Несмотря на то, что вы включили УСН в настройках Розницы, этот реквизит в документах может не отображаться или не заполняться. Это нормально. Задача Розницы — передать факт поступления товара. Задача БП — определить, можно ли принять этот товар в расходы по КУДиР (оплачен ли он поставщику, реализован ли он конечному покупателю).
Подведем итог: если вы столкнулись с ошибкой Предопределенное значение не найдено, в 90% случаев это лечится обновлением конфигураций до последних релизов, где исправлены правила сопоставления объектов метаданных. В остальных случаях поможет переход на формат EnterpriseData или точечная правка правил в Конвертации данных.