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

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

Как выгрузить YML из 1С: практическое руководство

Как выгрузить YML-файл из 1С для Яндекс.Маркета: типовые обработки, настройка выгрузки, проверка файла, типичные ошибки и решения для УТ, КА и ERP.

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

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

Ниже разобраны основные способы выгрузки, настройка параметров файла, проверка результата и типичные ошибки, из-за которых Маркет отклоняет прайс-лист. Инструкция ориентирована на пользователя с правами администратора или маркетолога, работающего в 1С.

Что такое YML и когда он нужен

YML — это частный случай XML с жёстко заданной структурой: внутри файла описываются магазин, валюты, категории, предложения (offers) и их параметры. Яндекс.Маркет периодически скачивает этот файл по ссылке или принимает его загрузкой и обновляет карточки товаров на витрине.

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

Проверка готовности конфигурации

Первый шаг — понять, есть ли в вашей конфигурации штатный механизм. Откройте раздел «Администрирование» и найдите настройки обмена с сайтом или интеграции с маркетплейсами. В УТ 11, КА 2 и ERP 2 типовой узел обмена умеет формировать файл в формате, совместимом с YML, либо выгружать CommerceML, который затем конвертируется.

Проверьте версию конфигурации: в старых релизах УТ 10.3 или «Управление производственным предприятием» штатной выгрузки в YML нет, и потребуется внешняя обработка. Также убедитесь, что у вас есть права на настройку планов обмена — обычно это роль администратора или «Настройка обмена данными».

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

В меню есть «Обмен с сайтом»Штатный механизм доступен

Можно настроить узел обмена без доработок

Конфигурация УТ 10.3 или самописнаяШтатной выгрузки нет

Понадобится внешняя обработка или доработка

У товаров нет картинок и ценДанные не готовы

Сначала заполните карточки, иначе файл не пройдёт валидацию

Выгрузка через обмен с сайтом в УТ 11, КА 2 и ERP 2

Основной способ для типовых конфигураций — узел обмена с сайтом. Перейдите в «Администрирование» → «Обмен с сайтами» (в некоторых релизах — «Синхронизация данных» → «Обмен с сайтом») и создайте новый узел обмена. Укажите режим «Выгрузка в каталог на диске», если нужен локальный файл, а не отправка по HTTP.

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

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

Порядок действий
  1. 1
    Откройте «Администрирование» → «Обмен с сайтом» и создайте узел обмена
  2. 2
    Выберите режим выгрузки в каталог на диске и укажите папку для файла
  3. 3
    Настройте отбор товаров: сегмент, вид цен, склад остатков
  4. 4
    Укажите формат YML, если он доступен в вашем релизе
  5. 5
    Выполните обмен и проверьте созданный файл в каталоге
  6. 6
    Настройте расписание для автоматического обновления

Выгрузка через внешние обработки

Если штатного механизма нет, используют внешнюю обработку (.epf), формирующую YML напрямую из данных справочника «Номенклатура». Такие обработки открываются через «Файл» → «Открыть» и обычно содержат настройки отбора товаров, типа цен, склада и соответствия категорий 1С категориям Маркета.

Типовой сценарий работы: загрузите обработку, укажите вид цен (например, «Розничная»), выберите склад для остатков, задайте соответствие групп номенклатуры категориям YML и нажмите «Сформировать». Файл сохранится в указанное место. Перед использованием сторонней обработки в рабочей базе протестируйте её на копии — код обработки имеет полный доступ к данным.

Настройка содержимого файла

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

Особое внимание уделите категориям: Яндекс.Маркет требует, чтобы категории в файле соответствовали его классификатору или были корректно сопоставлены. В настройках обмена или обработки задайте таблицу соответствия «группа номенклатуры → категория Маркета». Также проверьте, что цены выгружаются в правильной валюте и что тип цен актуален — выгрузка устаревшей закупочной цены вместо розничной приведёт к блокировке магазина за несоответствие цен.

