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