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

Сразу отметим: универсального шаблона не существует. Формат файла зависит от версии (8.3, 8.2), конфигурации (УТ 11, БП 3.0, ЗУП 3.1), а также от требований системы, с которой идёт обмен. Например, для Сбербанк Бизнес Онлайн нужна одна структура, а для Wildberries — совсем другая. Но базовые принципы формирования XML остаются неизменными. Далее — пошаговая инструкция с нюансами для разных случаев.

1. Что такое XML-файл для 1С и зачем он нужен

XML (eXtensible Markup Language) — это текстовый формат данных, который используется в для обмена информацией между разными системами. В отличие от .xls или .csv, он позволяет хранить не только табличные данные, но и сложные иерархические структуры: справочники, документы, регистры сведений.

Основные задачи, которые решает XML-обмен в :

  • 📦 Импорт/экспорт справочников (номенклатура, контрагенты, сотрудники).
  • 💰 Обмен банковскими выписками (1С ↔ Сбербанк, Тинькофф, Альфа-Банк).
  • 🛒 Синхронизация с маркетплейсами (Ozon, Wildberries, Яндекс.Маркет).
  • 📊 Выгрузка отчётности (ФНС, ПФР, Росстат).
  • 🔄 Обмен между базами 1С (например, между УТ и БП).

Преимущество XML перед другими форматами — гибкость. Вы можете задать свою структуру тегов, добавить атрибуты, вложенные элементы. Но это же и минус: если структура файла не соответствует ожиданиям , система откажется его обрабатывать. Например, при выгрузке номенклатуры в Wildberries обязательно наличие тегов <Номенклатура> и <Артикул>, а для Сбербанка<Документ> с атрибутом Тип="Платёжное поручение".

📊 С какой системой чаще всего обмениваетесь данными через XML?
Сбербанк/Тинькофф
Маркетплейсы (Ozon, WB)
Сайт на Bitrix/WordPress
Другая база 1С
Иное

2. Структура XML-файла для 1С: обязательные элементы

Любой XML-файл для 1С должен соответствовать двум ключевым требованиям:

  1. Корректный синтаксис: все теги должны быть закрыты, атрибуты — в кавычках, специальные символы — экранированы.
  2. Соответствие XSD-схеме (если она задана). Например, для обмена с ФНС используется схема ОФД_1_03.xsd.

Базовая структура файла выглядит так:

<?xml version="1.0" encoding="windows-1251"?>

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

<Классификатор>

<Группы>

<Группа>

<Ид>123</Ид>

<Наименование>Обувь</Наименование>

</Группа>

</Группы>

</Классификатор>

<Каталог>

<Товары>

<Товар>

<Ид>456</Ид>

<Артикул>BOOT-001</Артикул>

<Наименование>Ботинки зимние</Наименование>

</Товар>

</Товары>

</Каталог>

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

Обратите внимание на ключевые моменты:

  • 📌 Кодировка: чаще всего используется windows-1251 (для кириллицы), но некоторые системы требуют UTF-8.
  • 📌 Корневой элемент: обычно это <КоммерческаяИнформация> (для CommerceML) или <Файл> (для банковских выписок).
  • 📌 Идентификаторы: каждый элемент должен иметь уникальный <Ид>.
💡

Перед созданием файла уточните у контрагента или в документации к API требуемую структуру. Например, для Ozon действует своя схема, отличная от Wildberries.

Таблица: Распространённые корневые элементы для разных типов обмена

Тип обмена Корневой элемент Пример использования
CommerceML (обмен с сайтами) <КоммерческаяИнформация> Выгрузка номенклатуры в Bitrix
Банковские выписки <Файл> или <Документ> Импорт платежей из Сбербанк Бизнес Онлайн
Обмен с маркетплейсами <Offer> или <Orders> Синхронизация остатков с Ozon
Обмен между базами 1С <DataExchange> Перенос справочников из УТ 11 в БП 3.0
💡

Если структура файла не соответствует ожидаемой схеме, 1С выдаст ошибку "Недопустимый формат файла" или "Ошибка загрузки XML".

3. Как создать XML-файл для 1С: пошаговая инструкция

Рассмотрим универсальный алгоритм создания файла на примере выгрузки справочника номенклатуры в формате CommerceML 2.0 (самый распространённый стандарт для обмена с сайтами).

Шаг 1. Подготовка данных

