Документы и Печать · 10 мин
Как выгрузить ТТН из 1С в XML
Как выгрузить ТТН из 1С в XML: типовые способы в УТ 11, ERP и БП, выгрузка для ЕГАИС, обмен с ТСД и перевозчиками, проверка файла и типичные ошибки.
Транспортная накладная (ТТН) в формате XML нужна для обмена с транспортными компаниями, передачи данных в ЕГАИС, интеграции с TMS-системами и электронного документооборота с контрагентами. В типовых конфигурациях 1С есть несколько способов получить XML-файл: штатная выгрузка печатной формы, обмен через универсальный формат EnterpriseData, выгрузка для ЕГАИС и выгрузка через настраиваемые обработки.
Выбор способа зависит от того, кому предназначен файл. Перевозчику чаще всего нужен XML в его собственном формате или в формате ЭДО, ЕГАИС требует строго регламентированную структуру, а для загрузки в другую базу 1С удобнее универсальный формат обмена. Ниже разобраны основные сценарии для конфигураций «Управление торговлей 11», «ERP», «Комплексная автоматизация» и «Бухгалтерия предприятия».
Важно понимать: в 1С ТТН обычно не является отдельным документом, а формируется на основании документа «Реализация товаров и услуг» или «Перемещение товаров». Поэтому выгрузка в XML всегда начинается с корректно заполненного документа-основания.
Подготовка документа перед выгрузкой
Перед выгрузкой проверьте, что документ-основание заполнен полностью: организация, контрагент, адреса погрузки и разгрузки, данные о транспортном средстве и водителе. В типовых конфигурациях эти сведения вводятся на закладке «Доставка» или в отдельном документе «Транспортная накладная», который создаётся на основании реализации.
Если ТТН оформляется по форме 1-Т, убедитесь, что заполнены пункты погрузки и разгрузки, сроки, сведения о грузе и количество мест. Пустые обязательные поля — самая частая причина отказа при приёме XML принимающей стороной: файл формируется, но не проходит проверку по XSD-схеме у получателя.
Также проверьте, что документ проведён. Непроведённый документ в большинстве механизмов обмена либо не выгружается вовсе, либо выгружается с признаком пометки на удаление, что приводит к расхождениям в учёте у контрагента.
Выгрузка ТТН в XML через печатную форму
Базовый способ, доступный почти во всех типовых конфигурациях, — сохранение сформированной печатной формы. Откройте документ «Реализация товаров и услуг», нажмите кнопку «Печать» и выберите «Транспортная накладная (1-Т)» или «ТТН» в зависимости от конфигурации.
После формирования печатной формы откройте меню «Ещё» (или «Файл») в окне предварительного просмотра и выберите «Сохранить как». В списке типов файла укажите XML. Учтите ограничение: такой файл — это табличный документ, сохранённый в XML-представлении 1С, а не структурированный документ обмена. Он подходит для архива или передачи «как есть», но не для автоматической загрузки в чужую учётную систему.
Если получателю нужен именно машиночитаемый документ с тегами товаров, сумм и реквизитов, используйте механизмы обмена, описанные ниже.
Выгрузка через универсальный формат EnterpriseData
В конфигурациях УТ 11, ERP, КА и БП 3.0 встроен обмен в универсальном формате EnterpriseData. Он предназначен для передачи документов между базами 1С и внешними системами, которые поддерживают этот формат.
Чтобы выгрузить один документ, откройте реализацию и проверьте наличие команды выгрузки в меню «Ещё» — в ряде конфигураций доступен пункт «Выгрузить в XML» или «Выгрузить документ». Если команды нет, используйте типовую обработку: раздел «Администрирование» → «Синхронизация данных» → настройте односторонний обмен через файл, указав каталог выгрузки.
- 1Откройте «Администрирование → Синхронизация данных» и включите использование синхронизации
- 2Создайте новую настройку обмена через локальный или сетевой каталог
- 3Выберите формат EnterpriseData и укажите каталог для выгрузки
- 4В правилах отправки ограничьте выгрузку нужными документами (реализации, ТТН)
- 5Выполните синхронизацию и проверьте наличие XML-файла в каталоге
Файл обмена EnterpriseData содержит полную структуру документа: шапку, табличную часть, реквизиты контрагентов. Однако учтите: в стандартном составе формата транспортные данные (водитель, автомобиль, маршрут) передаются ограниченно, поэтому для ТТН со всеми реквизитами перевозки может потребоваться доработка правил конвертации.
Выгрузка ТТН для ЕГАИС
Если ТТН нужна для подтверждения отгрузки алкогольной продукции, механизм принципиально другой. Данные передаются в ЕГАИС через универсальный транспортный модуль (УТМ), а 1С формирует XML автоматически при проведении соответствующих документов.
В УТ 11 и Рознице откройте реализацию с алкогольной продукцией и используйте команду «Передать данные в ЕГАИС» или создайте документ «ТТН ЕГАИС (исходящая)» на основании реализации. После проведения документ попадает в очередь обмена с УТМ, и XML формируется библиотекой обмена автоматически.
Если нужен сам XML-файл (например, для разбора расхождений), его можно найти в протоколе обмена с ЕГАИС: откройте документ, перейдите по ссылке состояния обмена и посмотрите текст отправленного сообщения. Там доступны XML запроса и ответа ЕГАИС.
Выгрузка через обработки и внешние инструменты
Когда типовых механизмов недостаточно — например, перевозчик требует XML своего собственного формата — используются внешние обработки. Их подключают через «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки» (предварительно включив эту возможность).
Обработка формирует XML по заданной структуре: шапка ТТН, список товаров с количеством и весом, реквизиты сторон, параметры транспорта. Готовые решения есть под популярные TMS и грузобиржи, но перед покупкой или внедрением запросите у получателя XSD-схему или образец файла — без этого проверить совместимость невозможно.
Для программиста 1С альтернатива — небольшая собственная обработка с записью XML через объект «ЗаписьXML». Это оправдано, когда формат получателя стабилен и не меняется.
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Exchange\ttn_001.xml");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("TTN");
Запись.ЗаписатьАтрибут("Номер", Строка(Документ.Номер));
Запись.ЗаписатьАтрибут("Дата", Формат(Документ.Дата, "ДФ=yyyy-MM-dd"));
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();Проверка выгруженного файла
Перед отправкой файла получателю откройте XML в браузере или текстовом редакторе и убедитесь, что структура читается, кодировка корректна (обычно UTF-8), а обязательные блоки присутствуют. Битый или пустой файл чаще всего означает ошибку в момент записи или отсутствие прав на каталог выгрузки.
Если получатель предоставил XSD-схему, проверьте файл валидатором (подойдут бесплатные онлайн-сервисы проверки XML по XSD или Notepad++ с плагином XML Tools). Несоответствие схеме — гарантированный отказ при загрузке.
Как проверить результат
XML читается, иерархия тегов отображается без ошибок парсинга
Ошибка «не удаётся прочитать файл» или битые символы вместо кириллицы
Номер, дата, контрагенты, товары и суммы совпадают с документом в 1С
Пустые теги, отсутствуют строки товаров или неверные суммы
Файл проходит проверку по XSD получателя
Ошибки обязательных элементов или неверные типы данных
Типичные ошибки и их устранение
Чаще всего проблемы возникают не на этапе формирования файла, а из-за несогласованности форматов. Отправитель выгружает «в XML вообще», а получатель ждёт конкретную структуру. Всегда согласовывайте формат до настройки обмена.
Ещё одна частая ситуация — расхождение сумм из-за округления. Если в XML передаются цены с большим числом знаков после запятой, чем принято у получателя, итоги могут не сойтись на копейки. Проверяйте настройки округления в обработке выгрузки.
Часто задаваемые вопросы
Можно ли выгрузить ТТН из 1С:Бухгалтерии 8.3 в XML без доработок?
Да, но с ограничениями. В БП 3.0 можно сохранить печатную форму ТТН в XML через «Сохранить как», а для машиночитаемого обмена использовать синхронизацию в формате EnterpriseData. Специализированной выгрузки ТТН в произвольный формат перевозчика в типовой поставке нет — потребуется внешняя обработка.
Чем отличается ТТН от товарно-транспортной накладной по форме 1-Т при выгрузке?
С точки зрения выгрузки разницы нет — обе формы строятся на основании документа отгрузки. Различие в составе печатной формы и реквизитах. Для XML-обмена важно, чтобы данные перевозки (водитель, ТС, маршрут) были заполнены в документе, иначе они не попадут в файл.
Почему получатель не может загрузить мой XML-файл?
Наиболее вероятные причины: несовпадение формата (вы выгрузили печатную форму, а нужен структурированный документ), неверная кодировка, отсутствие обязательных по схеме получателя полей. Запросите у получателя образец принимаемого файла и сравните структуры.
Как выгрузить сразу несколько ТТН одним файлом?
Через настройку синхронизации данных с отбором по периоду или списку документов — обмен EnterpriseData упакует все документы в один файл сообщения. Внешние обработки тоже обычно поддерживают пакетную выгрузку с группировкой нескольких ТТН в одном XML.
Безопасно ли редактировать XML вручную перед отправкой?
Технически возможно, но рискованно: ручная правка легко нарушает структуру или контрольные соотношения, и такие изменения не отражаются в учёте 1С. Правильнее исправить данные в документе и выгрузить файл заново, чтобы учётная система и файл не расходились.
Нужен ли отдельный модуль 1С для выгрузки ТТН в XML?
Для базовых сценариев — нет: сохранение печатной формы и обмен EnterpriseData входят в типовую поставку. Отдельный модуль или доработка нужны только для нестандартных форматов получателей, интеграции с конкретными TMS или автоматической отправки файлов по расписанию.
Что важно запомнить
Начните с корректно заполненного и проведённого документа-основания. Для простой передачи достаточно сохранить печатную форму в XML, для обмена с учётной системой используйте EnterpriseData, для ЕГАИС — штатный обмен через УТМ. Всегда согласовывайте формат и XSD-схему с получателем и проверяйте файл до отправки.