Проверка и валидация файла

После формирования откройте файл в текстовом редакторе или браузере: XML должен корректно отображаться, без обрывов и сообщений об ошибках разбора. Проверьте, что в файле есть блоки yml_catalog, shop, categories и offers, а количество предложений соответствует ожидаемому числу товаров.

Затем загрузите файл в валидатор в личном кабинете Яндекс.Маркета или укажите ссылку на него в настройках магазина — площадка выполнит проверку и покажет список ошибок и предупреждений. Критичные ошибки (неверная структура, отсутствие цен) блокируют публикацию, предупреждения (нет картинок, незаполненные характеристики) снижают качество карточек, но не мешают размещению.

Контрольные точки

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

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

XML отображается как дерево без ошибок разбора

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

Сообщение об ошибке синтаксиса XML

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

Совпадает с числом выгружаемых товаров

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

Товаров заметно меньше — сработал лишний отбор

Проверка в кабинете Маркета
Норма

Нет критических ошибок, только предупреждения или их нет

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

Ошибки структуры, пустые цены, недоступные картинки

Типичные ошибки и их устранение

Чаще всего файл отклоняется из-за пустых или нулевых цен — проверьте, что выбран правильный тип цен и он заполнен на дату выгрузки. Вторая частая причина — недопустимые символы в названиях (амперсанды, кавычки без экранирования), из-за которых ломается XML-структура; штатные механизмы экранируют их автоматически, а самописные — не всегда.

Также встречаются: дубли идентификаторов товаров при выгрузке из нескольких узлов, битые ссылки на изображения и несоответствие остатков (в файле «в наличии», на витрине — нет). Для диагностики включите журнал регистрации обмена и смотрите сообщения об ошибках непосредственно при выгрузке.

Типичные ошибки
01
Выгрузка неактуального типа цен — Маркет блокирует магазин за расхождение цен
02
Нет соответствия категорий — товары попадают в неверные рубрики или отклоняются
03
Ссылки на картинки ведут на локальный диск — изображения не загружаются на витрине
04
Ручная правка файла в редакторе без экранирования символов — XML перестаёт разбираться
05
Разовая выгрузка без расписания — цены и остатки на маркетплейсе устаревают

Альтернативы и автоматизация

Если штатная выгрузка не закрывает потребности, есть альтернативы: модули интеграции с маркетплейсами от партнёров 1С, обмен через CommerceML с конвертацией на стороне сайта и прямая выгрузка через API Яндекс.Маркета (для модели DBS/FBY с передачей остатков отдельными запросами).

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

Сравнение вариантов

Штатный обмен с сайтом

Подходит для УТ 11, КА 2, ERP 2; не требует доработок, но гибкость ограничена настройками узла

Внешняя обработка

Для старых и нетиповых конфигураций; требует проверки безопасности и ручного сопровождения

Модуль интеграции с маркетплейсом

Когда нужен полный цикл: заказы, статусы, остатки; платное решение, требует внедрения

API Яндекс.Маркета

Для точной синхронизации остатков в реальном времени; нужна разработка

Итог

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

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

Частые вопросы

Можно ли выгрузить YML из 1С:Розница?

Да, в «1С:Розница» также доступен обмен с сайтом через план обмена. Принцип тот же: создаётся узел, настраивается отбор товаров и цен, файл сохраняется в каталог. Если типового формата YML в вашем релизе нет, применяется внешняя обработка.

Как выгрузить в YML только часть товаров?

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

Почему в файле товаров меньше, чем в базе?

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

Как часто нужно обновлять YML-файл?

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

Маркет пишет «ошибка разбора XML» — что делать?

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

Можно ли выгружать YML сразу на сайт по ссылке?

Да. Файл, сформированный 1С, нужно разместить в каталоге веб-сервера, доступном из интернета, и дать Маркету прямую ссылку. Альтернатива — обмен по HTTP, когда 1С сама отправляет данные на сайт при выполнении обмена.