Как реализовать ЭДО в 1С 7.7: выбор между УПД и ТОРГ-12 и технические особенности выгрузки

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

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

Выбор формата документа: УПД или ТОРГ-12?

Проанализируем текущую ситуацию в законодательстве. На сегодняшний день ФНС России настойчиво рекомендует использовать формат УПД (Универсальный передаточный документ). Рассмотрим основные причины:

  1. Универсальность: УПД заменяет собой одновременно и счет-фактуру, и первичный документ (накладную или акт). В электронном виде это реализуется через различные статусы документа.
  2. Поддержка маркировки: Если ваша организация работает с маркированными товарами («Честный ЗНАК»), формат ТОРГ-12 (по приказу № 551) практически непригоден. Передача кодов маркировки DataMatrix корректно автоматизирована именно в формате УПД.
  3. Актуальность приказов: Старый формат ТОРГ-12 (DP_TOVTORGPR) постепенно вытесняется. Основным рабочим стандартом долгое время был приказ ФНС № 820, а с 2024 года в силу вступил новый приказ № ЕД-7-26/970@.

Выясним разницу в структуре электронных файлов, которые часто упоминаются в модулях обмена:

Техническая реализация в 1С 7.7

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

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

Самый надежный способ для 1С 7.7 — это использование внешних компонент и обработок от операторов ЭДО (Диадок, СБИС). Проанализируем их преимущества:

Операторы предоставляют готовые .ert обработки, которые умеют подключаться к базе через COM-соединение или работать как внешние отчеты. Они уже содержат актуальные схемы XSD и логику формирования XML-файлов. Однако, как отмечают специалисты, внедрение таких модулей в сильно измененные (нетиповые) конфигурации требует доработки кода в части сопоставления полей документов 1С и тегов XML.

Вариант 2: Самостоятельное формирование XML-выгрузки

Если вы решили писать выгрузку с нуля, рассмотрим структуру процесса. Выясним, какие инструменты потребуются для формирования файла формата УПД (например, по приказу № 820 или № 970).

Для работы с XML в 1С 7.7 традиционно используется объект MSXML2.DOMDocument. Проанализируем пример логики формирования заголовка файла:


// Создание объекта DOM для формирования XML
ДокументXML = СоздатьОбъект("MSXML2.DOMDocument");
УзелФайл = ДокументXML.createElement("Файл");
УзелФайл.setAttribute("ИдФайл", СформироватьИдентификаторФайла());
УзелФайл.setAttribute("ВерсПрог", "1C:7.7 TiS");
УзелФайл.setAttribute("ВерсФорм", "5.01"); // Для приказа 820
ДокументXML.appendChild(УзелФайл);

Важный нюанс: При формировании СЧФДОП необходимо строго соблюдать вложенность узлов. Сначала описываются сведения о продавце и покупателе (СвПрод, СвПокуп), затем сведения о товарах (ТаблСчФакт). Посмотрим на пример заполнения строки товара:


УзелСведенияТовар = ДокументXML.createElement("СведенияТовара");
УзелСведенияТовар.setAttribute("НаимТов", СокрЛП(Запрос.Товар.Наименование));
УзелСведенияТовар.setAttribute("ОКЕИ_Тов", Запрос.Товар.БазоваяЕдиница.Код);
УзелСведенияТовар.setAttribute("КолТов", Запрос.Количество);
УзелСведенияТовар.setAttribute("ЦенаТов", Запрос.Цена);
УзелСведенияТовар.setAttribute("СтТовБезНДС", Запрос.СуммаБезНДС);

Проблемы кодировок и протоколов в 1С 7.7

Рассмотрим критические сложности, с которыми вы столкнетесь при работе с ЭДО на платформе 7.7:

  1. Кодировка UTF-8: Стандартные средства 1С 7.7 работают в кодировке Windows-1251. Для формирования корректного XML в формате UTF-8 (требование ФНС) необходимо использовать либо библиотеку V7Plus.dll, либо сторонние компоненты типа ADODB.Stream для перекодировки.
  2. Безопасность TLS 1.2: Современные API операторов ЭДО требуют защищенного протокола TLS 1.2. Платформа 7.7 его не поддерживает. Если вы планируете отправку документов напрямую из 1С, вам придется использовать внешние консольные утилиты (например, curl) или писать обертку на .NET (C#).
  3. Машиночитаемые доверенности (МЧД): С сентября 2024 года подписание документов требует наличия идентификатора МЧД. Встроить работу с реестром МЧД непосредственно в 1С 7.7 крайне сложно, поэтому чаще всего используется схема «Выгрузка из 1С в XML -> Загрузка в личный кабинет оператора -> Подписание в ЛК».

Итоги и рекомендации

Проанализировав ситуацию, мы приходим к следующим выводам. Если перед вами стоит задача внедрения ЭДО в 1С 7.7:

Во-первых, откажитесь от формата ТОРГ-12 в пользу УПД (статус 1 или 2). Это избавит вас от проблем с маркировкой и обеспечит совместимость с требованиями контролирующих органов на годы вперед.

Во-вторых, если бюджет позволяет, приобретите готовый интеграционный модуль (например, от Контур.Диадок или СБИС). Даже если его придется «допиливать» под вашу специфику, это в разы быстрее, чем описывать сотни тегов XML по XSD-схемам ФНС вручную.

В-третьих, если вы пишете выгрузку самостоятельно, используйте актуальные XSD-схемы с сайта налоговой (приказ № 970), так как переходный период для старых форматов закончится 1 апреля 2025 года. Помните о необходимости корректного формирования узлов для передачи сведений о стране происхождения товара и номерах ГТД, что является обязательным требованием для электронных счетов-фактур.

← На главную