При настройке стандартного обмена данными между конфигурациями «1С:Бухгалтерия предприятия 3.0» и «1С:Управление торговлей 11» пользователи часто сталкиваются с ситуацией: документы Установка цен номенклатуры успешно переносятся в УТ 11, проводятся без системных ошибок, но в карточках номенклатуры история цен остается пустой, а в отчетах и документах продажи новые цены не подставляются.
Разберем подробнее, почему возникает такое поведение системы, как устроена запись движений цен в УТ 11 и какими способами можно исправить ситуацию.
Проанализируем цепочку данных в программе. Если открыть карточку номенклатуры в УТ 11 и перейти к истории изменения цен, отсутствие записей означает, что документ Установка цен номенклатуры не сформировал записей в регистре сведений ЦеныНоменклатуры. Даже если документ визуально проведен (отмечен зеленой галочкой), фактических движений по регистрам в базе может не быть.
Выясним причину такого поведения. Для этого сопоставим документ, созданный вручную непосредственно в УТ 11, и документ, загруженный из БП 3.0 через типовую синхронизацию EnterpriseData.
ТипыЦенНоменклатуры, а документ делает прямолинейную запись. В УТ 11 ценообразование многофакторное и опирается на справочник ВидыЦен, правила расчета, способы задания цен и округления. Документ в УТ 11 содержит сложные табличные части (ВидыЦен, Товары и вспомогательные структуры данных), которые при трансляции из БП могут заполняться не полностью.Рассмотрим по шагам варианты исправления ситуации в зависимости от требований к учету и доступных инструментов.
Если документов немного, проверим их заполнение вручную:
Установка цен номенклатуры в базе УТ 11.ВидыЦен установлен способ задания «Ручное назначение».ЦеныНоменклатуры.Когда документов загружено много, воспользуемся штатной обработкой Групповое изменение реквизитов:
Установка цен номенклатуры и настроим отбор по нужным документам (например, по автору или дате обмена).Статус и зададим ему значение Согласован (или Действует в зависимости от используемого релиза УТ).Если обмен выполняется регулярно, настроим автоматическое заполнение необходимых реквизитов при импорте в УТ 11. Для этого переопределим обработчик события формата EnterpriseData (например, в обработчике ПослеЗагрузкиОбъекта или правилах конвертации данных):
// Пример логики заполнения статуса при загрузке документа
Если ТипЗнч(Объект) = Тип("ДокументОбъект.УстановкаЦенНоменклатуры") Тогда
Объект.Статус = Перечисления.СтатусыУстановокЦенНоменклатуры.Согласован;
// При необходимости обеспечиваем заполнение строк табличной части ВидыЦен
КонецЕсли;
Такой подход позволит документам автоматически переходить в активный статус сразу при завершении сеанса синхронизации.
Наиболее надежный подход, исключающий расхождения метаданных, — перенос процесса установки цен в ведущую систему УТ 11. В этом случае прайс-листы и установки цен формируются в рабочем месте «Цены (прайс-лист)» в УТ 11, после чего зарегистрированные цены штатно выгружаются в БП 3.0 без потери реквизитов и структурных различий.