Транспортная накладная в XML: экспорт из 1С для ЭДО, ЕГАИС и другой базы

· 10 мин

Содержание

Выгрузить ТТН из 1С в XML можно тремя путями, и выбор зависит от того, куда пойдёт файл. Для контрагента или ГИС ЭПД нужна электронная транспортная накладная по формату ФНС — её формирует модуль ЭДО прямо из документа. Для ЕГАИС XML уходит через УТМ из документа «ТТН исходящая ЕГАИС». Для переноса в другую базу 1С используют обработку «Универсальный обмен данными в формате XML» с правилами КД 2.0 или синхронизацию в формате EnterpriseData.

Печатная форма ТН в XML не превращается: команда «Сохранить» в окне печати даёт Excel, PDF, Word или MXL. Если вам прислали требование «выгрузите ТТН в XML», сначала уточните, для какой системы нужен файл. От ответа зависят формат, схема и кодировка.

Какой XML нужен: три разных задачи

Под словами «ТТН в XML» скрываются разные файлы. Их нельзя подменять друг другом: оператор ЭДО не примет файл обмена между базами, а УТМ не поймёт формат ФНС.

Куда отправляемФормат файлаЧем формируется в 1СКто проверяет
Контрагент, перевозчик, ГИС ЭПДXML электронной транспортной накладной по формату ФНС, по титуламМодуль ЭДО (1С-ЭДО или другой оператор)Оператор ЭДО, затем ГИС ЭПД
ЕГАИС (алкоголь)XML документа WayBill по схеме ЕГАИСДокумент «ТТН исходящая ЕГАИС»УТМ и ЕГАИС
Другая база 1СXML обмена: КД 2.0 или EnterpriseDataУниверсальный обмен или синхронизация данныхПринимающая база
Сторонняя программа (WMS, TMS)Свой формат по договорённостиПравила КД, расширение или внешняя обработкаРазработчик интеграции

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

Подготовка транспортной накладной к выгрузке

XML строится из реквизитов документа. Пустое поле в карточке превращается в пустой или отсутствующий тег, и схема его не пропускает. Поэтому до выгрузки ТТН из 1С проверьте данные, а не файл.

Что заполнить в самой накладной

  • 🚚 Грузоотправитель и грузополучатель — организации с ИНН, КПП и адресом. Для ИП — ИНН и ОГРНИП.
  • 🏢 Перевозчик — организация или ИП, даже если везёте своим транспортом (тогда перевозчик — вы сами).
  • 🚗 Транспортное средство — марка и государственный регистрационный номер в том написании, которое принимает формат.
  • 👤 Водитель — ФИО полностью и, если требует оператор, данные водительского удостоверения.
  • 📍 Пункты погрузки и разгрузки — адреса, а не «склад №2».
  • 📦 Груз — наименование, количество мест, масса брутто. Масса — частая причина отказа: в номенклатуре не заполнен вес.
  • 📄 Сопроводительные документы — ссылка на реализацию или УПД, если она нужна получателю.

Где найти документ в разных конфигурациях

КонфигурацияГде искать транспортную накладную
1С:Управление торговлей 11, КА 2, ERPОтдельный документ «Транспортная накладная» в разделе склада и доставки; создаётся на основании реализации или задания на перевозку
1С:Бухгалтерия 3.0Печатная форма из документа «Реализация (акт, накладная, УПД)» через кнопку Печать; для электронной ТН в актуальных релизах есть отдельный объект, его быстро находит поиск по слову «транспортн» в разделе Продажи
1С:Розница, УТ 11 (алкоголь)Документ «ТТН исходящая ЕГАИС» в разделе ЕГАИС

Названия команд ЭДО меняются от релиза к релизу библиотеки электронных документов. Если кнопки нет там, где вы её ждёте, откройте в документе меню ЭДО или Ещё и найдите команду по смыслу: «создать», «отправить», «выгрузить в файл».

Электронная ТТН через ЭДО: выгрузка по формату ФНС

Это основной сценарий для автоперевозок. С 1 сентября 2022 года электронные перевозочные документы проходят через государственную информационную систему ГИС ЭПД. Файл ТН состоит из титулов: свой титул подписывает каждый участник.

ТитулКто заполняет и подписываетЧто в нём
Т1ГрузоотправительГруз, стороны, пункты, транспорт, водитель
Т2ПеревозчикПриём груза к перевозке
Т3ГрузополучательПриём груза, замечания
Т4ПеревозчикСдача груза, завершение перевозки

Грузоотправитель в 1С формирует первый титул. Остальные титулы приходят от других участников через оператора и ложатся в ту же цепочку документов.

Как сформировать и выгрузить титул грузоотправителя

  1. Подключите организацию к ЭДО: Администрирование → Обмен электронными документами. Нужен действующий сертификат КЭП и договор с оператором, который работает с ЭПД.
  2. Проверьте, что контрагенты-участники (перевозчик, получатель) приняли приглашение к обмену.
  3. Откройте транспортную накладную или реализацию, на основании которой она создаётся.
  4. В меню ЭДО выберите создание электронного документа. Программа соберёт XML и покажет его в форме просмотра.
  5. Проверьте предупреждения: 1С подсвечивает незаполненные обязательные реквизиты ещё до подписи.
  6. Подпишите и отправьте. Если нужен сам файл, например для проверки или отправки вне оператора, используйте команду выгрузки электронного документа в файл: она сохраняет архив с XML и подписью.

