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