Как организовать выгрузку УПД и ТОРГ-12 в XML для передачи в ЭДО из 1С 7.7?

Программист 1С v7.7 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Организация электронного документооборота (ЭДО) в конфигурациях на платформе 1С:Предприятие 7.7 (например, в «Торговля и Склад 7.7») представляет собой нетривиальную задачу. Платформа 7.7 создавалась задолго до появления современных стандартов юридически значимого документооборота и форматов ФНС, поэтому в ней отсутствуют нативные механизмы для прямого формирования, валидации и подписания электронных документов.

Разберем основные ограничения платформы, причины возникновения сложностей и проверенные архитектурные варианты решения этой задачи.

Ограничения платформы 1С 7.7 и типовых конфигураций

Проанализируем ключевые сложности, с которыми сталкиваются разработчики при внедрении ЭДО в «семерке»:

  1. Отсутствие встроенных инструментов работы с XML: В 1С 7.7 нет специализированных объектов для сериализации структуры данных по XSD-схемам (таких как ФабрикаXDTO или ЗаписьXML в версии 8). Формирование структуры возможно либо через прямую построчную запись текстового файла объектом Текст, либо с привлечением внешних COM-объектов операционной системы (например, MSXML2.DOMDocument).
  2. Отсутствие поддержки криптографии: Платформа не умеет нативно взаимодействовать с криптопровайдерами (СКЗИ), ГОСТ-сертификатами, метками доверенного времени и машиночитаемыми доверенностями (МЧД).
  3. Недостаток учетных реквизитов: В типовой конфигурации «Торговля и Склад 7.7» отсутствуют поля, обязательные для форматов ФНС:
    • Идентификаторы участников документооборота (GUID оператора и контрагента).
    • Коды стран и единиц измерения строго по классификаторам ОКСМ и ОКЕИ.
    • Сведения о прослеживаемости, коды ТН ВЭД и коды маркировки («Честный ЗНАК»).
    • Расширенные данные подписантов и оснований их полномочий.
  4. Строгие требования к именованию файлов и экранированию: Имена файлов УПД строятся по жестким маскам (например, с префиксами ON_NSCHFDOPPR или ON_NSCHFDOPPOK). При формировании XML вручную критично корректно экранировать специальные символы (&, <, >, ", ') и строго соблюдать кодировку.

Вариант 1. Использование типовых решений и обработок от операторов ЭДО

Большинство крупных операторов ЭДО («Контур.Диадок», «СБИС», «Такском» и др.) разрабатывали собственные внешние обработки (файлы .ert) или внешние компоненты для платформы 7.7.

Рассмотрим порядок действий при таком подходе:

  1. Запрос у провайдера: Обратимся в техническую поддержку или личный кабинет обслуживающего оператора ЭДО и запросим интеграционный модуль/обработку для 1С 7.7 («Торговля и Склад» редакции 9.2).
  2. Адаптация под учетную базу: Поскольку готовые модули рассчитаны на типовую конфигурацию, их почти всегда приходится дорабатывать. Если в базу вносились изменения или требуется передавать специфические данные по контрагентам (например, для торговых сетей вроде X5 Group), модуль дорабатывается программистом под конкретные правила заполнения.
  3. Использование COM-библиотек (SDK / API): Многие провайдеры предоставляют COM-библиотеку, которую можно инициализировать в коде 7.7 с помощью метода СоздатьОбъект(). Это позволяет прямо из интерфейса отправлять документы через API оператора.

Вариант 2. Разделение генерации XML и отправки (Каталожный обмен / Папочный агент)

Если нет возможности или необходимости встраивать подписание прямо в 1С 7.7, наиболее стабильным решением является разделение контуров:

  1. Формирование файла в 1С 7.7: Пишется внешняя обработка, которая собирает данные из документа реализации (или счета-фактуры) и формирует XML-файл в соответствии с актуальным приказом ФНС, сохраняя его в выделенный каталог на диске.
  2. Хранение служебных данных: Чтобы не менять структуру метаданных и не снимать конфигурацию с поддержки, дополнительные параметры (GUID контрагента, формат, сертификат) можно хранить во внешних настроечных файлах (INI, XML) или в служебных полях справочников (например, в реквизите Комментарий справочника Контрагенты).
  3. Автоматическая отправка агентом: На компьютере пользователя запускается локальный агент оператора ЭДО. Он отслеживает появление XML-файлов в папке, автоматически подписывает их локальным сертификатом электронной подписи и отправляет через шлюз оператора контрагенту. Также файл можно загрузить вручную через веб-кабинет оператора.

Вариант 3. Использование промежуточной базы 1С 8 («1С:Клиент ЭДО»)

Поскольку форматы ФНС регулярно меняются, поддержание актуальности самописных схем выгрузки в 1С 7.7 требует постоянных трудозатрат программиста. Практичным архитектурным решением является вынос работы с ЭДО в современную платформу:

  1. Из 1С 7.7 настраивается автоматическая выгрузка стандартных документов реализации в промежуточную базу 1С 8 (например, бесплатную конфигурацию «1С:Клиент ЭДО» или «1С:Бухгалтерия 8»).
  2. Обмен данными может выполняться через промежуточные файлы обмена или прямое COM-соединение.
  3. Вся сложная работа по проверке XSD-схем, интеграции с криптопровайдерами, автоматическому получению обновлений форматов УПД, работе с МЧД и маркировкой выполняется штатными механизмами современной платформы «1С:Предприятие 8.3».
← На главную