💡 Архив, выгруженный «в файл», удобен для разбора ошибок с поддержкой оператора. Юридическую силу ему придаёт не выгрузка, а прохождение через оператора ЭПД.

Кодировка и имя файла

XML по форматам ФНС пишется в кодировке windows-1251, а имя файла строится по шаблону из идентификаторов отправителя и получателя. Руками ни то ни другое не правят: 1С генерирует их сама. Если вы открыли файл в редакторе, сохранили его в UTF-8 и отправили — оператор отклонит документ.

Перенос накладной в другую базу: правила КД 2.0 и EnterpriseData

Когда ТН нужно передать в другую базу 1С (филиал, логистическая компания, база перевозчика), речь идёт об обмене данными. Здесь два инструмента.

Синхронизация в формате EnterpriseData (КД 3.0)

Современные типовые конфигурации обмениваются через универсальный формат EnterpriseData. Правила зашиты в конфигурацию, отдельный файл не нужен.

  1. Откройте Администрирование → Синхронизация данных.
  2. Включите флаг синхронизации и задайте префикс информационной базы.
  3. Добавьте новую синхронизацию с нужной программой. Для переноса через файлы выберите вариант обмена через каталог.
  4. В настройках отбора укажите организации и виды документов.
  5. Запустите синхронизацию. В каталоге появится XML-сообщение обмена.

Ограничение: в формат EnterpriseData попадают только объекты, для которых в обеих конфигурациях описаны правила. Если транспортной накладной в формате нет, она не выгрузится, сколько ни нажимай «Синхронизировать». Тогда нужна доработка правил в конфигурации 1С:Конвертация данных 3.

Универсальный обмен по правилам КД 2.0

Для нетиповых пар баз и разовых переносов используют обработку «Универсальный обмен данными в формате XML» (внешняя обработка, поставляется с конфигурацией «Конвертация данных» 2.х и на диске ИТС).

  1. Откройте обработку через Файл → Открыть в режиме 1С:Предприятие.
  2. На вкладке выгрузки укажите файл правил обмена — его готовят в конфигурации «Конвертация данных» 2.х под пару «источник → приёмник».
  3. Загрузите правила. В дереве появятся правила выгрузки данных; отметьте правило для транспортных накладных.
  4. Задайте период и, если нужно, отбор по организации.
  5. Укажите имя файла данных и нажмите кнопку выгрузки.
  6. В приёмнике той же обработкой на вкладке загрузки загрузите получившийся XML.

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

СпособКогда подходитРиски
EnterpriseDataТиповые конфигурации, регулярный обменОбъекта нет в формате — не выгрузится
Универсальный обмен, КД 2.0Нетиповые базы, разовый переносНужны готовые правила; ошибки сопоставления дают дубли
Выгрузка/загрузка данных XML (одинаковые конфигурации)Перенос между копиями одной конфигурацииПереносит объекты «как есть», включая ссылки; для разных конфигураций не годится

Интеграция с внешними системами: ЕГАИС, TMS и сервисы перевозчиков

ТТН для ЕГАИС

У алкогольных организаций «ТТН» — это прежде всего документ ЕГАИС. В 1С (Розница, УТ 11, КА, ERP с подсистемой ЕГАИС) его оформляют документом «ТТН исходящая ЕГАИС». XML формирует сама программа и передаёт через транспортный модуль УТМ.

  • 🔌 УТМ должен быть запущен, а в настройках ЕГАИС указан его адрес и порт.
  • 🔑 Для обмена нужен аппаратный ключ с сертификатом для ЕГАИС, вставленный в компьютер с УТМ.
  • 🔄 Статус документа меняется после ответа ЕГАИС: принят, отклонён, подтверждён получателем.

Сохранять XML ТТН ЕГАИС на диск и отправлять его отдельно не нужно — УТМ работает с ним сам. Посмотреть отправленный файл можно в журнале обмена с ЕГАИС, если нужно разобрать ошибку.

TMS, WMS и сервисы перевозчиков

Внешняя система обычно публикует свою XSD-схему или описание API. Варианты интеграции:

  1. Правила КД 2.0 с выгрузкой в нужную структуру — работает, если формат не слишком далёк от объектной модели 1С.
  2. Внешняя обработка с кодом на встроенном языке, которая пишет XML через ЗаписьXML по схеме партнёра.
  3. Расширение конфигурации с командой «Выгрузить в TMS» прямо в форме документа. Этот вариант переживает обновления типовой конфигурации лучше, чем правка основного кода.
  4. HTTP-сервис или веб-сервис, если система партнёра принимает данные онлайн, а не файлом.
