Автоматизация распределенной торговой сети — классическая, но ответственная задача. Когда в контуре задействованы разнородные конфигурации разных поколений (управляемые формы в 1С:Розница 2.2 и 1С:Бухгалтерия предприятия 3.0, а также обычные формы в устаревшей 1С:Управление торговлей 10.3), неправильный выбор топологии неизбежно приводит к хаосу: дублированию номенклатуры, блокировкам баз данных и нестыковкам в бухгалтерских регистрах.
Разберем детально, как правильно выстроить архитектуру обменов, защитить базу от «засемерения» справочников, передавать оперативные остатки и связать все узлы в единый стабильный комплекс.
Типичная ошибка начинающих специалистов — попытка настроить прямую выгрузку из каждого из семи магазинов «Розницы» непосредственно в базу 1С:Управление торговлей 10.3. При такой схеме складская база УТ быстро превращается в узкое горлышко: при одновременном обмене возникают взаимоблокировки транзакций, а кассовые узлы начинают затирать данные друг друга.
Проанализируем проверенную и надежную топологию обмена:
1С:Розница 2.2 (главная база центрального офиса). Семь магазинов подключаются к нему через штатный механизм Распределенной информационной базы (РИБ по магазинам). На уровне встроенных фильтров плана обмена документы и кассовые движения разделяются по магазинам, исключая попадание лишней информации на периферию.1С:Розница 2.2 и 1С:Управление торговлей 10.3. Периферийные магазины вообще ничего не знают об УТ.1С:Бухгалтерия предприятия 3.0, передавая консолидированные документы реализации и розничной выручки для регламентированного учета.Преимущество распределенной базы в розничном контуре очевидно: система гарантирует единое пространство дисконтных карт, подарочных сертификатов и централизованное ведение нормативно-справочной информации (НСИ).
Главный риск при объединении нескольких рабочих баз — появление одинаковых товаров с разными кодами. Если каждый магазин начнет заводить номенклатуру самостоятельно, синхронизация сольет их воедино с образованием множественных дублей.
Для предотвращения этой проблемы реализуем регламент мастер-системы (MDM):
УТ 10.3, либо центральный узел Розницы 2.2.СправочникСсылка.Номенклатура.GUID). Если в базах уже есть исторические справочники, заведенные вручную, их идентификаторы различаются. В этом случае в правилах конвертации настраиваем поиск по уникальным бизнес-ключам: реквизиту Артикул, Код или записям регистра сведений ШтрихкодыНоменклатуры.СоответствиеОбъектовДляОбмена. При первичной синхронизации выполняем ручное сопоставление позиций, чтобы зафиксировать однозначные связки идентификаторов между УТ и центральной Розницей.Выясним причину технической сложности стыковки данных конфигураций. Конфигурации Розница 2.2 и БП 3.0 построены на базе Библиотеки стандартных подсистем (БСП) и применяют формат EnterpriseData (механизм XDTO). В то же время УТ 10.3 — конфигурация прежнего поколения, работающая по классическим правилам обмена конфигурации Конвертация данных 2.1 через формат XML.
Для организации обмена УТ 10.3 — Розница 2.2 доступны два рабочих пути:
COMConnector разрядность платформы клиента и сервера должна строго совпадать.Стандартный план обмена регистрирует изменения только ссылочных объектов (документов, справочников) и не предназначен для трансляции виртуальных итогов регистров накопления, таких как свободные складские остатки.
Чтобы продавцы в магазинах могли видеть доступные остатки центрального склада для оперативного заказа, рассмотрим два практических решения:
Посмотрим на пример структуры функции в 1С, выполняющей онлайн-запрос остатка к центральной базе через HTTP:
Функция ПолучитьОстатокНаСкладе(ИдентификаторТовара) Экспорт
Соединение = Новый HTTPСоединение("192.168.1.10", 80, "WebUser", "SecretPass", , 5);
Запрос = Новый HTTPЗапрос("/ut10_base/hs/stock/get?id=" + XMLСтрока(ИдентификаторТовара));
Попытка
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
Данные = ПрочитатьJSON(ЧтениеJSON);
Возврат Данные.Остаток;
КонецЕсли;
Исключение
ЗаписьЖурналаРегистрации("СвязьСУТ", УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки());
Возврат 0;
КонецПопытки;
КонецФункции
Для передачи данных бухгалтеру, работающему удаленно, используется штатный обмен между УТ 10.3 и БП 3.0. Выгрузка розничной выручки выполняется через сводные документы ОтчетОРозничныхПродажах, а оптовые отгрузки со склада — через документы РеализацияТоваровИУслуг.
При настройке бухгалтерского обмена необходимо проконтролировать следующие параметры:
62.Р, 57.03 (эквайринг) и 90.01.УТ 10.3 снята с активного развития, регулярные изменения законодательства и форм отчетности в БП 3.0 требуют ручной корректировки правил конвертации с помощью конфигурации Конвертация данных 2.1.Итог: описанная трехуровневая схема (РИБ в контуре магазинов + единый центральный узел «Розницы» + складская «УТ 10.3» + удаленная «БП 3.0») гарантирует надежную работу сети, исключает появление дублей номенклатуры и обеспечивает корректный учет товарных и финансовых потоков.