При настройке типового обмена данными между конфигурациями 1С:Розница и 1С:Бухгалтерия предприятия 3.0 (БП) пользователи часто сталкиваются с неприятной проблемой. Документ Поступление товаров успешно переносится из Розницы в Бухгалтерию, однако отказывается автоматически проводиться. При детальном рассмотрении выясняется, что поле Тип цен в БП оказывается заполненным некорректной «битой» ссылкой вида (207...... и т.д.) или отображает предупреждение Объект не найден. При этом в самой Рознице у документа поступления вообще нет реквизита Тип цен.
В этой статье мы подробно разберем, почему возникает эта ошибка, как устроен механизм сопоставления цен между базами и как исправить эту проблему без программирования (а также с помощью точечной доработки правил конвертации, если это потребуется).
---
Для начала разберемся, откуда в 1С:Бухгалтерии берется значение типа цен, если в исходном документе в 1С:Рознице его нет. При типовом обмене конфигурация-источник («Розница») пытается передать в базу-приемник информацию, необходимую для заполнения всех обязательных реквизитов.
Логика работы правил конвертации данных в данном случае следующая:
Правило ценообразования.Типы цен номенклатуры.Если на стороне БП соответствующий тип цен еще не создан, или если при выгрузке передается только уникальный идентификатор (GUID) без самого объекта, БП записывает в поле документа «битую» ссылку. Документ без правильно заполненного типа цен провести невозможно.
Еще одна частая причина сбоев — рассинхронизация версий правил обмена. Конфигурации 1С:Розница и 1С:Бухгалтерия обновляются с разной периодичностью. Если в одной из баз используются устаревшие правила конвертации, в процессе загрузки могут возникать ошибки формата:
Поле объекта не обнаружено (РедактированиеТолькоВДиалоге)
---
Самое простое и правильное решение, не требующее изменения программного кода, — актуализация правил конвертации данных. Программа «1С:Бухгалтерия» обычно содержит в себе наиболее свежие и доработанные правила для обмена со смежными конфигурациями.
Выполним следующие шаги для выравнивания правил:
.../1c/Accounting/[Номер_Текущей_Версии_БП]/Обмены данными/Обмен с конфигурацией Розница, ред. 2/.... Нам понадобится файл правил конвертации (обычно с расширением .xml)..xml из каталога шаблонов БП и выполним загрузку.После обновления правил в БП автоматически создастся тип цен, имя которого будет соответствовать правилу ценообразования из Розницы. Этот тип цен корректно подставится в документ Поступление товаров, и документ проведется.
---
Даже после исправления правил обмена документ может не проводиться в Бухгалтерии, если учет товаров в рознице на стороне БП ведется по продажным ценам (с использованием счета 42 «Торговая наценка»).
В этом случае БП при проведении поступления обязана рассчитать торговую наценку. Для этого ей жизненно необходима розничная (продажная) цена товара. Если в Рознице цена на поступивший товар не была установлена, или эти данные не передались при обмене, проведение заблокируется.
Выполним проверку по шагам:
Установка цен номенклатуры (УЦН) и розничные цены актуальны на дату поступления.---
Если вам требуется, чтобы в документы поступления в БП всегда жестко подставлялся один и тот же тип цен (например, «Закупочная»), вне зависимости от правил ценообразования в Рознице, можно точечно доработать правила обмена с помощью конфигурации 1С:Конвертация данных 2.1.
Рассмотрим алгоритм изменения правил:
ТипЦен документа ПоступлениеТоваровУслуг.
// Значение = Источник.Магазин.ПравилоЦенообразования;
Значение = СправочникСсылка.ТипыЦенНоменклатуры.НайтиПоНаименованию("Закупочная", Истина);
Обратите внимание: Перед проведением обмена с измененными правилами рекомендуется протестировать их работу на копиях баз или на одном тестовом документе, предварительно создав резервную копию (бэкап) исходных правил обмена.