Выгрузка товарного фида из 1С: пошаговая инструкция

· 10 мин

Содержание

Фид формируется не одной кнопкой «Выгрузить на Маркет». В типовой 1С (Управление торговлей, Управление нашей фирмой, Розница) нет готовой выгрузки в формате Яндекс.Маркета. Есть стандартный обмен с сайтом по протоколу CommerceML — он отдаёт каталог и цены, а уже сайт или сервис-коннектор превращает их в YML-фид для площадки.

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

Товарный фид и почему 1С не отдаёт его «одной кнопкой»

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

Главная развилка в том, что форматы у всех разные:

  • 🟡 Яндекс.Маркет и рекламные кампании Яндекса (товарная галерея, смарт-баннеры) читают YML — это XML с корневым тегом yml_catalog.
  • 🔵 Сайт на 1С-Битрикс и другие CMS принимают из 1С CommerceML — пару файлов import.xml (каталог) и offers.xml (цены и остатки).
  • 🟢 OZON и Wildberries товарный фид в привычном смысле не используют: карточки заводят через личный кабинет по XLS-шаблону или синхронизируют по API.

Отсюда простое правило: типовая 1С сама по себе умеет только CommerceML. Всё остальное — это либо надстройка над обменом, либо отдельная обработка, которая строит YML напрямую.

Требования площадок: YML для Маркета, шаблоны для OZON и Wildberries

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

ПлощадкаФорматКак попадает
Яндекс.МаркетYML или APIСсылка на файл в личном кабинете, обновление по расписанию
Рекламные кампании ЯндексаYMLФид привязывается к кампании в Директе
Сайт (Битрикс, CS-Cart)CommerceMLОбмен 1С ↔ сайт, сайт отдаёт свой фид на Маркет
OZONXLS-шаблон / APIЗагрузка в кабинете продавца или коннектор
WildberriesXLS-шаблон / APIЗагрузка в кабинете продавца или коннектор

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

OZON и Wildberries не читают YML. Если задача — автоматически обновлять там цены и остатки, нужен не фид, а интеграция по API через коннектор. Файл YML им не загрузить.

Отдельно проверьте лимиты площадки на размер файла и частоту обновления. Маркет обычно опрашивает фид раз в несколько часов — чаще смысла публиковать нет.

Что подготовить в номенклатуре 1С перед выгрузкой

80% проблем с фидом родом не из обмена, а из «грязного» справочника номенклатуры. Площадка отклонит товар без цены, без категории или с пустым названием. Поэтому сначала наведите порядок в данных.

Минимальный набор полей, который должен быть заполнен у каждого товара, идущего в фид:

  • 🏷️ Наименование — полное, читаемое, без внутренних артикулов в начале строки.
  • 💰 Цена — актуальный вид цен (в УТ это «Виды цен», в Бухгалтерии «Типы цен»); для фида обычно берут розничную.
  • 📦 Остаток — товар с нулём либо не выгружается, либо помечается как недоступный.
  • 🗂️ Категория — привязка к группе номенклатуры или к категории площадки.
  • 🖼️ Картинки — присоединённые файлы или ссылки; битые ссылки Маркет отклоняет.
  • 🔖 Производитель и штрихкод — не всегда обязательны, но улучшают модерацию.
Готовность номенклатуры к выгрузке фида
Выполнено: 0 / 7

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

Способы получить фид из 1С: обмен с сайтом, обработка, доработка

Готовой «кнопки Маркет» в типовой конфигурации нет, поэтому выбирают механизм под свои задачи. Четыре рабочих варианта:

СпособЧто даётКогда подходит
Обмен с сайтом + CMS1С отдаёт CommerceML, сайт строит YMLУже есть сайт на Битрикс или аналоге
Внешняя обработка (СКД)Строит YML прямо из базы, файл на диск или FTPСайта нет, нужен фид «из 1С напрямую»
Доработка конфигурацииСвоя выгрузка + регламентное заданиеНестандартные правила, большой ассортимент
Сторонний сервис-коннекторГотовая интеграция с Маркетом/OZON/WBНужны несколько площадок и API

Самый частый на практике — обмен с сайтом: он встроен в типовые УТ, УНФ и Розницу, настраивается без программиста и отдаёт стандартный CommerceML. Минус — сам YML для Маркета формирует уже сайт, а не 1С.

Внешняя обработка на СКД хороша, когда сайта нет вовсе. Запрос выбирает номенклатуру, цены и остатки, макет собирает из них YML и сохраняет файл. Такую обработку либо пишут под себя, либо берут готовую у интеграторов.

Если площадок несколько (Маркет + OZON + WB), экономнее не плодить выгрузки, а поставить коннектор с API: он сам раскладывает один каталог 1С по разным площадкам в их форматах.

Пошагово: формируем фид через обмен с сайтом

Разберём самый доступный путь — стандартный обмен с сайтом в УТ или УНФ. Пути в вашей конфигурации могут называться чуть иначе, но логика одна.

  1. Откройте раздел администрирования (в УТ — НСИ и администрирование) и найдите настройки интеграции — пункт обмена с сайтом. Включите флаг использования обмена.
  2. Создайте узел обмена с сайтом. Укажите наименование и, если обмен идёт напрямую, адрес сайта, логин и пароль; если через файл — папку выгрузки.
  3. Задайте состав выгрузки: группы номенклатуры или отбор по признаку «Выгружать в фид», вид цен, склад для остатков.
  4. Укажите, выгружать ли картинки и характеристики — они пойдут в файл offers.xml.
  5. Запустите обмен кнопкой «Выполнить обмен». 1С сформирует import.xml (каталог, категории, свойства) и offers.xml (цены, остатки).
  6. Проверьте файлы: откройте offers.xml и убедитесь, что цены и остатки не пустые.

Дальше возможны два сценария. Если у вас сайт на CMS — он принимает CommerceML и сам отдаёт YML-ссылку, которую вы вставляете в кабинет Маркета. Если сайта нет — CommerceML придётся конвертировать в YML обработкой или сервисом: напрямую Маркет файлы обмена с сайтом не понимает.

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

Обязательные поля YML и откуда 1С их берёт

Чтобы фид прошёл модерацию, в каждом offer должен быть заполнен набор обязательных тегов. Вот как они сопоставляются с данными 1С:

Сопоставление полей
Код/артикул номенклатуры→offer id
Наименование→name
Вид (тип) цен→price
Валюта учёта→currencyId
Группа номенклатуры→categoryId
Присоединённые картинки→picture
Производитель→vendor
Остаток по складу→available
Ссылка на товар на сайте→url
Дополнительные реквизиты→param

Несколько тонкостей, на которых спотыкаются чаще всего:

  • offer id должен быть стабильным и уникальным. Берите код или артикул из 1С, а не внутренний GUID — иначе при каждой перезагрузке Маркет будет считать товары новыми.
  • categoryId ссылается на id из блока категорий того же файла. Если категории товара нет в дереве — товар отклонят.
  • price — число без пробелов и символа валюты. Валюта выносится отдельно в currencyId (обычно RUB).
  • available отражает остаток: true, если товар есть на складе. Нулевые остатки либо false, либо исключаются из выгрузки.

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

Автоматизация: обновление фида по расписанию

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

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

Разумная частота обновления:

  • 💵 цены — раз в несколько часов, синхронно с опросом фида площадкой;
  • 📦 остатки — так же или чаще, если товар быстро заканчивается;
  • 🗂️ каталог целиком (новые карточки, категории) — раз в сутки, этого достаточно.

Не ставьте обмен на каждые пять минут. Частые полные выгрузки грузят базу и сервер, а Маркет всё равно читает фид по своему расписанию — смысла в более частом обновлении нет.

Если фид строит внешняя обработка, её запуск так же вешают на регламентное задание или на планировщик ОС, а готовый файл кладут на FTP или в папку, доступную площадке по ссылке.

Проверка фида и типичные ошибки

Перед тем как дать площадке ссылку, прогоните файл через валидатор в личном кабинете Маркета — он покажет ошибки структуры и перечень товаров, которые не прошли. Так вы увидите проблему до того, как половина ассортимента «отвалится».

Что проверять глазами в самом файле:

  • кодировка UTF-8 и отсутствие «кракозябр» в названиях;
  • у каждого offer заполнены name, price, categoryId;
  • ссылки на картинки открываются в браузере;
  • число товаров в фиде совпадает с ожидаемым (нет лишних архивных позиций).
Диагностика: выберите симптом

Когда фид проходит валидацию, займитесь его качеством — от этого зависит, насколько хорошо карточки показываются в поиске площадки:

  • 📝 Названия пишите по формуле «тип + бренд + модель + ключевой признак», без аббревиатур и служебных кодов — по ним ищут покупатели.
  • 🧩 Характеристики (param) заполняйте максимально полно: цвет, размер, материал. По ним работают фильтры, и товар без них теряет часть показов.
  • 🖼️ Картинки давайте в хорошем разрешении и первой ставьте основное фото на белом фоне — так проще пройти модерацию.
  • 🧾 Описание переносите в description чистым текстом, без HTML-тегов из карточки сайта.

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

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

Можно ли выгрузить фид из 1С:Бухгалтерии?
В типовой Бухгалтерии нет обмена с сайтом и выгрузки товарного каталога — она ведёт учёт, а не управляет интернет-витриной. Фид делают из Управления торговлей, Управления нашей фирмой или Розницы, а при их отсутствии — внешней обработкой.
Чем YML отличается от CommerceML?
YML — формат Яндекс.Маркета и рекламы Яндекса. CommerceML — формат обмена 1С с сайтом (файлы import.xml и offers.xml). Типовая 1С отдаёт CommerceML, а YML из него формирует сайт или отдельная обработка.
Как выгрузить товары из 1С на OZON и Wildberries?
Через фид — никак: эти площадки его не читают. Карточки заводят в кабинете продавца по XLS-шаблону либо синхронизируют остатки и цены по API через коннектор, который связывает 1С с личным кабинетом.
Почему в фид попали лишние или архивные товары?
Выгрузка настроена на весь справочник. Ограничьте состав отбором по группе или по дополнительному реквизиту «Выгружать в фид» и перезапустите обмен.
Нужен ли программист, чтобы сделать фид?
Для стандартного обмена с сайтом — нет, он настраивается в пользовательском режиме. Программист нужен, если фид строит доработанная обработка или требуется нестандартный формат под конкретную площадку.