Формат XML в 1С:Предприятие — это основа для обмена данными между системами, интеграции с сайтами, банками и государственными сервисами. Без него невозможно корректно передать каталоги товаров, заказы покупателей или бухгалтерскую отчётность в электронном виде. Однако многие пользователи сталкиваются с проблемой: где именно в 1С найти нужный XML-файл, как его сформировать или загрузить?
В этой статье мы разберём все возможные сценарии работы с XML в 1С — от стандартных обработок до ручной настройки в конфигураторе. Вы узнаете, где хранятся шаблоны форматов, как экспортировать данные в .xml и какие нюансы важно учитывать при обмене с внешними системами. Материал будет полезен как бухгалтерам и менеджерам, так и программистам 1С, которые настраивают интеграции.
Прежде чем переходить к инструкциям, запомните: в 1С нет единого "места для XML" — формат может генерироваться в разных разделах в зависимости от задачи: обмен с Росалкогольрегулированием, выгрузка для МойСклад, импорт курсов валют от ЦБ или синхронизация с интернет-магазином. Поэтому первый шаг — определить, для какой именно цели вам нужен XML.
1. Стандартные обработки для выгрузки XML в 1С
Наиболее простой способ получить XML — использовать встроенные обработки, которые уже есть в типовой конфигурации. Они доступны в пользовательском режиме и не требуют прав администратора. Где их искать?
- 📁 Обмен данными с контрагентами:
Сервис → Обмен данными → Выгрузка/загрузка XML. Здесь формируются файлы для обмена с партнёрами (например, заказы поставщикам или прайс-листы). - 📊 Отчётность для госорганов:
Отчёты → Регламентированные отчёты → Экспорт в XML. Используется для сдачи отчётности в ФНС, ПФР или ФСС. - 🛒 Интеграция с интернет-магазинами:
Маркетинг → Интернет-магазин → Выгрузка каталога. Формирует XML для YML (Яндекс.Маркет), CommerceML или других форматов.
Если нужной обработки нет в меню, проверьте, не скрыта ли она в Все функции (кнопка в правом верхнем углу интерфейса). Например, в 1С:УТ 11 выгрузка для МойСклад может находиться по пути: Все функции → Обмен данными → Выгрузка в МойСклад (XML).
⚠️ Внимание: В некоторых конфигурациях (например, 1С:Бухгалтерия 3.0) обработки для XML-выгрузки появляются только после установки дополнительных расширений. Если не находите нужный пункт — проверьте наличие обновлений или обратитесь к администратору.
2. Где хранятся шаблоны XML-форматов в конфигураторе
Если стандартные обработки не подходят (например, нужно изменить структуру файла или добавить новые поля), придётся работать в конфигураторе. Шаблоны XML-форматов хранятся в специальных объектах метаданных:
- XDTO-пакеты (
Объекты → XDTO-пакеты) — содержат описание структуры XML-документов. Используются для сложных интеграций, например, с 1С:EDI или Diadoc. - Общие макеты (
Объекты → Общие макеты) — здесь могут храниться XSLT-преобразования для XML (например, для печатных форм в формате.xml). - Планы обмена (
Объекты → Планы обмена) — настраивают правила выгрузки/загрузки данных в XML для распределённых баз.
Чтобы найти конкретный шаблон:
- Откройте конфигуратор (
Файл → Конфигураторв пользовательском режиме). - В дереве объектов разверните ветку
Объектыи выберите нужный раздел (например,XDTO-пакеты). - Ищите пакеты с названиями вроде
УниверсальныйОбменДанными,CommerceMLилиЭДО.
Если вы работаете с CommerceML (популярный формат для обмена с интернет-магазинами), шаблон обычно называется CommerceML2 и находится в XDTO-пакетах. Его можно редактировать, но перед изменениями обязательно сделайте резервную копию!
Создать резервную копию базы|Проверить права доступа (администратор)|Открыть нужный XDTO-пакет|Сохранить изменения в отдельном файле-->
3. Как экспортировать данные в XML через внешние обработки
Если в типовой конфигурации нет подходящей обработки, можно использовать внешние решения. Их преимущество — гибкость и возможность доработки под специфические требования. Где взять такие обработки?
- 🔧 Инфостарт (infostart.ru) — крупнейшая база готовых обработок. Ищите по запросам вроде
"выгрузка XML для Озон"или"импорт курсов валют ЦБ XML". - 📦 1С:ИТС — в разделе
Технологии интеграцииесть официальные обработки для обмена с ФНС, Росалкогольрегулированием и другими ведомствами. - 🤝 Партнёрские решения — многие компании-интеграторы (например, Клеверенс, Атлант-Софт) предлагают бесплатные и платные обработки для популярных форматов.
Пример установки внешней обработки:
- Скачайте файл с расширением
.epfили.erf. - В 1С перейдите в
Файл → Открытьи выберите скачанный файл. - Следуйте инструкциям мастера установки. Обычно обработка добавляется в раздел
Сервис → Дополнительные отчёты и обработки.
Перед использованием внешней обработки проверьте:
- Совместимость с вашей версией 1С (указано в описании на сайте).
- Наличие лицензии (некоторые обработки требуют оплаты после тестового периода).
- Отзывы других пользователей (на Инфостарте есть рейтинг и комментарии).
⚠️ Внимание: Обработки от сторонних разработчиков могут содержать уязвимости или конфликтовать с обновлениями 1С. Перед установкой в рабочую базу протестируйте их на копии!
4. Ручное создание XML-файла через конфигуратор
Если ни стандартные, ни внешние обработки не подходят, можно сформировать XML вручную с помощью встроенного языка 1С. Для этого:
- Откройте конфигуратор и создайте новую обработку (
Файл → Новый → Обработка). - В модуле обработки используйте объекты
ЗаписьXMLиЧтениеXML. Пример кода для выгрузки справочника номенклатуры:Процедура ВыгрузитьВXML(КаталогВыгрузки)ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(КаталогВыгрузки + "номенклатура.xml");
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьXML.ЗаписатьНачалоЭлемента("Каталог");
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
ЗаписьXML.ЗаписатьНачалоЭлемента("Товар");
ЗаписьXML.ЗаписатьАтрибут("Ид", Выборка.Ссылка.УникальныйИдентификатор());
ЗаписьXML.ЗаписатьЭлемент("Наименование", Выборка.Наименование);
ЗаписьXML.ЗаписатьКонецЭлемента(); // Товар
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента(); // Каталог
ЗаписьXML.Закрыть();
КонецПроцедуры
- Сохраните обработку и запустите её в пользовательском режиме.
Для чтения 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 |
Чтобы найти эти папки:
- Включите отображение скрытых файлов в Проводнике Windows (
Вид → Скрытые элементы). - Используйте поиск по расширению
.xmlв папкеC:\Users\или на диске, где установлена 1С. - Для сетевых баз проверьте общие ресурсы на сервере (обычно путь указывается в настройках обмена).
Если файлы не найдены, проверьте настройки обмена в 1С:
- Перейдите в
Администрирование → Настройки обмена данными. - Откройте нужный профиль обмена (например,
ЕГАИСилиМеркурий). - В поле
Каталог обменабудет указан путь к папке с XML.
⚠️ Внимание: Не редактируйте XML-файлы вручную, если они предназначены для обмена с госорганами (например, ФНС или Росалкогольрегулирование). Это может привести к ошибкам проверки электронной подписи.
6. Частые ошибки при работе с XML в 1С и как их избежать
Даже опытные пользователи сталкиваются с проблемами при обмене XML. Рассмотрим типичные ошибки и способы их решения:
- 🔴 Ошибка валидации XML: Файл не проходит проверку на соответствие схеме (XSD). Причина — лишние теги, неверные атрибуты или кодировка.
Решение: Проверьте файл через валидатор (например, xmlvalidation.com) и сравните со схемой (файл.xsdобычно идёт в комплекте с обработкой). - 🔴 Несовпадение структуры данных: Например, в XML есть поле
Артикул, а в 1С оно называетсяКод.
Решение: Настройте соответствие полей в обработке обмена или исправьте XDTO-пакет. - 🔴 Ошибка подписи: XML-файл не принимается из-за проблем с электронной подписью.
Решение: Проверьте сертификат вСервис → Криптография → Сертификаты. Убедитесь, что он действующий и привязан к текущему пользователю. - 🔴 Превышение лимита размеров: Некоторые системы (например, Озон или Wildberries) ограничивают размер XML (обычно 5–10 МБ).
Решение: Разбейте выгрузку на несколько файлов или архивируйте данные.
Если ошибка возникает при обмене с конкретной системой (например, Диадок или СБИС), проверьте:
- Актуальность обработки (возможно, формат XML изменился после обновления системы).
- Настройки прокси-сервера (если обмен идёт через интернет).
- Логи обмена (
Администрирование → Журнал регистрации) — там может быть подробное описание ошибки.
Как прочитать журнал регистрации для диагностики ошибок XML
В журнале ищите события с типом "Обмен данными" или "Ошибка". Особое внимание обращайте на строки с упоминанием XML, XDTO или HTTPСервис. Если в сообщении есть код ошибки (например, 2146697208), поищите его расшифровку в документации 1С или на форумах.
7. Автоматизация обмена XML: настройка регламентных задач
Если обмен XML нужен регулярно (например, ежедневная выгрузка курсов валют или заказов с сайта), настройте регламентные задачи. Это позволит избежать ручного запуска обработок.
Как настроить:
- Перейдите в
Администрирование → Регламентные и фоновые задания. - Создайте новое задание (
Создать → Регламентное задание). - В поле
Используемый объектвыберите вашу обработку XML-обмена. - Укажите расписание (например,
Ежедневно в 03:00). - В настройках задания укажите параметры выгрузки (путь к файлу, формат и т. д.).
- Сохраните и запустите задание в тестовом режиме.
Пример настройки для автоматической выгрузки каталога товаров:
- Обработка:
ВыгрузкаКаталогаВ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 соответствует стандартным объектам 1С (например, справочники или документы). Используйте ЗагрузкаДанныхИзXML:
Загрузка = Новый ЗагрузкаДанныхИзXML;
Загрузка.Файл = "C:\import.xml";
Загрузка.Выполнить();
Для нестандартных форматов потребуется доработка (или внешняя обработка).
Где найти XSD-схему для проверки XML из 1С?
Схемы обычно поставляются вместе с обработками обмена. Ищите файлы .xsd в:
- Папке с обработкой (если она внешняя).
- Каталоге
C:\Program Files\1Cv8\conf\tmplts\(для типовых конфигураций). - Официальной документации системы, с которой идёт обмен (например, на сайте ФНС или Озон).
Если схемы нет, можно сгенерировать её из XDTO-пакета в конфигураторе (Файл → Сохранить как XSD).
Как ускорить выгрузку больших XML-файлов?
Используйте следующие приёмы:
- Выгружайте данные порциями (например, по 1000 записей за раз).
- Отключите индексирование полей в выборке (
Выборка.ИндексироватьПоПолям(Ложь)). - Используйте потоковую запись (
ЗаписьXML.ОткрытьФайл()вместо формирования строки в памяти). - Для повторяющихся элементов (например, товары в заказе) используйте
ЗаписьXML.ЗаписатьЭлементБезФорматирования().
Если выгрузка всё равно медленная, проверьте нагрузку на сервер и оптимизируйте запросы к базе.
Что делать, если XML-файл не принимается контрагентом?
Следуйте алгоритму:
- Проверьте файл на валидность (например, через xmlvalidation.com).
- Сравните структуру вашего XML с примером от контрагента (часто ошибки в названиях тегов или атрибутов).
- Убедитесь, что кодировка файла
UTF-8(иногда требуетсяWindows-1251). - Проверьте, не блокирует ли файрвол или антивирус отправку файла.
- Если проблема остаётся — запросите у контрагента лог ошибок (обычно там указано, какой именно тег вызвал сбой).