К статье
Практический материал

Торговля и Склад · 10 мин

Как выгрузить товары из 1С в XML

Способы выгрузки товаров из 1С в XML: типовые обработки, обмен данными, произвольный запрос. Проверка файла, ошибки и ограничения разных конфигураций.

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

Конкретный способ зависит от конфигурации: в «Управлении торговлей» и «1С:Комплексной автоматизации» есть встроенные механизмы обмена с сайтом, в «Бухгалтерии» типовой выгрузки каталога нет, а в самописных решениях часто приходится использовать универсальные обработки. Ниже разобраны все рабочие сценарии — от типового обмена до выгрузки произвольным запросом.

Определяем, какой формат XML нужен приёмнику

Прежде чем настраивать выгрузку, уточните требования системы, которая будет принимать файл. «Просто XML» не существует: у каждой платформы своя схема. Интернет-магазины на 1С-Битрикс и большинство CMS работают с форматом CommerceML (CML) — это стандарт обмена, разработанный 1С. Маркетплейсы и агрегаторы часто требуют YML (Yandex Market Language) — тоже XML, но с другой структурой тегов.

Если файл нужен для переноса данных между двумя базами 1С, используется формат EnterpriseData или универсальный формат обмена. Ошибка на этом этапе самая дорогая: вы можете потратить время на настройку выгрузки, которую приёмник в принципе не сможет прочитать.

Маршрут решения

Как выбрать способ выгрузки

Приёмник — сайт на 1С-Битрикс или CMS с поддержкой CommerceMLИспользуйте типовой обмен с сайтом (CommerceML) в торговой конфигурации
Приёмник — маркетплейс или Яндекс.МаркетНужна выгрузка в YML: типовой модуль маркетплейса или сторонняя обработка
Перенос между двумя базами 1СОбработка «Выгрузка и загрузка данных XML» или план обмена
Нужен произвольный набор полей под нестандартную схемуВыгрузка через консоль запросов или самописную обработку

Выгрузка через типовой обмен с сайтом (CommerceML)

В конфигурациях «Управление торговлей», «Управление нашей фирмой» и «Комплексная автоматизация» есть готовый узел обмена с сайтом. Он формирует файлы import.xml (каталог товаров) и offers.xml (цены и остатки) в формате CommerceML.

Настройка выполняется в разделе администрирования, пункт «Обмен с сайтами» или «Синхронизация данных». Создайте новый узел обмена, укажите режим «Выгрузка в каталог на диске» вместо выгрузки на сайт, если вам нужен именно файл, а не прямая отправка. Затем задайте отбор: какие группы товаров, типы цен и склады попадут в выгрузку.

Настройка обмена с сайтом
  1. 1
    Откройте Администрирование → Синхронизация данных → Обмен с сайтом
  2. 2
    Создайте узел обмена и выберите режим выгрузки в каталог на диске
  3. 3
    Укажите папку для файлов XML
  4. 4
    Настройте отбор по группам номенклатуры, типам цен и складам
  5. 5
    Выполните обмен и проверьте созданные файлы import.xml и offers.xml

После выполнения обмена в указанной папке появятся файлы XML и, при необходимости, подкаталог с картинками товаров. Откройте import.xml в текстовом редакторе и убедитесь, что товары содержат наименования, артикулы и идентификаторы.

Универсальная выгрузка через обработку «Выгрузка и загрузка данных XML»

Когда нужно перенести номенклатуру между базами 1С или выгрузить данные в том виде, в каком они хранятся в конфигурации, используется обработка «Выгрузка и загрузка данных XML». Она входит в состав дистрибутивов многих конфигураций и доступна на диске ИТС.

Обработка выгружает объекты метаданных целиком: справочник «Номенклатура» со всеми реквизитами, табличными частями и связанными объектами. Важно понимать: такой файл предназначен для загрузки в другую базу 1С с совместимой конфигурацией, а не для сторонних систем — структура файла отражает внутреннее устройство объектов 1С.

Откройте обработку через меню «Файл → Открыть», отметьте нужные объекты (справочник «Номенклатура» и связанные: «Единицы измерения», «Виды цен»), укажите имя файла и выполните выгрузку. Для больших справочников выгрузка может занять заметное время.

Выгрузка произвольного набора данных через запрос

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

Простой путь без программирования: сформировать нужный отчёт или список через консоль запросов, выгрузить результат в табличный документ, а затем сохранить в формате, который приёмник сможет обработать. Для регулярной выгрузки в фиксированной схеме XML обычно пишут небольшую внешнюю обработку с использованием объекта «ЗаписьXML».

bsl
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Export\goods.xml", "UTF-8");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("goods");
Пока Выборка.Следующий() Цикл
    Запись.ЗаписатьНачалоЭлемента("item");
    Запись.ЗаписатьАтрибут("id", Строка(Выборка.Артикул));
    Запись.ЗаписатьЭлемент("name", Выборка.Наименование);
    Запись.ЗаписатьЭлемент("price", Формат(Выборка.Цена, "ЧГ="));
    Запись.ЗаписатьКонецЭлемента();
КонецЦикла;
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();

Такой подход требует навыков встроенного языка 1С, но даёт полный контроль над структурой файла: какие поля выгружать, как их именовать и как форматировать значения.

Особенности для разных конфигураций

Возможности выгрузки заметно различаются между конфигурациями, и это нужно учитывать при планировании.

КонфигурацияТиповой обмен с сайтом (CML)Что использовать
Управление торговлей 11Есть, полноценныйУзел обмена с сайтом
Управление нашей фирмойЕстьУзел обмена с сайтом
Комплексная автоматизация 2ЕстьУзел обмена с сайтом
Бухгалтерия предприятия 3НетУниверсальная обработка или сторонние решения
РозницаОграниченОбмен с сайтом или планы обмена

В «Бухгалтерии предприятия» типового механизма выгрузки каталога на сайт нет, поэтому для обмена с магазином применяют платные модули интеграции или переносят номенклатуру универсальными средствами. Учитывайте это при выборе архитектуры обмена.

Проверка результата и типичные ошибки

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

Контрольная проверка: загрузите файл в тестовую среду приёмника или воспользуйтесь валидатором схемы, если платформа его предоставляет. Многие маркетплейсы имеют веб-интерфейс проверки фида перед публикацией.

Типичные ошибки
01
Выгрузка без отбора: в файл попадают архивные и служебные позиции, приёмник переполняется мусором
02
Неправильная кодировка: кириллица превращается в нечитаемые символы — сохраняйте файл в UTF-8
03
Нестабильные идентификаторы: если при каждой выгрузке ID товаров меняются, приёмник создаёт дубли вместо обновления
04
Игнорирование спецсимволов: амперсанды и кавычки в наименованиях ломают структуру XML, если не экранированы
05
Выгрузка всей базы в один файл: приёмники часто ограничивают размер фида, большие каталоги лучше разбивать
Контрольные точки

Как проверить результат

Файл открывается в браузере
Норма

Дерево XML отображается без сообщений об ошибке

Тревожный признак

Браузер показывает ошибку разбора с указанием строки

Кодировка
Норма

Русские названия читаются, в объявлении указан UTF-8

Тревожный признак

Крякозябры вместо кириллицы

Количество товаров
Норма

Совпадает с числом позиций по отбору в 1С

Тревожный признак

Товаров заметно больше или меньше ожидаемого

Идентификаторы
Норма

ID стабильны между повторными выгрузками

Тревожный признак

При каждой выгрузке идентификаторы новые

Регулярная выгрузка по расписанию

Разовая выгрузка решает задачу миграции, но для работающего магазина каталог должен обновляться регулярно. В типовых конфигурациях обмен с сайтом можно выполнять по расписанию через регламентное задание: в настройках узла обмена укажите периодичность, и файлы будут формироваться автоматически.

Для файлового режима работы базы регламентные задания выполняются только при запущенном сеансе с соответствующими настройками — в клиент-серверном варианте они работают на сервере автономно. Учитывайте это, если выгрузка «молча» перестала обновляться.

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

Для регулярного обмена выгружайте только изменения, а не весь каталог: типовой узел обмена с сайтом умеет регистрировать изменённые объекты. Это сокращает размер файла и время обмена в разы, особенно при номенклатуре в десятки тысяч позиций.
ПЗ
Практическое замечание

FAQ

Можно ли выгрузить товары в XML из 1С:Бухгалтерии?

Типового обмена с сайтом в «Бухгалтерии» нет. Используйте универсальную обработку «Выгрузка и загрузка данных XML» для переноса в другую базу 1С, либо сторонние модули интеграции, если нужен формат CommerceML для магазина.

Чем отличается CommerceML от YML?

Оба формата основаны на XML, но имеют разные схемы. CommerceML — стандарт обмена 1С с сайтами, YML — формат фидов для Яндекс.Маркета и ряда маркетплейсов. Файл одного формата нельзя подать в систему, ожидающую другой, без преобразования.

Почему в выгрузке нет цен или остатков?

В типовом обмене каталог и предложения выгружаются в разные файлы: import.xml содержит товары, offers.xml — цены и остатки. Также проверьте, что в настройках узла указан тип цен и склад, и что по ним есть данные.

Файл получился очень большим, приёмник его не принимает. Что делать?

Разбейте выгрузку по группам товаров, включите режим выгрузки только изменений или упакуйте файл в ZIP — многие платформы принимают архивы. Также уберите из выгрузки неиспользуемые картинки и лишние реквизиты.

Безопасно ли загружать XML из чужой базы в свою?

Только после проверки на копии базы. При несовпадении конфигураций или версий возможны дубли элементов и повреждение ссылочной целостности. Перед загрузкой в рабочую базу всегда делайте резервную копию.

Итог

Что важно запомнить

Сначала выясните требуемую схему XML у приёмника, затем выбирайте инструмент: типовой обмен с сайтом для CommerceML, универсальную обработку для переноса между базами, запрос и ЗаписьXML для нестандартных схем. Проверяйте файл на кодировку, структуру и стабильность идентификаторов, а загрузку в рабочую базу выполняйте только после теста на копии.