Транспортная накладная в XML: экспорт из 1С для ЭДО, ЕГАИС и другой базы
Содержание
Выгрузить ТТН из 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С формирует первый титул. Остальные титулы приходят от других участников через оператора и ложатся в ту же цепочку документов.
Как сформировать и выгрузить титул грузоотправителя
- Подключите организацию к ЭДО:
Администрирование → Обмен электронными документами. Нужен действующий сертификат КЭП и договор с оператором, который работает с ЭПД. - Проверьте, что контрагенты-участники (перевозчик, получатель) приняли приглашение к обмену.
- Откройте транспортную накладную или реализацию, на основании которой она создаётся.
- В меню
ЭДОвыберите создание электронного документа. Программа соберёт XML и покажет его в форме просмотра. - Проверьте предупреждения: 1С подсвечивает незаполненные обязательные реквизиты ещё до подписи.
- Подпишите и отправьте. Если нужен сам файл, например для проверки или отправки вне оператора, используйте команду выгрузки электронного документа в файл: она сохраняет архив с XML и подписью.
💡 Архив, выгруженный «в файл», удобен для разбора ошибок с поддержкой оператора. Юридическую силу ему придаёт не выгрузка, а прохождение через оператора ЭПД.
Кодировка и имя файла
XML по форматам ФНС пишется в кодировке windows-1251, а имя файла строится по шаблону из идентификаторов отправителя и получателя. Руками ни то ни другое не правят: 1С генерирует их сама. Если вы открыли файл в редакторе, сохранили его в UTF-8 и отправили — оператор отклонит документ.
Перенос накладной в другую базу: правила КД 2.0 и EnterpriseData
Когда ТН нужно передать в другую базу 1С (филиал, логистическая компания, база перевозчика), речь идёт об обмене данными. Здесь два инструмента.
Синхронизация в формате EnterpriseData (КД 3.0)
Современные типовые конфигурации обмениваются через универсальный формат EnterpriseData. Правила зашиты в конфигурацию, отдельный файл не нужен.
- Откройте
Администрирование → Синхронизация данных. - Включите флаг синхронизации и задайте префикс информационной базы.
- Добавьте новую синхронизацию с нужной программой. Для переноса через файлы выберите вариант обмена через каталог.
- В настройках отбора укажите организации и виды документов.
- Запустите синхронизацию. В каталоге появится XML-сообщение обмена.
Ограничение: в формат EnterpriseData попадают только объекты, для которых в обеих конфигурациях описаны правила. Если транспортной накладной в формате нет, она не выгрузится, сколько ни нажимай «Синхронизировать». Тогда нужна доработка правил в конфигурации 1С:Конвертация данных 3.
Универсальный обмен по правилам КД 2.0
Для нетиповых пар баз и разовых переносов используют обработку «Универсальный обмен данными в формате XML» (внешняя обработка, поставляется с конфигурацией «Конвертация данных» 2.х и на диске ИТС).
- Откройте обработку через
Файл → Открытьв режиме 1С:Предприятие. - На вкладке выгрузки укажите файл правил обмена — его готовят в конфигурации «Конвертация данных» 2.х под пару «источник → приёмник».
- Загрузите правила. В дереве появятся правила выгрузки данных; отметьте правило для транспортных накладных.
- Задайте период и, если нужно, отбор по организации.
- Укажите имя файла данных и нажмите кнопку выгрузки.
- В приёмнике той же обработкой на вкладке загрузки загрузите получившийся XML.
Перед загрузкой в рабочую базу приёмника сделайте резервную копию. Ошибка в правилах сопоставления может создать дубли контрагентов и номенклатуры, а разбирать их потом долго.
| Способ | Когда подходит | Риски |
|---|---|---|
| EnterpriseData | Типовые конфигурации, регулярный обмен | Объекта нет в формате — не выгрузится |
| Универсальный обмен, КД 2.0 | Нетиповые базы, разовый перенос | Нужны готовые правила; ошибки сопоставления дают дубли |
| Выгрузка/загрузка данных XML (одинаковые конфигурации) | Перенос между копиями одной конфигурации | Переносит объекты «как есть», включая ссылки; для разных конфигураций не годится |
Интеграция с внешними системами: ЕГАИС, TMS и сервисы перевозчиков
ТТН для ЕГАИС
У алкогольных организаций «ТТН» — это прежде всего документ ЕГАИС. В 1С (Розница, УТ 11, КА, ERP с подсистемой ЕГАИС) его оформляют документом «ТТН исходящая ЕГАИС». XML формирует сама программа и передаёт через транспортный модуль УТМ.
- 🔌 УТМ должен быть запущен, а в настройках ЕГАИС указан его адрес и порт.
- 🔑 Для обмена нужен аппаратный ключ с сертификатом для ЕГАИС, вставленный в компьютер с УТМ.
- 🔄 Статус документа меняется после ответа ЕГАИС: принят, отклонён, подтверждён получателем.
Сохранять XML ТТН ЕГАИС на диск и отправлять его отдельно не нужно — УТМ работает с ним сам. Посмотреть отправленный файл можно в журнале обмена с ЕГАИС, если нужно разобрать ошибку.
TMS, WMS и сервисы перевозчиков
Внешняя система обычно публикует свою XSD-схему или описание API. Варианты интеграции:
- Правила КД 2.0 с выгрузкой в нужную структуру — работает, если формат не слишком далёк от объектной модели 1С.
- Внешняя обработка с кодом на встроенном языке, которая пишет XML через
ЗаписьXMLпо схеме партнёра. - Расширение конфигурации с командой «Выгрузить в TMS» прямо в форме документа. Этот вариант переживает обновления типовой конфигурации лучше, чем правка основного кода.
- 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?
Нужно ли отправлять электронную ТН, если перевозка своим транспортом?
Чем ТТН ЕГАИС отличается от транспортной накладной?
Какую подпись ставить на электронной ТН?
Почему файл обмена из одной базы не загружается в другую?
Источники
- Федеральный закон от 08.11.2007 № 259-ФЗ «Устав автомобильного транспорта и городского наземного электрического транспорта»
- Постановление Правительства РФ от 21.12.2020 № 2200 «Об утверждении Правил перевозок грузов автомобильным транспортом»