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

В этой статье мы разберём все возможные сценарии работы с XML в 1С — от стандартных обработок до ручной настройки в конфигураторе. Вы узнаете, где хранятся шаблоны форматов, как экспортировать данные в .xml и какие нюансы важно учитывать при обмене с внешними системами. Материал будет полезен как бухгалтерам и менеджерам, так и программистам , которые настраивают интеграции.

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

1. Стандартные обработки для выгрузки XML в 1С

Наиболее простой способ получить XML — использовать встроенные обработки, которые уже есть в типовой конфигурации. Они доступны в пользовательском режиме и не требуют прав администратора. Где их искать?

  • 📁 Обмен данными с контрагентами: Сервис → Обмен данными → Выгрузка/загрузка XML. Здесь формируются файлы для обмена с партнёрами (например, заказы поставщикам или прайс-листы).
  • 📊 Отчётность для госорганов: Отчёты → Регламентированные отчёты → Экспорт в XML. Используется для сдачи отчётности в ФНС, ПФР или ФСС.
  • 🛒 Интеграция с интернет-магазинами: Маркетинг → Интернет-магазин → Выгрузка каталога. Формирует XML для YML (Яндекс.Маркет), CommerceML или других форматов.

Если нужной обработки нет в меню, проверьте, не скрыта ли она в Все функции (кнопка в правом верхнем углу интерфейса). Например, в 1С:УТ 11 выгрузка для МойСклад может находиться по пути: Все функции → Обмен данными → Выгрузка в МойСклад (XML).

⚠️ Внимание: В некоторых конфигурациях (например, 1С:Бухгалтерия 3.0) обработки для XML-выгрузки появляются только после установки дополнительных расширений. Если не находите нужный пункт — проверьте наличие обновлений или обратитесь к администратору.
📊 Для какой цели вам нужен XML в 1С?
Обмен с контрагентами
Отчётность в госорганы
Интеграция с сайтом
Другое

2. Где хранятся шаблоны XML-форматов в конфигураторе

Если стандартные обработки не подходят (например, нужно изменить структуру файла или добавить новые поля), придётся работать в конфигураторе. Шаблоны XML-форматов хранятся в специальных объектах метаданных:

  1. XDTO-пакеты (Объекты → XDTO-пакеты) — содержат описание структуры XML-документов. Используются для сложных интеграций, например, с 1С:EDI или Diadoc.
  2. Общие макеты (Объекты → Общие макеты) — здесь могут храниться XSLT-преобразования для XML (например, для печатных форм в формате .xml).
  3. Планы обмена (Объекты → Планы обмена) — настраивают правила выгрузки/загрузки данных в XML для распределённых баз.

Чтобы найти конкретный шаблон:

  1. Откройте конфигуратор (Файл → Конфигуратор в пользовательском режиме).
  2. В дереве объектов разверните ветку Объекты и выберите нужный раздел (например, XDTO-пакеты).
  3. Ищите пакеты с названиями вроде УниверсальныйОбменДанными, CommerceML или ЭДО.

Если вы работаете с CommerceML (популярный формат для обмена с интернет-магазинами), шаблон обычно называется CommerceML2 и находится в XDTO-пакетах. Его можно редактировать, но перед изменениями обязательно сделайте резервную копию!

Создать резервную копию базы|Проверить права доступа (администратор)|Открыть нужный XDTO-пакет|Сохранить изменения в отдельном файле-->

3. Как экспортировать данные в XML через внешние обработки

Если в типовой конфигурации нет подходящей обработки, можно использовать внешние решения. Их преимущество — гибкость и возможность доработки под специфические требования. Где взять такие обработки?

  • 🔧 Инфостарт (infostart.ru) — крупнейшая база готовых обработок. Ищите по запросам вроде "выгрузка XML для Озон" или "импорт курсов валют ЦБ XML".
  • 📦 1С:ИТС — в разделе Технологии интеграции есть официальные обработки для обмена с ФНС, Росалкогольрегулированием и другими ведомствами.
  • 🤝 Партнёрские решения — многие компании-интеграторы (например, Клеверенс, Атлант-Софт) предлагают бесплатные и платные обработки для популярных форматов.

Пример установки внешней обработки:

  1. Скачайте файл с расширением .epf или .erf.
  2. В перейдите в Файл → Открыть и выберите скачанный файл.
  3. Следуйте инструкциям мастера установки. Обычно обработка добавляется в раздел Сервис → Дополнительные отчёты и обработки.

Перед использованием внешней обработки проверьте:

  • Совместимость с вашей версией (указано в описании на сайте).
  • Наличие лицензии (некоторые обработки требуют оплаты после тестового периода).
  • Отзывы других пользователей (на Инфостарте есть рейтинг и комментарии).
