Содержание:
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С становится фундаментом современного электронного бизнеса, обеспечивая не только соответствие законодательству, но и конкурентное преимущество за счёт скорости и точности обработки данных.
Специалист компании ООО "Кодерлайн"
Лев Туренко









