При автоматизации розничной сети с наличием производственных или сложных складских операций часто возникает задача связать конфигурации 1С:Комплексная автоматизация 2 (КА) и 1С:Розница 2. Типового прямого пункта обмена в меню синхронизации данных между этими конфигурациями нет. Рассмотрим, насколько применим штатный универсальный формат (EnterpriseData), с какими скрытыми техническими проблемами придется столкнуться при его внедрении и как правильно организовать обмен данными.
Настроить синхронизацию между 1С:КА 2 и 1С:Розница 2 штатными средствами платформы 1С:Предприятие 8.3 возможно. Для этого используется план обмена СинхронизацияДанныхЧерезУниверсальныйФормат. При создании настройки в обеих конфигурациях необходимо выбрать пункт «Другая программа».
Однако при попытке запустить обмен «из коробки» пользователи сталкиваются с тем, что выгружается только базовая справочная информация (наименования номенклатуры), тогда как критически важные для розницы данные — штрихкоды, характеристики и цены — в базу-приемник не попадают либо переносятся некорректно. Разберем детально, почему это происходит.
Номенклатура, а в независимом регистре сведений ШтрихкодыНоменклатуры. В типовом плане обмена универсального формата для этого регистра отсутствует авторегистрация изменений. При создании или изменении штрихкода сам элемент номенклатуры не модифицируется, и запись об изменении на узле обмена не фиксируется. Кроме того, в обработчиках выгрузки EnterpriseData ранних версий выгрузка структуры штрихкодов нередко вовсе пропускалась.УстановкаЦенНоменклатуры и записываются в регистр сведений ЦеныНоменклатуры в разрезе видов цен. В 1С:Розница 2 ценообразование жестко завязано на магазины, правила ценообразования и специализированные виды цен (розничные, учетные). Прямого сопоставления между логикой распределения цен центральной базы КА и торговыми точками Розницы в универсальном формате по умолчанию не предусмотрено. В результате документ установки цен либо не выгружается, либо не может создать применимые цены в Рознице.Если архитектурно решено использовать EnterpriseData, необходимо доработать выгрузку данных без снятия конфигураций с поддержки. Наиболее технологичный способ — использовать механизм расширений.
Разберем по шагам, что требуется реализовать:
ПриЗаписи для набора записей регистра сведений ШтрихкодыНоменклатуры. В обработчике события программно регистрируем саму номенклатуру на узле плана обмена:
Процедура Расш_ШтрихкодыНоменклатурыПриЗаписи(Источник, Отказ, Замещение) Экспорт
Если Источник.Количество() = 0 Тогда
Возврат;
КонецЕсли;
УзелОбмена = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.НайтиПоНаименованию("Розница");
Если ЗначениеЗаполнено(УзелОбмена) Тогда
Для Каждого Запись Из Источник Цикл
ПланыОбмена.ЗарегистрироватьИзменения(УзелОбмена, Запись.Номенклатура);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
ОбменДаннымиПереносДанныхчерезУниверсальныйФормат, добавляя выборку записей регистра ШтрихкодыНоменклатуры и заполнение соответствующих XDTO-свойств пакета EnterpriseData.Торговый контур 1С:Комплексная автоматизация 2 практически полностью идентичен функционалу 1С:Управление торговлей 11. Для связки УТ 11 и Розницы 2 фирма «1С» поставляет специализированные правила конвертации данных, созданные на базе классической технологии «Конвертация данных 2.1».
Этот обмен изначально спроектирован под нужды розничной торговли и «из коробки» корректно переносит:
Чтобы задействовать этот механизм в КА 2, в конфигурацию (или расширение) переносится план обмена с Розницей из УТ 11. В самих правилах обмена достаточно скорректировать проверку имени конфигурации-источника, заменив УправлениеТорговлей на КомплекснаяАвтоматизация. Этот вариант значительно надежнее EnterpriseData, так как опирается на полностью отлаженную логику розничных процессов.
Проанализируем две альтернативы, которые часто оказываются более выгодными в сопровождении, чем поддержка регулярного обмена между тяжелыми базами:
Таким образом, штатно запустить обмен между КА 2 и Розницей 2 без доработок невозможно из-за фундаментальных пропусков в типовых правилах EnterpriseData (штрихкоды и ценообразование). Для успешной интеграции следует либо доработать модуль выгрузки через расширение, либо использовать адаптированные правила обмена УТ 11 – Розница 2, либо перевести розничные точки на прямое подключение к базе КА.