Как организовать ведение учета одновременно в 1С:УПП и 1С:ERP при поэтапном переходе?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет IT и автоматизация бизнеса
← На главную

Переход с 1С:УПП на 1С:ERP — это масштабный процесс, который редко удается осуществить одним днем. Одной из популярных стратегий является постепенный вынос функциональных блоков (например, «Продажи») в новую систему с сохранением остального учета в старой базе. Рассмотрим подробнее, насколько жизнеспособна идея «гибридного» использования систем, с какими архитектурными барьерами придется столкнуться и какие инструменты интеграции выбрать.

Анализ концепции раздельного учета

Идея перенести блок продаж в ERP, оставив производство и регламентированный учет в УПП, на первый взгляд кажется логичной. Мы планируем перенести точку ввода справочников Номенклатура, Партнеры и документов ЗаказПокупателя в новую систему. Однако сразу возникает вопрос синхронизации данных: заказы должны улетать в УПП, а обратно должны возвращаться КорректировкиЗаказа, Реализации и Возвраты. Разберем основные сложности, которые делают эту задачу нетривиальной.

Выбор технологии обмена данными

Проанализируем доступные методы интеграции двух систем, учитывая их технологические различия:

  1. Конвертация данных 2.1 (КД 2.1): Это классический и наиболее гибкий путь. Поскольку архитектуры систем принципиально разные, стандартные правила не подойдут. Потребуется написание правил обмена вручную, что позволяет реализовать любую произвольную логику сопоставления объектов.
  2. EnterpriseData (ED): В современных релизах УПП появилась поддержка обмена через универсальный формат данных. Однако стоит учитывать, что в УПП этот механизм реализован как «надстройка» над старым ядром. Многие специфические поля могут не передаваться «из коробки», что потребует сложной доработки XDTO-пакетов.
  3. Web-сервисы: Рассмотрим этот вариант для оперативной синхронизации НСИ. Использование веб-сервисов позволяет реализовать бесшовную интеграцию: как только в ERP создается новый контрагент, он мгновенно появляется в УПП. Это исключает дублирование данных и ошибки ручного ввода.

Архитектурный барьер: Партнеры и Контрагенты

Выясним причину одной из главных трудностей — различия в справочниках субъектов. В 1С:ERP реализована двухуровневая модель: Партнеры (управленческие сущности) и Контрагенты (юридические лица). В УПП существует только справочник Контрагенты.

Проанализируем ситуацию: если в ERP один партнер объединяет несколько юридических лиц, то при выгрузке документа в УПП системе «непонятно», какого именно контрагента подставить. Для решения этой задачи нам придется либо жестко ограничить использование партнеров в ERP (соотношение 1:1), либо прописывать в правилах обмена сложную логику поиска связок.

Проблема единиц измерения и упаковок

Разберем, почему «расползаются» остатки при обмене. В ERP структура хранения единиц измерения гораздо сложнее, чем в УПП. Здесь активно используются Упаковки, наборы единиц измерения и коэффициенты пересчета, специфичные для конкретных складских операций.

При передаче данных из ERP в УПП часто возникают погрешности округления. Если в ERP отгрузка идет в упаковках, а в УПП документ должен быть сформирован в базовых единицах, разница в копейках в суммах НДС или дробные остатки в 0.000001 на складе практически неизбежны. Рекомендуется заранее унифицировать классификатор единиц измерения в обеих базах и отказаться от использования сложных упаковок на этапе параллельной работы систем.

Цепочки ЭДО в распределенной среде

Посмотрим на ситуацию с электронным документооборотом. Если заказы приходят в ERP через ЭДО (например, Контур), а реализации создаются в УПП, возникает разрыв технологической цепочки. Сообщения типа ORDER (Заказ) и DESADV (Уведомление об отгрузке) должны быть связаны уникальными идентификаторами (ID) в рамках одной сессии оператора.

Чтобы цепочка не прерывалась, нам придется передавать технические ID сообщений ЭДО из ERP в УПП вместе с данными заказа. Только в этом случае УПП сможет корректно отправить ответный документ так, чтобы система контрагента «узнала» его и привязала к исходному заказу. Это требует серьезной доработки модулей интеграции с операторами ЭДО в обеих конфигурациях.

Практическая реализация обмена на Web-сервисах

Если мы выбираем путь интеграции через веб-сервисы для обеспечения высокой скорости работы, логика взаимодействия может выглядеть следующим образом. В УПП создается точка подключения, которая принимает данные от ERP. Рассмотрим пример логической структуры такого обмена:


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

При таком подходе мы получаем моментальный отклик и можем сразу вывести пользователю сообщение, если документ не прошел валидацию в базе-приемнике.

Риски и рекомендации

Подводя итог, проанализируем основные риски «гибридного» существования систем:

Рекомендация: Если вы решились на этот шаг, выделите одну систему как «Мастер-базу» для ведения НСИ (лучше ERP). Все новые позиции номенклатуры и контрагенты должны создаваться только там. Для документов используйте ПланыОбмена с обязательной регистрацией успешности загрузки. Если объем документов велик, рассмотрите возможность выноса в ERP не только продаж, но и складского учета, чтобы минимизировать количество межсистемных проводок по товарам.

← На главную