Выгрузка товарной накладной Торг-12 в формате XML из 1С:Предприятие — стандартная задача для автоматизации документооборота с контрагентами, маркетплейсами или госорганами. Однако даже опытные пользователи сталкиваются с нюансами: от выбора правильного формата XML до настройки обмена данными между базами. Эта статья покрывает все этапы — от ручной выгрузки через типовой функционал до написания собственных обработок для нестандартных сценариев.

Мы разберём:

  • 🔹 Стандартные способы выгрузки Торг-12 в XML без программирования (для 1С:УТ, ERP, Бухгалтерии 3.0).
  • 🔹 Настройку обмена через универсальные форматы (включая CommerceML и УниверсальныйОбменДаннымиXML).
  • 🔹 Примеры кода на встроенном языке 1С 8.3 для кастомизации выгрузки под специфические требования (например, для Озон, Wildberries, ЕГАИС).
  • 🔹 Типичные ошибки и их решения — от некорректной структуры XML до проблем с кодировкой UTF-8.

Важно: если вам нужна выгрузка для конкретного маркетплейса или госсистемы (например, Диадок, Контур.Диадок, Честный ЗНАК), проверьте их актуальные требования к структуре XML — они могут отличаться от стандартного Торг-12. В статье приведены универсальные решения, но для ЕГАИС и маркетплейсов часто требуется доработка XSD-схемы.

📊 Какой формат обмена данными вы используете чаще?
XML
JSON
Excel
Текстовые файлы (CSV, TXT)

1. Стандартные способы выгрузки Торг-12 в XML без программирования

Большинство типовых конфигураций (например, 1С:Управление торговлей 11, 1С:ERP 2.5, 1С:Бухгалтерия 3.0) поддерживают выгрузку Торг-12 в XML через встроенные механизмы. Рассмотрим два основных подхода:

1.1. Выгрузка через печатную форму документа

Самый простой способ — использовать печатную форму Торг-12 с сохранением в XML:

  1. Откройте документ Реализация товаров и услуг (или Товарная накладная в УТ 11).
  2. Нажмите кнопку Печать → выберите форму Торг-12 (XML).
  3. В открывшемся окне нажмите Сохранить как... и выберите формат XML (*.xml).

⚠️ Внимание: В некоторых конфигурациях (например, 1С:Бухгалтерия 3.0) печатная форма Торг-12 по умолчанию сохраняется в PDF или Excel. Чтобы появился вариант XML, может потребоваться:

  • 🔧 Обновить конфигурацию до последней версии.
  • 🔧 Установить дополнительный отчёт из Портала ИТС (например, "Печатные формы документов (XML)").

1.2. Выгрузка через обработку "Универсальный обмен данными"

Если нужна пакетная выгрузка нескольких накладных, используйте обработку УниверсальныйОбменДаннымиXML.epf:

  1. Скачайте обработку с Портала ИТС (раздел "Обмен данными").
  2. Откройте её в через Файл → Открыть.
  3. В настройках выберите:
    • 📄 Тип объекта: Документ.РеализацияТоваровУслуг
    • 📄 Формат файла: XML
    • 📄 Шаблон: Торг12 (если доступен)
  4. Укажите период и нажмите Выгрузить.
  5. ☑️ Подготовка к выгрузке Торг-12 в XML

    Выполнено: 0 / 4

    2. Настройка структуры XML для Торг-12: требования и примеры

    Стандартный формат Торг-12 в XML должен соответствовать приказу ФНС России №ММВ-7-6/172@. Однако многие компании (особенно маркетплейсы) требуют кастомизированные схемы. Ниже — базовая структура и пример кода для её генерации.

    2.1. Минимальная структура XML для Торг-12

    Корректный XML-файл должен содержать:

    • 📌 Шапку документа: реквизиты продавца/покупателя, номер, дата.
    • 📌 Табличную часть: товары с количеством, ценой, суммой, НДС.
    • 📌 Итоги: общая сумма, количество позиций.

    Пример структуры (упрощённо):

    <Торг12>
    

    <Шапка>

    <Продавец>

    <Наименование>ООО "Ромашка"</Наименование>

    <ИНН>1234567890</ИНН>

    <КПП>123456789</КПП>

    </Продавец>

    <Номер>ТН-000123</Номер>

    <Дата>2026-05-20</Дата>

    </Шапка>

    <Таблица>

    <Товар>

    <Наименование>Стул офисный</Наименование>

    <Количество>5</Количество>

    <Цена>2500.00</Цена>

    <Сумма>12500.00</Сумма>

    <НДС>20</НДС>

    </Товар>

    </Таблица>

    <Итог>

    <ВсегоСумма>12500.00</ВсегоСумма>

    </Итог>

    </Торг12>

    2.2. Валидация XML: инструменты и типичные ошибки

    Перед отправкой контрагенту проверьте XML на:

    • 🔍 Корректность структуры: используйте XML Validator.
    • 🔍 Соответствие XSD-схеме: для Торг-12 актуальна схема от ФНС (скачать можно на сайте налоговой).
    • 🔍 Кодировку: файл должен быть в UTF-8 (без BOM).
    ⚠️ Внимание: Если XML будет загружаться в ЕГАИС или Честный ЗНАК, требуется подпись квалифицированной электронной подписью (КЭП). Для этого используйте КриптоПро CSP или аналогичные сертифицированные средства.
    Ошибка Причина Решение
    Ошибка разбора XML: неверный тег Опечатка в названии тега (например, <Таблица> вместо <Товары>) Сверить структуру с XSD-схемой
    Некорректная кодировка Файл сохранён в Windows-1251 вместо UTF-8 Пересохранить в Notepad++ или через код 1С: ЗаписатьXML(, КодировкаТекста.UTF8)
    Отсутствует обязательный реквизит Не указан ИНН/КПП или дата документа Добавить недостающие поля в шапку XML
    Пример XSD-схемы для Торг-12

    Схема определяет строгие правила для структуры XML, включая типы данных (например, дата должна быть в формате YYYY-MM-DD), обязательность полей и вложенность тегов. Для ЕГАИС и маркетплейсов схемы могут отличаться — уточняйте их у контрагента.

    3. Автоматизация выгрузки: обработки и внешние отчёты

    Если вам нужно выгружать Торг-12 в XML регулярно (например, ежедневно для маркетплейса), ручные методы неэффективны. Рассмотрим два подхода к автоматизации:

    3.1. Использование готовых обработок с ИТС

    На Портале ИТС доступны обработки для пакетной выгрузки:

    • 📂 "Выгрузка документов в XML для Диадок" — подходит для обмена через Контур.Диадок.
    • 📂 "Обмен с маркетплейсами (Ozon, WB)" — формирует XML под требования площадок.
    • 📂 "Универсальный обмен данными" — гибкая настройка для любых форматов.

    Как настроить:

    1. Скачайте обработку и откройте её в .
    2. В параметрах укажите:
      • 🔹 Каталог выгрузки: путь к папке на диске или FTP.
      • 🔹 Период: даты начала и конца выборки документов.
      • 🔹 Фильтр: например, только документы с определённым контрагентом.
    3. Запустите выгрузку и проверьте сгенерированные файлы.
    4. 3.2. Создание собственной обработки на встроенном языке

      Если готовые решения не подходят, напишите свою обработку. Ниже — базовый код для выгрузки Торг-12 в XML:

      Процедура ВыгрузитьТорг12ВXML(Документ, ПутьКФайлу)
      

      Запрос = Новый Запрос;

      Запрос.Текст =

      "ВЫБРАТЬ

      | РеализацияТоваровУслуг.Номер КАК Номер,

      | РеализацияТоваровУслуг.Дата КАК Дата,

      | РеализацияТоваровУслуг.Контрагент КАК Покупатель

      |ИЗ

      | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг

      |ГДЕ

      | РеализацияТоваровУслуг.Ссылка = &Ссылка";

      Запрос.УстановитьПараметр("Ссылка", Документ.Ссылка);

      Результат = Запрос.Выполнить();

      Данные = Результат.Выгрузить();

      // Создаём XML-документ

      ЗаписьXML = Новый ЗаписьXML;

      ЗаписьXML.ОткрытьФайл(ПутьКФайлу, КодировкаТекста.UTF8);

      ЗаписьXML.ЗаписатьОбъявлениеXML();

      ЗаписьXML.ЗаписатьНачалоЭлемента("Торг12");

      // Шапка документа

      ЗаписьXML.ЗаписатьНачалоЭлемента("Шапка");

      ЗаписьXML.ЗаписатьЭлемент("Номер", Данные[0].Номер);

      ЗаписьXML.ЗаписатьЭлемент("Дата", Формат(Данные[0].Дата, "ДФ=yyyy-MM-dd"));

      ЗаписьXML.ЗаписатьКонецЭлемента(); // Шапка

      // Табличная часть (упрощённо)

      ЗаписьXML.ЗаписатьНачалоЭлемента("Товары");

      Для Каждого Строка Из Документ.Товары Цикл

      ЗаписьXML.ЗаписатьНачалоЭлемента("Товар");

      ЗаписьXML.ЗаписатьЭлемент("Наименование", Строка.Номенклатура);

      ЗаписьXML.ЗаписатьЭлемент("Количество", Строка.Количество);

      ЗаписьXML.ЗаписатьКонецЭлемента(); // Товар

      КонецЦикла;

      ЗаписьXML.ЗаписатьКонецЭлемента(); // Товары

      ЗаписьXML.ЗаписатьКонецЭлемента(); // Торг12

      ЗаписьXML.Закрыть();

      КонецПроцедуры

      💡

      Для отладки кода используйте Консоль запросов в 1С (меню Сервис → Отладка → Консоль запросов). Это поможет проверить корректность данных перед выгрузкой.

      4. Выгрузка Торг-12 для маркетплейсов: Озон, Wildberries, Яндекс Маркет

      Маркетплейсы предъявляют жёсткие требования к структуре XML. Например, Ozon требует дополнительные поля вроде barcode (штрихкод) и vendorCode (артикул поставщика), а Wildberries — уникальный nbId для каждой позиции.

      4.1. Особенности выгрузки для Озон (Ozon)

      Формат XML для Озон должен включать:

      • 📦 Информацию о поставке: номер заказа Озон (posting_number), дата отгрузки.
      • 📦 Данные о товарах: barcode, quantity, price.
      • 📦 Логистическую информацию: вес, габариты коробок.

      Пример фрагмента XML для Озон:

      <offer>
      

      <posting_number>12345-67890</posting_number>

      <barcode>4601234567890</barcode>

      <quantity>2</quantity>

      <price>1500.00</price>

      <box>

      <weight>1.2</weight>

      <length>20</length>

      <width>15</width>

      <height>10</height>

      </box>

      </offer>

      ⚠️ Внимание: Озон обновляет требования к XML раз в 2–3 месяца. Перед выгрузкой проверяйте актуальную документацию в личном кабинете продавца.

      4.2. Выгрузка для Wildberries: структура и нюансы

      Wildberries использует формат WBX (XML с специфической структурой). Основные отличия от стандартного Торг-12:

      • 🛒 Обязательные поля: nbId (номер заказа WB), srid (идентификатор склада).
      • 🛒 Формат даты: YYYY-MM-DDThh:mm:ss (с временем).
      • 🛒 Подпись: файл должен быть подписан КЭП.

    Пример кода для генерации XML для Wildberries:

    Процедура ВыгрузитьДляWildberries(Документ, ПутьКФайлу)
    

    ЗаписьXML = Новый ЗаписьXML;

    ЗаписьXML.ОткрытьФайл(ПутьКФайлу, КодировкаТекста.UTF8);

    ЗаписьXML.ЗаписатьОбъявлениеXML();

    ЗаписьXML.ЗаписатьНачалоЭлемента("WBOrders");

    ЗаписьXML.ЗаписатьНачалоЭлемента("Order");

    ЗаписьXML.ЗаписатьЭлемент("nbId", Документ.НомерЗаказаWB);

    ЗаписьXML.ЗаписатьЭлемент("date", Формат(Документ.Дата, "ДФ=yyyy-MM-ddThh:mm:ss"));

    ЗаписьXML.ЗаписатьНачалоЭлемента("Items");

    Для Каждого Строка Из Документ.Товары Цикл

    ЗаписьXML.ЗаписатьНачалоЭлемента("Item");

    ЗаписьXML.ЗаписатьЭлемент("barcode", Строка.Штрихкод);

    ЗаписьXML.ЗаписатьЭлемент("quantity", Строка.Количество);

    ЗаписьXML.ЗаписатьКонецЭлемента(); // Item

    КонецЦикла;

    ЗаписьXML.ЗаписатьКонецЭлемента(); // Items

    ЗаписьXML.ЗаписатьКонецЭлемента(); // Order

    ЗаписьXML.ЗаписатьКонецЭлемента(); // WBOrders

    ЗаписьXML.Закрыть();

    КонецПроцедуры

    5. Обмен данными через CommerceML и другие форматы

    Если вам нужно не только выгружать Торг-12, но и обмениваться данными с другими системами (например, 1С:Розница, МойСклад, Bitrix24), используйте универсальные форматы обмена:

    5.1. CommerceML: выгрузка Торг-12 вместе с каталогом товаров

    CommerceML — стандарт обмена данными между и интернет-магазинами. Он позволяет выгружать не только накладные, но и справочники номенклатуры, цены, остатки.

    Как настроить:

    1. В 1С:Управление торговлей перейдите в Администрирование → Обмен данными → Настройка обмена с сайтом.
    2. Выберите формат CommerceML 2.0.
    3. Укажите каталог для выгрузки и настройте расписание.
    4. В параметрах обмена отметьте галочку Выгружать документы реализации.

    Пример структуры XML в CommerceML для Торг-12:

    <КоммерческаяИнформация>
    

    <Документ>

    <Ид>123e4567-e89b-12d3-a456-426614174000</Ид>

    <Номер>ТН-00123</Номер>

    <Дата>2026-05-20</Дата>

    <Товары>

    <Товар>

    <Ид>1a2b3c4d</Ид>

    <Наименование>Стул офисный</Наименование>

    <ЦенаЗаЕдиницу>2500.00</ЦенаЗаЕдиницу>

    <Количество>5</Количество>

    </Товар>

    </Товары>

    </Документ>

    </КоммерческаяИнформация>

    5.2. Универсальный формат обмена данными (УФО)

    Если CommerceML не подходит, используйте Универсальный формат обмена (УФО). Он поддерживает:

    • 🔄 Обмен документами (включая Торг-12, счёта, акты).
    • 🔄 Синхронизацию справочников (номенклатура, контрагенты).
    • 🔄 Работу с любыми конфигурациями 1С.

    Пример настройки:

    1. Скачайте обработку УниверсальныйОбменДаннымиXML.epf с ИТС.
    2. В настройках укажите:
      • 📌 Тип данных: Документ.РеализацияТоваровУслуг
      • 📌 Формат: XML (УФО)
      • 📌 Правила обмена: создайте новое правило для Торг-12.
      💡

      Для обмена с МойСклад или Bitrix24 используйте готовые коннекторы от этих сервисов — они автоматически преобразуют Торг-12 в нужный формат.

      6. Решение типичных ошибок при выгрузке Торг-12 в XML

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

      6.1. Ошибки структуры XML

      Симптомы:

      • 🚨 Ошибка разбора XML: неожиданный конец файла — не закрыт тег.
      • 🚨 Недопустимый символ в значении — проблемы с кодировкой.
      • 🚨 Элемент "Товар" должен быть вложен в "Товары" — нарушена иерархия.

      Решения:

      • 🛠️ Проверьте XML через валидатор.
      • 🛠️ Используйте КодировкаТекста.UTF8 при записи файла.
      • 🛠️ Сверьте структуру с XSD-схемой (скачать можно на сайте ФНС).

      6.2. Проблемы с данными в 1С

      Частые причины:

      • 📛 Отсутствует ИНН/КПП у контрагента.
      • 📛 Не заполнено поле Штрихкод в номенклатуре (важно для маркетплейсов).
      • 📛 Некорректная дата документа (будущая или прошедшая больше чем на 30 дней).

      Как исправить:

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

      Процедура ПроверитьДокументНаКорректность(Документ)

      Если ПустаяСтрока(Документ.Контрагент.ИНН) Тогда

      ВызватьИсключение "Не заполнен ИНН у контрагента " + Документ.Контрагент.Наименование;

      КонецЕсли;

      Для Каждого Строка Из Документ.Товары Цикл

      Если ПустаяСтрока(Строка.Номенклатура.Штрихкод) Тогда

      ВызватьИсключение "Отсутствует штрихкод у товара " + Строка.Номенклатура.Наименование;

      КонецЕсли;

      КонецЦикла;

      КонецПроцедуры

      6.3. Ошибки при загрузке XML в внешние системы

      Если XML не принимается контрагентом, проверьте:

      Ошибка Вероятная причина Решение
      Неверная подпись Файл не подписан КЭП или сертификат просрочен Подписать через КриптоПро или обновить сертификат
      Несоответствие схеме Отсутствует обязательное поле (например, КодОКПО) Добавить поле в XML или уточнить требования у контрагента
      Превышен размер файла XML слишком большой (например, >10 МБ для Диадок) Разбить на несколько файлов или архивировать
      ⚠️ Внимание: Если выгружаете Торг-12 для ЕГАИС или Честный ЗНАК, обязательно проверьте XML через тестовые сервисы этих систем перед отправкой. Например, для ЕГАИС используйте проверку ФСРАР.

      7. Автоматизация выгрузки: расписание и интеграция

      Чтобы избежать ручной выгрузки, настройте автоматический обмен данными. Рассмотрим два способа:

      7.1. Выгрузка по расписанию через регламентные задания

      В 1С:Предприятие 8.3 можно создать регламентное задание для регулярной выгрузки:

      1. Перейдите в Администрирование → Поддержка и обслуживание → Регламентные задания.
      2. Создайте новое задание с типом Выполнение обработки.
      3. Укажите:
        • 🕒 Расписание: например, ежедневно в 20:00.
        • 📁 Обработка: путь к вашей обработке выгрузки XML.
        • 📌 Параметры: период выгрузки (например, документы за сегодня).

        7.2. Интеграция с FTP и облачными сервисами

        Если XML нужно передавать на FTP-сервер или в облако (например, Яндекс Диск, Google Drive), используйте:

        • 🌐 FTP: встроенные функции (FTPСоединение, ЗаписатьФайлНаFTP).
        • 🌐 Облако: внешние компоненты (например, OneScript.YaDisk).

      Пример кода для выгрузки на FTP:

      Процедура ВыгрузитьНаFTP(ПутьКФайлу, FTPАдрес, Логин, Пароль)
      

      FTP = Новый FTPСоединение