Как перенести спецификации из УТП в ERP с автоматическим созданием этапов производства?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет Промышленность, строительство и АПК
← На главную

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

Вариант 1: Использование параметров при выгрузке

Если необходимо передать дополнительные данные из карточки Номенклатура (например, подразделение), которых нет напрямую в Спецификации, мы можем воспользоваться механизмом параметров Конвертации данных 2.1.

  1. В обработчике При выгрузке правила для объекта Спецификации на стороне источника вычисляем нужное значение (например, подразделение).
  2. Передаем это значение в структуру параметров:
    
    Параметры.Вставить("ПодразделениеДляЭтапа", Объект.Номенклатура.Подразделение);
    
  3. На стороне приемника, в обработчике После загрузки для Ресурсная спецификация, считываем этот параметр и создаем объект Этап производства.

Важно помнить, что объект Ресурсная спецификация в момент выполнения После загрузки уже существует в базе, что позволяет нам использовать его Ссылку как владельца для нового этапа.

Вариант 2: Двухпроходная схема переноса (Рекомендуемый подход)

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

  1. Первый проход: Выполняем стандартную выгрузку Спецификаций и всей связанной Номенклатуры. В базе ERP создаются все необходимые объекты.
  2. Второй проход: Запускаем специализированную внешнюю обработку, которая проходит по списку загруженных Ресурсных спецификаций.

Разберем, почему второй вариант является наиболее надежным:

Технические рекомендации

При реализации создания Этапов производства обратите внимание на следующие моменты:

Во-первых, Этап производства в ERP — это не просто запись, а часть производственного процесса. При его создании через код в После загрузки или отдельной обработкой, обязательно используйте методы Объект.Записать() или создание через Документы.ЭтапПроизводства.СоздатьЭлемент() (или справочник, если используется справочная структура).

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

В-третьих, если поиск владельца (Спецификации) вызывает ошибку, убедитесь, что объект Ресурсная спецификация был успешно записан. Используйте Объект.Ссылка только после вызова Записать().

Анализируя текущую задачу, мы приходим к выводу, что наиболее гибким методом является использование параметров для передачи контекста (если данные нужны для разового создания) или использование отложенного формирования данных после основного обмена. Это позволит избежать «замусоривания» правил Конвертации данных 2.1 и сделает процесс переноса более предсказуемым и легко поддерживаемым в будущем.

← На главную