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