Сопоставление полей
Грузоотправитель (ИНН, КПП)→Организация документа
Грузополучатель→Контрагент реализации
Масса брутто→Вес номенклатуры × количество
Госномер ТС→Справочник транспортных средств
Водитель→Справочник водителей или физических лиц
Пункт разгрузки→Адрес доставки

Пример минимальной процедуры записи XML во внешней обработке. Структура тегов здесь условная — подставьте теги из схемы партнёра.

Процедура ВыгрузитьНакладную(Накладная, ИмяФайла) Экспорт
    Запись = Новый ЗаписьXML;
    Запись.ОткрытьФайл(ИмяФайла, "UTF-8");
    Запись.ЗаписатьОбъявлениеXML();

    Запись.ЗаписатьНачалоЭлемента("Waybill");
    Запись.ЗаписатьАтрибут("Number", Накладная.Номер);
    Запись.ЗаписатьАтрибут("Date", Формат(Накладная.Дата, "ДФ=yyyy-MM-dd"));

    Запись.ЗаписатьНачалоЭлемента("Consignee");
    Запись.ЗаписатьТекст(Строка(Накладная.Контрагент));
    Запись.ЗаписатьКонецЭлемента();

    Запись.ЗаписатьКонецЭлемента(); // Waybill
    Запись.Закрыть();
КонецПроцедуры

Имена реквизитов Номер, Дата есть у любого документа; Контрагент замените на реквизит вашей конфигурации. Специальные символы (&, <, ") ЗаписьXML экранирует сама — склеивать XML строками не нужно.

Ошибки при формировании XML и как их найти

Большинство отказов связано не с программой, а с данными. Ниже — симптомы и то, что проверить в первую очередь.

Диагностика: выберите симптом

💡 Чтобы прочитать XML без риска испортить его, открывайте файл браузером или редактором в режиме просмотра. Браузер сразу покажет, если структура битая: незакрытый тег или недопустимый символ.

Выгрузка по расписанию без участия человека

Ручная выгрузка десятков накладных в день — источник пропусков. Автоматизируют её по-разному, в зависимости от сценария.

Синхронизация данных по расписанию

В настройках синхронизации (Администрирование → Синхронизация данных, карточка настроенного обмена) есть расписание. Задайте периодичность, например каждые 15 минут в рабочее время. Расписание выполняется регламентным заданием.

  • В клиент-серверной базе регламентные задания выполняет кластер 1С — достаточно, чтобы задание было включено.
  • В файловой базе регламентные задания работают только пока открыт сеанс 1С:Предприятия. Для ночного обмена держите отдельный сеанс открытым или запускайте 1С планировщиком.

Автоотправка в ЭДО

Модуль ЭДО умеет отправлять документы по расписанию и автоматически получать входящие. Настройки находятся в обмене электронными документами. Подпись при этом всё равно нужна: для автоматической подписи сертификат должен быть доступен на сервере, а пароль — сохранён в настройках сертификата.

Внешняя обработка через планировщик Windows

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

"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" ENTERPRISE /S"srv1c\trade" /N"Обмен" /P"пароль" /Execute "D:\Exchange\ExportTTN.epf" /DisableStartupMessages

Вместо <версия> подставьте номер установленной платформы, имя сервера и базы — свои. Для запуска обработки в ней нужна процедура, которая выполняется при открытии формы и в конце закрывает сеанс, иначе 1С останется висеть в памяти. Для обмена заведите отдельного пользователя с минимальными правами, а не используйте учётную запись администратора.

Пароль в bat-файле лежит открытым текстом. Ограничьте права на папку со скриптом, чтобы файл видели только администратор и служебная учётная запись планировщика.

Частые вопросы

Можно ли сохранить печатную форму ТН сразу в XML?
Нет. Окно печати сохраняет в PDF, Excel, Word, MXL и другие офисные форматы. XML формирует модуль ЭДО, ЕГАИС или обработка обмена.
Нужно ли отправлять электронную ТН, если перевозка своим транспортом?
Бумажная ТН по-прежнему допустима. Переход на электронную накладную добровольный, кроме отдельных категорий грузов и перевозок, для которых законодатель ввёл обязательность.
Чем ТТН ЕГАИС отличается от транспортной накладной?
ТТН ЕГАИС — документ учёта оборота алкоголя в государственной системе. Транспортная накладная оформляет саму перевозку. При отгрузке алкоголя автотранспортом нужны оба.
Какую подпись ставить на электронной ТН?
Организации и ИП подписывают свои титулы усиленной квалифицированной подписью. Водителю достаточно усиленной неквалифицированной подписи, которую выдаёт оператор ЭПД.
Почему файл обмена из одной базы не загружается в другую?
Правила КД 2.0 пишутся под конкретную пару конфигураций и их версии. После обновления любой из баз правила часто приходится перевыгрузить из «Конвертации данных».

Источники

  • Федеральный закон от 08.11.2007 № 259-ФЗ «Устав автомобильного транспорта и городского наземного электрического транспорта»
  • Постановление Правительства РФ от 21.12.2020 № 2200 «Об утверждении Правил перевозок грузов автомобильным транспортом»