⚠️ Внимание: Обработки от сторонних разработчиков могут содержать уязвимости или конфликтовать с обновлениями . Перед установкой в рабочую базу протестируйте их на копии!

4. Ручное создание XML-файла через конфигуратор

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

  1. Откройте конфигуратор и создайте новую обработку (Файл → Новый → Обработка).
  2. В модуле обработки используйте объекты ЗаписьXML и ЧтениеXML. Пример кода для выгрузки справочника номенклатуры:
    Процедура ВыгрузитьВXML(КаталогВыгрузки)
    

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

    ЗаписьXML.ОткрытьФайл(КаталогВыгрузки + "номенклатура.xml");

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

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

    Выборка = Справочники.Номенклатура.Выбрать();

    Пока Выборка.Следующий() Цикл

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

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

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

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

    КонецЦикла;

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

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

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

  3. Сохраните обработку и запустите её в пользовательском режиме.

Для чтения XML используйте аналогичный подход с объектом ЧтениеXML. Например, чтобы загрузить курсы валют из файла ЦБ РФ:

Процедура ЗагрузитьКурсыВалют(ПутьКФайлу)

ЧтениеXML = Новый ЧтениеXML;

ЧтениеXML.ОткрытьФайл(ПутьКФайлу);

Пока ЧтениеXML.Прочитать() Цикл

Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда

Если ЧтениеXML.Имя = "Valute" Тогда

КодВалюты = ЧтениеXML.ПолучитьАтрибут("ID");

// Далее парсим дочерние элементы

КонецЕсли;

КонецЕсли;

КонецЦикла;

ЧтениеXML.Закрыть();

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

Для удобства отладки используйте Сообщить(), чтобы выводить промежуточные значения в окно сообщений. Например:

Сообщить("Обрабатываем валютный курс: " + КодВалюты);
💡

Если XML-файл большой (более 10 000 строк), используйте потоковую запись (ЗаписьXML.ОткрытьФайл() вместо Новый ЗаписьXML в памяти). Это ускорит работу и снизит нагрузку на сервер.

5. Поиск XML в файловой системе 1С

Иногда XML-файлы формируются автоматически и сохраняются на диске — например, при обмене с ЕГАИС или Меркурием. Где их искать?

Тип обмена Путь к файлам XML Пример имени файла
ЕГАИС (алкоголь) C:\Users\Public\Documents\1C\1CEStart\ TTN_20260515_12345.xml
Меркурий (ветсертификаты) C:\ProgramData\1C\Merury\ vet_document_0012345.xml
Обмен с МойСклад [Каталог базы]\1Cv8\ms_exchange\ orders_2026-05-15.xml
ЭДО (Электронный документооборот) C:\Users\[Пользователь]\AppData\Roaming\1C\EDO\ invoice_10001_signed.xml

Чтобы найти эти папки:

  1. Включите отображение скрытых файлов в Проводнике Windows (Вид → Скрытые элементы).
  2. Используйте поиск по расширению .xml в папке C:\Users\ или на диске, где установлена .
  3. Для сетевых баз проверьте общие ресурсы на сервере (обычно путь указывается в настройках обмена).

Если файлы не найдены, проверьте настройки обмена в :

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

6. Частые ошибки при работе с XML в 1С и как их избежать

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

  • 🔴 Ошибка валидации XML: Файл не проходит проверку на соответствие схеме (XSD). Причина — лишние теги, неверные атрибуты или кодировка.
    Решение: Проверьте файл через валидатор (например, xmlvalidation.com) и сравните со схемой (файл .xsd обычно идёт в комплекте с обработкой).
  • 🔴 Несовпадение структуры данных: Например, в XML есть поле Артикул, а в оно называется Код.
    Решение: Настройте соответствие полей в обработке обмена или исправьте XDTO-пакет.
  • 🔴 Ошибка подписи: XML-файл не принимается из-за проблем с электронной подписью.
    Решение: Проверьте сертификат в Сервис → Криптография → Сертификаты. Убедитесь, что он действующий и привязан к текущему пользователю.
  • 🔴 Превышение лимита размеров: Некоторые системы (например, Озон или Wildberries) ограничивают размер XML (обычно 5–10 МБ).
    Решение: Разбейте выгрузку на несколько файлов или архивируйте данные.

Если ошибка возникает при обмене с конкретной системой (например, Диадок или СБИС), проверьте:

  • Актуальность обработки (возможно, формат XML изменился после обновления системы).
  • Настройки прокси-сервера (если обмен идёт через интернет).
  • Логи обмена (Администрирование → Журнал регистрации) — там может быть подробное описание ошибки.
