Выгрузка товарной накладной Торг-12 в формате XML из 1С:Предприятие — стандартная задача для автоматизации документооборота с контрагентами, маркетплейсами или госорганами. Однако даже опытные пользователи сталкиваются с нюансами: от выбора правильного формата XML до настройки обмена данными между базами. Эта статья покрывает все этапы — от ручной выгрузки через типовой функционал до написания собственных обработок для нестандартных сценариев.
Мы разберём:
- 🔹 Стандартные способы выгрузки Торг-12 в XML без программирования (для 1С:УТ, ERP, Бухгалтерии 3.0).
- 🔹 Настройку обмена через универсальные форматы (включая
CommerceMLиУниверсальныйОбменДаннымиXML). - 🔹 Примеры кода на встроенном языке 1С 8.3 для кастомизации выгрузки под специфические требования (например, для Озон, Wildberries, ЕГАИС).
- 🔹 Типичные ошибки и их решения — от некорректной структуры XML до проблем с кодировкой
UTF-8.
Важно: если вам нужна выгрузка для конкретного маркетплейса или госсистемы (например, Диадок, Контур.Диадок, Честный ЗНАК), проверьте их актуальные требования к структуре XML — они могут отличаться от стандартного Торг-12. В статье приведены универсальные решения, но для ЕГАИС и маркетплейсов часто требуется доработка XSD-схемы.
1. Стандартные способы выгрузки Торг-12 в XML без программирования
Большинство типовых конфигураций 1С (например, 1С:Управление торговлей 11, 1С:ERP 2.5, 1С:Бухгалтерия 3.0) поддерживают выгрузку Торг-12 в XML через встроенные механизмы. Рассмотрим два основных подхода:
1.1. Выгрузка через печатную форму документа
Самый простой способ — использовать печатную форму Торг-12 с сохранением в XML:
- Откройте документ
Реализация товаров и услуг(илиТоварная накладнаяв УТ 11). - Нажмите кнопку
Печать→ выберите формуТорг-12 (XML). - В открывшемся окне нажмите
Сохранить как...и выберите форматXML (*.xml).
⚠️ Внимание: В некоторых конфигурациях (например, 1С:Бухгалтерия 3.0) печатная форма Торг-12 по умолчанию сохраняется в PDF или Excel. Чтобы появился вариант XML, может потребоваться:
- 🔧 Обновить конфигурацию до последней версии.
- 🔧 Установить дополнительный отчёт из Портала ИТС (например,
"Печатные формы документов (XML)").
1.2. Выгрузка через обработку "Универсальный обмен данными"
Если нужна пакетная выгрузка нескольких накладных, используйте обработку УниверсальныйОбменДаннымиXML.epf:
- Скачайте обработку с Портала ИТС (раздел
"Обмен данными"). - Откройте её в 1С через
Файл → Открыть. - В настройках выберите:
- 📄 Тип объекта:
Документ.РеализацияТоваровУслуг - 📄 Формат файла:
XML - 📄 Шаблон:
Торг12(если доступен) - Укажите период и нажмите
Выгрузить. - 📌 Шапку документа: реквизиты продавца/покупателя, номер, дата.
- 📌 Табличную часть: товары с количеством, ценой, суммой, НДС.
- 📌 Итоги: общая сумма, количество позиций.
- 🔍 Корректность структуры: используйте XML Validator.
- 🔍 Соответствие XSD-схеме: для Торг-12 актуальна схема от ФНС (скачать можно на сайте налоговой).
- 🔍 Кодировку: файл должен быть в
UTF-8(без BOM). - 📂
"Выгрузка документов в XML для Диадок"— подходит для обмена через Контур.Диадок. - 📂
"Обмен с маркетплейсами (Ozon, WB)"— формирует XML под требования площадок. - 📂
"Универсальный обмен данными"— гибкая настройка для любых форматов. - Скачайте обработку и откройте её в 1С.
- В параметрах укажите:
- 🔹 Каталог выгрузки: путь к папке на диске или FTP.
- 🔹 Период: даты начала и конца выборки документов.
- 🔹 Фильтр: например, только документы с определённым контрагентом.
- Запустите выгрузку и проверьте сгенерированные файлы.
- 📦 Информацию о поставке: номер заказа Озон (
posting_number), дата отгрузки. - 📦 Данные о товарах:
barcode,quantity,price. - 📦 Логистическую информацию: вес, габариты коробок.
- 🛒 Обязательные поля:
nbId(номер заказа WB),srid(идентификатор склада). - 🛒 Формат даты:
YYYY-MM-DDThh:mm:ss(с временем). - 🛒 Подпись: файл должен быть подписан КЭП.
- В 1С:Управление торговлей перейдите в
Администрирование → Обмен данными → Настройка обмена с сайтом. - Выберите формат
CommerceML 2.0. - Укажите каталог для выгрузки и настройте расписание.
- В параметрах обмена отметьте галочку
Выгружать документы реализации. - 🔄 Обмен документами (включая Торг-12, счёта, акты).
- 🔄 Синхронизацию справочников (номенклатура, контрагенты).
- 🔄 Работу с любыми конфигурациями 1С.
- Скачайте обработку
УниверсальныйОбменДаннымиXML.epfс ИТС. - В настройках укажите:
- 📌 Тип данных:
Документ.РеализацияТоваровУслуг - 📌 Формат:
XML (УФО) - 📌 Правила обмена: создайте новое правило для Торг-12.
- 🚨
Ошибка разбора XML: неожиданный конец файла— не закрыт тег. - 🚨
Недопустимый символ в значении— проблемы с кодировкой. - 🚨
Элемент "Товар" должен быть вложен в "Товары"— нарушена иерархия. - 🛠️ Проверьте XML через валидатор.
- 🛠️ Используйте
КодировкаТекста.UTF8при записи файла. - 🛠️ Сверьте структуру с XSD-схемой (скачать можно на сайте ФНС).
- 📛 Отсутствует ИНН/КПП у контрагента.
- 📛 Не заполнено поле Штрихкод в номенклатуре (важно для маркетплейсов).
- 📛 Некорректная дата документа (будущая или прошедшая больше чем на 30 дней).
- Перейдите в
Администрирование → Поддержка и обслуживание → Регламентные задания. - Создайте новое задание с типом
Выполнение обработки. - Укажите:
- 🕒 Расписание: например, ежедневно в 20:00.
- 📁 Обработка: путь к вашей обработке выгрузки XML.
- 📌 Параметры: период выгрузки (например, документы за сегодня).
- 🌐 FTP: встроенные функции 1С (
FTPСоединение,ЗаписатьФайлНаFTP). - 🌐 Облако: внешние компоненты (например, OneScript.YaDisk).
☑️ Подготовка к выгрузке Торг-12 в XML
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 будет загружаться в ЕГАИС или Честный ЗНАК, требуется подпись квалифицированной электронной подписью (КЭП). Для этого используйте КриптоПро CSP или аналогичные сертифицированные средства.
| Ошибка | Причина | Решение |
|---|---|---|
Ошибка разбора XML: неверный тег |
Опечатка в названии тега (например, <Таблица> вместо <Товары>) | Сверить структуру с XSD-схемой |
Некорректная кодировка |
Файл сохранён в Windows-1251 вместо UTF-8 |
Пересохранить в Notepad++ или через код 1С: ЗаписатьXML(, КодировкаТекста.UTF8) |
Отсутствует обязательный реквизит |
Не указан ИНН/КПП или дата документа | Добавить недостающие поля в шапку XML |
Пример XSD-схемы для Торг-12
Схема определяет строгие правила для структуры XML, включая типы данных (например, дата должна быть в формате YYYY-MM-DD), обязательность полей и вложенность тегов. Для ЕГАИС и маркетплейсов схемы могут отличаться — уточняйте их у контрагента.
3. Автоматизация выгрузки: обработки и внешние отчёты
Если вам нужно выгружать Торг-12 в XML регулярно (например, ежедневно для маркетплейса), ручные методы неэффективны. Рассмотрим два подхода к автоматизации:
3.1. Использование готовых обработок с ИТС
На Портале ИТС доступны обработки для пакетной выгрузки:
Как настроить:
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 для Озон должен включать:
Пример фрагмента 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:
Пример кода для генерации 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С и интернет-магазинами. Он позволяет выгружать не только накладные, но и справочники номенклатуры, цены, остатки.
Как настроить:
Пример структуры XML в CommerceML для Торг-12:
<КоммерческаяИнформация>
<Документ>
<Ид>123e4567-e89b-12d3-a456-426614174000</Ид>
<Номер>ТН-00123</Номер>
<Дата>2026-05-20</Дата>
<Товары>
<Товар>
<Ид>1a2b3c4d</Ид>
<Наименование>Стул офисный</Наименование>
<ЦенаЗаЕдиницу>2500.00</ЦенаЗаЕдиницу>
<Количество>5</Количество>
</Товар>
</Товары>
</Документ>
</КоммерческаяИнформация>
5.2. Универсальный формат обмена данными (УФО)
Если CommerceML не подходит, используйте Универсальный формат обмена (УФО). Он поддерживает:
Пример настройки:
Для обмена с МойСклад или Bitrix24 используйте готовые коннекторы от этих сервисов — они автоматически преобразуют Торг-12 в нужный формат.
6. Решение типичных ошибок при выгрузке Торг-12 в XML
Даже при правильной настройке выгрузки могут возникать ошибки. Разберём самые распространённые и способы их исправления.
6.1. Ошибки структуры XML
Симптомы:
Решения:
6.2. Проблемы с данными в 1С
Частые причины:
Как исправить:
// Пример проверки заполненности реквизитов перед выгрузкой
Процедура ПроверитьДокументНаКорректность(Документ)
Если ПустаяСтрока(Документ.Контрагент.ИНН) Тогда
ВызватьИсключение "Не заполнен ИНН у контрагента " + Документ.Контрагент.Наименование;
КонецЕсли;
Для Каждого Строка Из Документ.Товары Цикл
Если ПустаяСтрока(Строка.Номенклатура.Штрихкод) Тогда
ВызватьИсключение "Отсутствует штрихкод у товара " + Строка.Номенклатура.Наименование;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
6.3. Ошибки при загрузке XML в внешние системы
Если XML не принимается контрагентом, проверьте:
| Ошибка | Вероятная причина | Решение |
|---|---|---|
Неверная подпись |
Файл не подписан КЭП или сертификат просрочен | Подписать через КриптоПро или обновить сертификат |
Несоответствие схеме |
Отсутствует обязательное поле (например, КодОКПО) |
Добавить поле в XML или уточнить требования у контрагента |
Превышен размер файла |
XML слишком большой (например, >10 МБ для Диадок) | Разбить на несколько файлов или архивировать |
⚠️ Внимание: Если выгружаете Торг-12 для ЕГАИС или Честный ЗНАК, обязательно проверьте XML через тестовые сервисы этих систем перед отправкой. Например, для ЕГАИС используйте проверку ФСРАР.
7. Автоматизация выгрузки: расписание и интеграция
Чтобы избежать ручной выгрузки, настройте автоматический обмен данными. Рассмотрим два способа:
7.1. Выгрузка по расписанию через регламентные задания
В 1С:Предприятие 8.3 можно создать регламентное задание для регулярной выгрузки:
7.2. Интеграция с FTP и облачными сервисами
Если XML нужно передавать на FTP-сервер или в облако (например, Яндекс Диск, Google Drive), используйте:
Пример кода для выгрузки на FTP:
Процедура ВыгрузитьНаFTP(ПутьКФайлу, FTPАдрес, Логин, Пароль)
FTP = Новый FTPСоединение