Соберите информацию, которую нужно выгрузить:

  • 📋 Справочники: номенклатура, группы товаров, свойства.
  • 📊 Документы: остатки, цены, заказы (если нужны).
  • 🔖 Идентификаторы: уникальные коды для каждого элемента (например, Ид="123").

Шаг 2. Формирование структуры файла

Используйте следующий шаблон (для CommerceML):

<?xml version="1.0" encoding="windows-1251"?>

<КоммерческаяИнформация ВерсияСхемы="2.08" ДатаФормирования="2026-10-15">

<Классификатор>

<Ид>ВашИдентификатор</Ид>

<Наименование>ВашаКомпания</Наименование>

<Группы>

<Группа>

<Ид>1</Ид>

<Наименование>Обувь</Наименование>

</Группа>

</Группы>

</Классификатор>

<Каталог>

<Товары>

<Товар>

<Ид>1001</Ид>

<Артикул>BOOT-001</Артикул>

<Наименование>Ботинки зимние</Наименование>

<Группы>

<Ид>1</Ид>

</Группы>

</Товар>

</Товары>

</Каталог>

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

Шаг 3. Проверка корректности

Перед загрузкой в обязательно:

  1. Проверить файл на валидаторе XML.
  2. Убедиться, что кодировка совпадает с ожидаемой (обычно windows-1251).
  3. Проверить уникальность всех <Ид>.

☑️ Проверка XML перед загрузкой в 1С

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

Шаг 4. Загрузка в 1С

В 1С:Предприятие 8.3 загрузка XML осуществляется через:

  • 📂 Файл → Открыть (для ручной загрузки).
  • ⚙️ Обработки обмена (например, УниверсальныйОбменДаннымиXML.epf).
  • 🤖 Автоматические задачи (через Регламентные задания).
⚠️ Внимание: Если при загрузке появляется ошибка "Недопустимый символ в кодировке", попробуйте сохранить файл в UTF-8 или конвертировать через Notepad++.

4. Примеры XML-файлов для разных задач

Разберём реальные примеры файлов для типовых сценариев.

Пример 1: Выгрузка номенклатуры для сайта (CommerceML)

Файл включает группы товаров и сами товары с характеристиками:

<?xml version="1.0" encoding="windows-1251"?>

<КоммерческаяИнформация ВерсияСхемы="2.08">

<Классификатор>

<Группы>

<Группа>

<Ид>1</Ид>

<Наименование>Электроника</Наименование>

</Группа>

</Группы>

</Классификатор>

<Каталог>

<Товары>

<Товар>

<Ид>1001</Ид>

<Артикул>PHONE-X100</Артикул>

<Наименование>Смартфон X100 128GB</Наименование>

<БазоваяЕдиница>шт</БазоваяЕдиница>

<Группы><Ид>1</Ид></Группы>

</Товар>

</Товары>

</Каталог>

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

Пример 2: Импорт платежных поручений из банка

Структура для загрузки выписки из Сбербанк Бизнес Онлайн:

<?xml version="1.0" encoding="UTF-8"?>

<Файл>

<Документ Тип="Платёжное поручение">

<Номер>12345</Номер>

<Дата>2026-10-15</Дата>

<Сумма>10000.00</Сумма>

<Получатель>

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

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

<Счёт>40702810900000000001</Счёт>

</Получатель>

</Документ>

</Файл>

Пример 3: Обмен заказами с Ozon

Файл для синхронизации заказов с маркетплейсом:

<?xml version="1.0" encoding="UTF-8"?>

<Orders>

<Order>

<OrderID>12345678</OrderID>

<OrderDate>2026-10-15T10:00:00</OrderDate>

<Items>

<Item>

<OfferID>PHONE-X100</OfferID>

<Quantity>1</Quantity>

<Price>25000.00</Price>

</Item>

</Items>

</Order>

</Orders>

⚠️ Внимание: Структура файлов для маркетплейсов может меняться. Всегда сверяйтесь с актуальной документацией Ozon или Wildberries.

5. Типичные ошибки при создании XML для 1С и как их избежать

Даже опытные пользователи сталкиваются с проблемами при работе с XML. Вот самые распространённые ошибки и способы их решения:

Ошибка 1: Неправильная кодировка

Симптомы: при открытии файла в появляются ????? вместо кириллицы или ошибка "Недопустимый символ".

Решение:

  • 🔄 Сохраните файл в кодировке windows-1251 (через Notepad++ или VS Code).
  • 📋 Убедитесь, что в первой строке файла указана правильная кодировка: <?xml version="1.0" encoding="windows-1251"?>.