Как прочитать журнал регистрации для диагностики ошибок XML

В журнале ищите события с типом "Обмен данными" или "Ошибка". Особое внимание обращайте на строки с упоминанием XML, XDTO или HTTPСервис. Если в сообщении есть код ошибки (например, 2146697208), поищите его расшифровку в документации или на форумах.

7. Автоматизация обмена XML: настройка регламентных задач

Если обмен XML нужен регулярно (например, ежедневная выгрузка курсов валют или заказов с сайта), настройте регламентные задачи. Это позволит избежать ручного запуска обработок.

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

  1. Перейдите в Администрирование → Регламентные и фоновые задания.
  2. Создайте новое задание (Создать → Регламентное задание).
  3. В поле Используемый объект выберите вашу обработку XML-обмена.
  4. Укажите расписание (например, Ежедневно в 03:00).
  5. В настройках задания укажите параметры выгрузки (путь к файлу, формат и т. д.).
  6. Сохраните и запустите задание в тестовом режиме.

Пример настройки для автоматической выгрузки каталога товаров:

  • Обработка: ВыгрузкаКаталогаВXML.
  • Расписание: Ежедневно в 2:00.
  • Параметры:
    • Каталог выгрузки: \\server\shared\export\.
    • Формат: CommerceML.
    • Фильтр: Только товары в наличии.

Для отладки регламентных задач:

  • Проверьте журнал выполнения (Администрирование → Журнал регламентных заданий).
  • Убедитесь, что у пользователя, под которым запускается задание, есть права на запись в папку выгрузки.
  • Если задача "зависла", перезапустите службу 1С:Предприятия на сервере.
💡

Регламентные задания экономят время, но требуют мониторинга. Настройте уведомления об ошибках на email администратора, чтобы оперативно реагировать на сбои.

FAQ: Ответы на частые вопросы о XML в 1С

Как преобразовать XML в табличный документ 1С?

Используйте объект ЧтениеXML в сочетании с ТабличныйДокумент. Пример:

ЧтениеXML = Новый ЧтениеXML;

ЧтениеXML.ОткрытьФайл("C:\data.xml");

ТабДок = Новый ТабличныйДокумент;

Пока ЧтениеXML.Прочитать() Цикл

Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда

Если ЧтениеXML.Имя = "Строка" Тогда

НоваяСтрока = ТабДок.ДобавитьСтроку();

// Заполняем ячейки данными из XML

КонецЕсли;

КонецЕсли;

КонецЦикла;

ТабДок.Показать();

Для сложных XML удобнее использовать XSLT-преобразование (настройка в Общих макетах).

Можно ли импортировать XML в 1С без обработки?

Да, но только если структура XML соответствует стандартным объектам (например, справочники или документы). Используйте ЗагрузкаДанныхИзXML:

Загрузка = Новый ЗагрузкаДанныхИзXML;

Загрузка.Файл = "C:\import.xml";

Загрузка.Выполнить();

Для нестандартных форматов потребуется доработка (или внешняя обработка).

Где найти XSD-схему для проверки XML из 1С?

Схемы обычно поставляются вместе с обработками обмена. Ищите файлы .xsd в:

  • Папке с обработкой (если она внешняя).
  • Каталоге C:\Program Files\1Cv8\conf\tmplts\ (для типовых конфигураций).
  • Официальной документации системы, с которой идёт обмен (например, на сайте ФНС или Озон).

Если схемы нет, можно сгенерировать её из XDTO-пакета в конфигураторе (Файл → Сохранить как XSD).

Как ускорить выгрузку больших XML-файлов?

Используйте следующие приёмы:

  • Выгружайте данные порциями (например, по 1000 записей за раз).
  • Отключите индексирование полей в выборке (Выборка.ИндексироватьПоПолям(Ложь)).
  • Используйте потоковую запись (ЗаписьXML.ОткрытьФайл() вместо формирования строки в памяти).
  • Для повторяющихся элементов (например, товары в заказе) используйте ЗаписьXML.ЗаписатьЭлементБезФорматирования().

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

Что делать, если XML-файл не принимается контрагентом?

Следуйте алгоритму:

  1. Проверьте файл на валидность (например, через xmlvalidation.com).
  2. Сравните структуру вашего XML с примером от контрагента (часто ошибки в названиях тегов или атрибутов).
  3. Убедитесь, что кодировка файла UTF-8 (иногда требуется Windows-1251).
  4. Проверьте, не блокирует ли файрвол или антивирус отправку файла.
  5. Если проблема остаётся — запросите у контрагента лог ошибок (обычно там указано, какой именно тег вызвал сбой).