Работа с EDI и ЭДО в интеграционном модуле уп...
-

Работа с EDI и ЭДО в интеграционном модуле управляемых форм на 1С:Предприятие 8

0
313
01.09.2026 Лев Туренко

Содержание:

1.    Работа с «Заказами» в учетной системе 1С

2.    Работа с ответом на заказ (ORDRSP) в программе 1C:Предприятие

3.    Работа с уведомлением об отгрузке (DESADV)

4.    Работа с универсальным передаточным документом (УПД)

5.    Дополнительные возможности программы 1С

 

Интеграция с системами электронного документооборота (ЭДО) и электронного обмена данными (EDI) стала неотъемлемой частью автоматизации бизнеса. Компании, взаимодействующие с торговыми сетями, дистрибьюторами и поставщиками, всё чаще требуют полного цикла электронного обмена — от загрузки заказов до передачи УПД (универсального передаточного документа). А Платформа 1С:Предприятие 8 предоставляет гибкие возможности для настройки и интеграции подобных процессов через управляемые формы, модули интеграции и встроенные механизмы обмена. В этой статье рассмотрим практическую реализацию полного цикла EDI и ЭДО-документооборота в интеграционном модуле: от заказов до УПД, включая примеры кода и организационные аспекты настройки.


1.    Работа с «Заказами» в учетной системе 1С


Модуль интеграции EDI/ЭДО представляет собой набор управляемых форм, серверных процедур и обменных обработок, обеспечивающих двусторонний обмен документами с внешним провайдером. Как правило, взаимодействие выполняется через XML-файлы, размещаемые на FTP/HTTP-серверах или через REST API.


Модуль может быть реализован как отдельная подсистема «Электронный обмен», включающая объекты:

●      справочник «Партнёры EDI»;

●      регистр «Журнал обмена EDI»;

●      обработки «Загрузка заказов EDI», «Выгрузка ответов», «Формирование УПД».


Для начала нужно выстроить настройки событий для совершения операций, перед загрузкой «Заказа».



Настройка событий


На этапе настройки администратор задаёт путь к каталогу обмена или параметры API-сервиса (адрес, логин, пароль). Эти параметры сохраняются в регистре сведений:


Процедура УстановитьПараметрыEDI(АдресСервера, Пользователь, Пароль)

    Настройки = РегистрыСведений.ПараметрыEDI.СоздатьНаборЗаписей();

    Настройки.Очистить();

    Запись = Настройки.Добавить();

    Запись.АдресСервера = АдресСервера;

    Запись.Пользователь = Пользователь;

    Запись.Пароль = Пароль;

    Настройки.Записать();

КонецПроцедуры


Для внесения нового реквизита нужно обратиться к разделу «При запуске», как показано ниже:



Наименование


Для новых реквизитов нужно задать наименование и тип:



EUR


После настройки система готова к приёму заказов.


Процесс загрузки заказов EDI обычно выполняется по расписанию регламентным заданием. Программа проверяет наличие новых файлов (ORDERS), преобразует их в структуру данных и создаёт документы «Заказ покупателя» или «Заказ клиента».


Процедура ЗагрузитьORDERS()

    Файлы = НайтиФайлы(ПутьКФайлам, "*.xml");

    Для каждого Файл Из Файлы Цикл

        XML = Новый ЧтениеXML(Файл.ПолноеИмя);

        Заказ = Документы.ЗаказПокупателя.СоздатьДокумент();

        Заказ.Контрагент = НайтиКонтрагента(XML.ПокупательИНН);

       Заказ.НомерВнешнейСистемы = XML.Номер;

        Заказ.Дата = XML.Дата;

        Для каждого Позиция Из XML.Товары Цикл

            Стр = Заказ.Товары.Добавить();

            Стр.Номенклатура = НайтиНоменклатуру(Позиция.Код);

            Стр.Количество = Позиция.Количество;

        КонецЦикла;

        Заказ.Записать();

        ПереместитьФайлВАрхив(Файл);

    КонецЦикла;

КонецПроцедуры


Первым делом определяется тип заказа:



ЗаказКлиента


При этом, параметры настроек для «ORDERS», «ORDRSP» и «DESADV» должны быть идентичны:



ТипДокумента


Загруженные заказы автоматически помечаются в журнале обмена как «Приняты». Далее возможно формирование ответов ORDRSP.


2.    Работа с ответом на заказ (ORDRSP) в программе 1C:Предприятие


Ответ на заказ (ORDRSP) отражает подтверждение, частичное согласие или отказ по позициям заказа. В 1С он формируется на основе документа «Заказ покупателя» или «Заказ клиента» после проверки доступности номенклатуры на складе.


Пользователь формирует документ «Ответ на заказ» по кнопке «Создать ORDRSP» в карточке заказа.



Выполнить действие


Нужно обязательно сохранить «Причины расхождений» и посмотреть, что функция элемента поменялась на «Записаны коды причин Х5».


Так можно просмотреть «ORDRP»: 



Изменить


В модуле реализуется процедура формирования XML по шаблону, соответствующему требованиям EDI-провайдера:


Процедура СформироватьORDRSP(Заказ)

    XML = Новый ЗаписьXML;

    XML.ОткрытьФайл(Путь + Заказ.Номер + "_ORDRSP.xml");

    XML.ЗаписатьНачалоЭлемента("ORDRSP");

    XML.ЗаписатьАтрибут("Номер", Заказ.Номер);

    XML.ЗаписатьАтрибут("Дата", Формат(ТекущаяДата(), "ДФ=yyyy-MM-dd"));

    Для каждого Товар Из Заказ.Товары Цикл

        XML.ЗаписатьНачалоЭлемента("LineItem");

        XML.ЗаписатьАтрибут("Код", Товар.Номенклатура.Код);

        XML.ЗаписатьАтрибут("Количество", Товар.Количество);

        XML.ЗаписатьАтрибут("Статус", "Accepted");

        XML.ЗаписатьКонецЭлемента();

    КонецЦикла;

    XML.ЗаписатьКонецЭлемента();

    XML.Закрыть();

КонецПроцедуры


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


3.    Работа с уведомлением об отгрузке (DESADV)


Документ DESADV (Dispatch Advice) уведомляет торговую сеть о фактической отгрузке товаров. В 1С он формируется на основании реализации товаров и услуг или товарной накладной, после проведения которой система получает доступ к данным по упаковкам, серийным номерам и количеству мест.


Но для создания «DESADV» нужно убрать «галочки» со следующих пунктов, а на «Уведомление об отгрузке» выбрать «Обмен с сервером»:



Уведомление об отгрузке


Палетный лист — это вложенный элемент структуры DESADV, отражающий иерархию упаковки. Формирование документа в 1С реализуется как часть процедуры выгрузки:


Процедура СформироватьDESADV(Реализация)

    XML = Новый ЗаписьXML;

    XML.ОткрытьФайл(Путь + Реализация.Номер + "_DESADV.xml");

    XML.ЗаписатьНачалоЭлемента("DESADV");

    XML.ЗаписатьАтрибут("Номер", Реализация.Номер);

    XML.ЗаписатьАтрибут("Дата", Формат(Реализация.Дата, "ДФ=yyyy-MM-dd"));

    Для каждого Палета Из Реализация.Палеты Цикл

        XML.ЗаписатьНачалоЭлемента("Pallet");

        XML.ЗаписатьАтрибут("Номер", Палета.Номер);

        Для каждого Товар Из Палета.Товары Цикл

            XML.ЗаписатьЭлемент("Товар", Товар.Код);

        КонецЦикла;

        XML.ЗаписатьКонецЭлемента();

    КонецЦикла;

    XML.ЗаписатьКонецЭлемента();

    XML.Закрыть();

КонецПроцедуры


Наиболее частые параметры для «DESADV» отображены далее:



Наименование


После генерации файл помещается в каталог OUT, а в журнал обмена записывается событие «Уведомление об отгрузке сформировано». 


4.    Работа с универсальным передаточным документом (УПД)


Универсальный передаточный документ (УПД) объединяет функции счёта-фактуры и товарной накладной. В ЭДО используется два титула:

●      Титул продавца — создаётся и подписывается поставщиком;

●      Титул покупателя — формируется в ответ на подтверждение получения.


Модуль 1С поддерживает цепочку статусов:
«Подготовлен» → «Отправлен» → «Подписан» → «Подтверждён покупателем» → «Завершён».


Для создания УПД нужно обновить перечень «ON_SCHFDOPPR», а для отправки УПД существует кнопка «Выполнить действие»:



Выполнить действие


В управляемой форме реализуется кнопка «Сформировать УПД», вызывающая обработку:

Процедура СформироватьУПД(Реализация)

    УПД = Документы.УПД.СоздатьДокумент();

    УПД.Организация = Реализация.Организация;

    УПД.Контрагент = Реализация.Контрагент;

    УПД.Основание = Реализация.Ссылка;

    УПД.Сумма = Реализация.СуммаДокумента;

    УПД.Статус = "Подготовлен";

    УПД.Записать();

КонецПроцедуры


После записи документ передаётся в подсистему ЭДО, где автоматически подписывается электронной подписью организации. Получатель при подтверждении формирует титул покупателя, который возвращается и привязывается к исходному документу УПД.


Статус обновляется регламентным заданием:

Если УПД.ПолученТитулПокупателя Тогда

    УПД.Статус = "Подтверждён";

    УПД.Записать();

КонецЕсли;


5.    Дополнительные возможности программы 1С


Интеграционный модуль может быть расширен:

●      Журналом событий обмена (логирование ошибок, повторные попытки отправки);

●      Мониторингом документов с визуальной подсветкой статусов в управляемой форме;

●      Механизмом уведомлений пользователям о поступлении заказов и УПД;

●      Интеграцией с подсистемой «Задачи» для контроля ответственных лиц.

 

Интеграция EDI и ЭДО в управляемых формах 1С:Предприятие 8 позволяет автоматизировать весь цикл электронного взаимодействия между поставщиками и покупателями — от приёма заказов до обмена юридически значимыми документами.


Практика показывает, что внедрение такого модуля снижает ошибки операторов, сокращает время обработки заказов и повышает прозрачность документооборота.


Важнейшим условием успешной реализации является тщательная настройка параметров обмена и поддержание логики синхронизации между внутренней системой и внешними EDI-провайдерами. Таким образом, использование интеграционного модуля управляемых форм в 1С становится фундаментом современного электронного бизнеса, обеспечивая не только соответствие законодательству, но и конкурентное преимущество за счёт скорости и точности обработки данных.

 

Специалист компании ООО "Кодерлайн"

 Лев Туренко

Обсудить статью в Telegram Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.