Ошибка 2: Несоответствие структуры XSD-схеме

Симптомы: выдаёт ошибку "Ошибка проверки схемы XML".

Решение:

Ошибка 3: Дублирование идентификаторов

Симптомы: при загрузке появляется ошибка "Элемент с таким Ид уже существует".

Решение:

  • 🔢 Проверить уникальность всех <Ид> в файле (можно через Excel или Notepad++).
  • 🔄 Если дубликаты неизбежны (например, при обмене между базами), используйте префиксы: <Ид>BASE1_1001</Ид>.

Ошибка 4: Отсутствие обязательных тегов

Симптомы: не загружает файл без объяснения причин.

Решение:

  • 📋 Уточните у контрагента или в документации список обязательных полей.
  • 🔍 Например, для CommerceML обязательны теги <Ид>, <Наименование>, а для банковских выписок — <Сумма> и <Дата>.
Что делать, если 1С не видит XML-файл?

1. Проверьте расширение файла — оно должно быть именно .xml (иногда Windows скрывает расширения).

2. Убедитесь, что файл не пустой и весит больше 1 КБ.

3. Попробуйте открыть файл через меню "Файл → Открыть" в 1С, а не через обработку обмена.

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

6. Автоматизация создания XML в 1С

Ручное формирование XML-файлов утомительно и чревато ошибками. К счастью, в есть инструменты для автоматизации:

Способ 1: Встроенные обработки обмена

В большинстве конфигураций (УТ 11, БП 3.0, КА 2.4) есть стандартные обработки:

  • 📁 УниверсальныйОбменДаннымиXML.epf — для выгрузки/загрузки справочников и документов.
  • 💼 ОбменССайтом.epf — для CommerceML.
  • 🏦 ИмпортВыписки.epf — для банковских выписок.

Чтобы их найти:

  1. Откройте Файл → Открыть.
  2. Выберите тип файлов Обработка (*.epf).
  3. Перейдите в папку с шаблонами (обычно C:\Program Files\1cv8\templates\).

Способ 2: Самостоятельная разработка обработки

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

Процедура ВыгрузитьВXML()

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

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

"ВЫБРАТЬ

| Номенклатура.Ссылка КАК Ссылка,

| Номенклатура.Артикул КАК Артикул,

| Номенклатура.Наименование КАК Наименование

|ИЗ

| Справочник.Номенклатура КАК Номенклатура";

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

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

ЗаписьXML.ОткрытьФайл("C:\export.xml");

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

ЗаписьXML.ЗаписатьНачалоЭлемента("КоммерческаяИнформация");

ЗаписьXML.ЗаписатьАтрибут("ВерсияСхемы", "2.08");

Пока Результат.Следующий() Цикл

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

ЗаписьXML.ЗаписатьЭлемент("Ид", Результат.Ссылка.УникальныйИдентификатор());

ЗаписьXML.ЗаписатьЭлемент("Артикул", Результат.Артикул);

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

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

КонецЦикла;

ЗаписьXML.ЗаписатьКонецЭлемента(); // КоммерческаяИнформация

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

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

Способ 3: Использование внешних сервисов

Если нет времени разбираться в коде, можно воспользоваться сервисами:

  • 🌐 1C-Exchange — облачный сервис для обмена данными.
  • 📦 CommerceML Pro — плагин для выгрузки на сайты.
  • 🏦 Банковские обработки от 1С-Битрикс — для работы с выписками.
⚠️ Внимание: При использовании сторонних обработок проверяйте их совместимость с вашей версией . Некоторые решения работают только с 1С:Предприятие 8.3.20+.
💡

Автоматизация выгрузки XML экономит время и снижает риск ошибок. Даже простая обработка на встроенном языке 1С может заменить часы ручной работы.

7. Проверка и валидация XML-файла перед загрузкой в 1С

Перед тем как загружать файл в , его необходимо проверить. Вот чек-лист:

Шаг 1: Проверка синтаксиса

Используйте онлайн-валидаторы:

  • 🌐 XML Validation — проверяет синтаксис и соответствие XSD.
  • 🌐 Code Beautify — подсвечивает ошибки в структуре.

Шаг 2: Проверка кодировки

Откройте файл в Notepad++:

  1. Нажмите Кодировки → Преобразовать в ANSI (для windows-1251).
  2. Или Кодировки → Преобразовать в UTF-8 без BOM.

Шаг 3: Проверка структуры

Сравните ваш файл с эталонным шаблоном: