Выгрузка товарного фида из 1С: пошаговая инструкция
Содержание
Фид формируется не одной кнопкой «Выгрузить на Маркет». В типовой 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С ↔ сайт, сайт отдаёт свой фид на Маркет |
| OZON | XLS-шаблон / API | Загрузка в кабинете продавца или коннектор |
| Wildberries | XLS-шаблон / API | Загрузка в кабинете продавца или коннектор |
Для YML есть обязательный минимум по каждому товару: идентификатор, название, цена, валюта, ссылка на категорию, остаток (атрибут available). Для магазина целиком — название, валюты и дерево категорий. Кодировка файла — строго UTF-8, иначе кириллица в названиях «поедет».
OZON и Wildberries не читают YML. Если задача — автоматически обновлять там цены и остатки, нужен не фид, а интеграция по API через коннектор. Файл YML им не загрузить.
Отдельно проверьте лимиты площадки на размер файла и частоту обновления. Маркет обычно опрашивает фид раз в несколько часов — чаще смысла публиковать нет.
Что подготовить в номенклатуре 1С перед выгрузкой
80% проблем с фидом родом не из обмена, а из «грязного» справочника номенклатуры. Площадка отклонит товар без цены, без категории или с пустым названием. Поэтому сначала наведите порядок в данных.
Минимальный набор полей, который должен быть заполнен у каждого товара, идущего в фид:
- 🏷️ Наименование — полное, читаемое, без внутренних артикулов в начале строки.
- 💰 Цена — актуальный вид цен (в УТ это «Виды цен», в Бухгалтерии «Типы цен»); для фида обычно берут розничную.
- 📦 Остаток — товар с нулём либо не выгружается, либо помечается как недоступный.
- 🗂️ Категория — привязка к группе номенклатуры или к категории площадки.
- 🖼️ Картинки — присоединённые файлы или ссылки; битые ссылки Маркет отклоняет.
- 🔖 Производитель и штрихкод — не всегда обязательны, но улучшают модерацию.
Отдельно решите, какие товары вообще едут в фид. Выгружать весь справочник целиком — ошибка: в него попадут архивные позиции, услуги, комплектующие. Заведите признак «Выгружать в фид» (дополнительный реквизит) или отдельную группу номенклатуры и фильтруйте по нему.
Способы получить фид из 1С: обмен с сайтом, обработка, доработка
Готовой «кнопки Маркет» в типовой конфигурации нет, поэтому выбирают механизм под свои задачи. Четыре рабочих варианта:
| Способ | Что даёт | Когда подходит |
|---|---|---|
| Обмен с сайтом + CMS | 1С отдаёт CommerceML, сайт строит YML | Уже есть сайт на Битрикс или аналоге |
| Внешняя обработка (СКД) | Строит YML прямо из базы, файл на диск или FTP | Сайта нет, нужен фид «из 1С напрямую» |
| Доработка конфигурации | Своя выгрузка + регламентное задание | Нестандартные правила, большой ассортимент |
| Сторонний сервис-коннектор | Готовая интеграция с Маркетом/OZON/WB | Нужны несколько площадок и API |
Самый частый на практике — обмен с сайтом: он встроен в типовые УТ, УНФ и Розницу, настраивается без программиста и отдаёт стандартный CommerceML. Минус — сам YML для Маркета формирует уже сайт, а не 1С.
Внешняя обработка на СКД хороша, когда сайта нет вовсе. Запрос выбирает номенклатуру, цены и остатки, макет собирает из них YML и сохраняет файл. Такую обработку либо пишут под себя, либо берут готовую у интеграторов.
Если площадок несколько (Маркет + OZON + WB), экономнее не плодить выгрузки, а поставить коннектор с API: он сам раскладывает один каталог 1С по разным площадкам в их форматах.
Пошагово: формируем фид через обмен с сайтом
Разберём самый доступный путь — стандартный обмен с сайтом в УТ или УНФ. Пути в вашей конфигурации могут называться чуть иначе, но логика одна.
- Откройте раздел администрирования (в УТ —
НСИ и администрирование) и найдите настройки интеграции — пункт обмена с сайтом. Включите флаг использования обмена. - Создайте узел обмена с сайтом. Укажите наименование и, если обмен идёт напрямую, адрес сайта, логин и пароль; если через файл — папку выгрузки.
- Задайте состав выгрузки: группы номенклатуры или отбор по признаку «Выгружать в фид», вид цен, склад для остатков.
- Укажите, выгружать ли картинки и характеристики — они пойдут в файл
offers.xml. - Запустите обмен кнопкой «Выполнить обмен». 1С сформирует
import.xml(каталог, категории, свойства) иoffers.xml(цены, остатки). - Проверьте файлы: откройте
offers.xmlи убедитесь, что цены и остатки не пустые.
Дальше возможны два сценария. Если у вас сайт на CMS — он принимает CommerceML и сам отдаёт YML-ссылку, которую вы вставляете в кабинет Маркета. Если сайта нет — CommerceML придётся конвертировать в YML обработкой или сервисом: напрямую Маркет файлы обмена с сайтом не понимает.
Перед первым боевым обменом сделайте резервную копию базы и прогоните выгрузку на тестовой папке — ошибка в отборе может выгрузить лишние тысячи позиций.
Обязательные поля YML и откуда 1С их берёт
Чтобы фид прошёл модерацию, в каждом offer должен быть заполнен набор обязательных тегов. Вот как они сопоставляются с данными 1С:
Несколько тонкостей, на которых спотыкаются чаще всего:
offer idдолжен быть стабильным и уникальным. Берите код или артикул из 1С, а не внутреннийGUID— иначе при каждой перезагрузке Маркет будет считать товары новыми.categoryIdссылается наidиз блока категорий того же файла. Если категории товара нет в дереве — товар отклонят.price— число без пробелов и символа валюты. Валюта выносится отдельно вcurrencyId(обычноRUB).availableотражает остаток:true, если товар есть на складе. Нулевые остатки либоfalse, либо исключаются из выгрузки.
Если каких-то характеристик в типовой номенклатуре нет (цвет, размер, бренд для фильтров Маркета), заведите их как дополнительные реквизиты и выгружайте в теги param.
Автоматизация: обновление фида по расписанию
Ручной обмен подходит для первого запуска, но цены и остатки живут своей жизнью. Фид должен обновляться сам.
В обмене с сайтом за это отвечает регламентное задание. В клиент-серверной базе его включают на сервере и задают расписание — например, каждые 2–4 часа. В файловой базе задание работает только при запущенном сеансе 1С, поэтому там либо держат фоновый сеанс, либо запускают обмен по расписанию внешним планировщиком.
Разумная частота обновления:
- 💵 цены — раз в несколько часов, синхронно с опросом фида площадкой;
- 📦 остатки — так же или чаще, если товар быстро заканчивается;
- 🗂️ каталог целиком (новые карточки, категории) — раз в сутки, этого достаточно.
Не ставьте обмен на каждые пять минут. Частые полные выгрузки грузят базу и сервер, а Маркет всё равно читает фид по своему расписанию — смысла в более частом обновлении нет.
Если фид строит внешняя обработка, её запуск так же вешают на регламентное задание или на планировщик ОС, а готовый файл кладут на FTP или в папку, доступную площадке по ссылке.
Проверка фида и типичные ошибки
Перед тем как дать площадке ссылку, прогоните файл через валидатор в личном кабинете Маркета — он покажет ошибки структуры и перечень товаров, которые не прошли. Так вы увидите проблему до того, как половина ассортимента «отвалится».
Что проверять глазами в самом файле:
- кодировка
UTF-8и отсутствие «кракозябр» в названиях; - у каждого
offerзаполненыname,price,categoryId; - ссылки на картинки открываются в браузере;
- число товаров в фиде совпадает с ожидаемым (нет лишних архивных позиций).
categoryId у товара ссылается на id, которого нет в блоке категорий. Проверьте, что группа номенклатуры выгружается в дерево категорий фида.offer id подставляется нестабильный идентификатор. Привяжите id к коду или артикулу номенклатуры.Когда фид проходит валидацию, займитесь его качеством — от этого зависит, насколько хорошо карточки показываются в поиске площадки:
- 📝 Названия пишите по формуле «тип + бренд + модель + ключевой признак», без аббревиатур и служебных кодов — по ним ищут покупатели.
- 🧩 Характеристики (
param) заполняйте максимально полно: цвет, размер, материал. По ним работают фильтры, и товар без них теряет часть показов. - 🖼️ Картинки давайте в хорошем разрешении и первой ставьте основное фото на белом фоне — так проще пройти модерацию.
- 🧾 Описание переносите в
descriptionчистым текстом, без HTML-тегов из карточки сайта.
Самая частая причина «фид не работает » — не технический сбой, а пустые или неправильные поля в номенклатуре. Поэтому чистка справочника из третьего раздела важнее, чем тонкая настройка самой выгрузки.
Частые вопросы
Можно ли выгрузить фид из 1С:Бухгалтерии?
Чем YML отличается от CommerceML?
YML — формат Яндекс.Маркета и рекламы Яндекса. CommerceML — формат обмена 1С с сайтом (файлы import.xml и offers.xml). Типовая 1С отдаёт CommerceML, а YML из него формирует сайт или отдельная обработка.