Александр Руин

Консультант по проектированию AI‑систем

Александр Руин — консультант по проектированию систем. Помогаю спроектировать архитектуру, оценить риски и выстроить прозрачный процесс — от выбора технологий до сопровождения. Рутину берут на себя AI‑исполнители. Направления: автоматизация, интеграции, AI‑продукты.

Экспорт номенклатуры из 1С: иерархия, характеристики, картинки и большие объёмы

Менеджер маркетплейса просит «выгрузить весь каталог: 50 000 SKU, группы, характеристики, картинки, штрихкоды, цены и остатки». Простая команда «Вывести список» в справочнике номенклатуры помогает получить видимые колонки, но не решает задачу полноценного обмена: она не передаёт связи с группами, торговые предложения, файлы картинок и регистры цен/остатков.

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

Ключевые факты

  • CommerceML — стандарт XML-обмена коммерческой информацией, который фирма «1С» описывает как формат для электронного обмена между информационными системами. Для обмена каталогом с 1C-Битрикс документация перечисляет отдельные XML-файлы: import.xml, offers.xml, prices.xml, rests.xml, а также дополнительные файлы для документов, контрагентов и справочников.
  • В import.xml обычно уходят разделы, товары, типы цен, склады, свойства и единицы измерения; в offers.xml — торговые предложения; в prices.xml — цены; в rests.xml — остатки. Поэтому нельзя проверять выгрузку только по наличию файла import.xml.
  • Универсальная обработка «Выгрузка и загрузка данных XML» подходит для переноса данных между информационными базами 1С и может выгружать данные полностью или выборочно. Для обмена с сайтом её надо использовать осторожно: она переносит структуру 1С, а не обязательно формат, понятный внешней витрине.
  • Официальный сервис «1С:Номенклатура» включает загрузку актуальных классификаторов ОКПД2, ТН ВЭД и ОКЕИ в учетные системы. Для интеграций это важно: единицу измерения безопаснее сопоставлять по коду ОКЕИ, а не по строке «шт», «шт.» или «штука».
  • Картинки характеристик — отдельная зона риска. В документации 1C-Битрикс есть отдельный раздел «Картинки и файлы характеристик номенклатуры»: файлы характеристик выгружаются как файлы предложений и обновляются по алгоритму «новые и изменённые», а для полной переотправки есть принудительная выгрузка картинок.
  • Для больших справочников первая выгрузка почти всегда полная, но регулярный обмен лучше переводить на дельты: отдельно хранить время последней успешной выгрузки, отбор изменённых товаров, контроль удалённых/помеченных на удаление позиций и журнал ошибок.

Из практики интеграций Синхрон1С: чаще всего ломается не сам XML, а идентичность товара между выгрузками. Если сегодня товар ушёл с ID=123, а завтра тот же артикул ушёл как новая строка без старого GUID, сайт или маркетплейс не «обновит карточку», а создаст дубль. Поэтому перед оптимизацией скорости я сначала проверяю стабильные идентификаторы, потом полноту связей, и только после этого дробление, расписание и производительность.

Сравнение способов экспорта номенклатуры

Способ Что выгружает Иерархия / Характеристики / Картинки Где применять Ограничение
Кнопка «Вывести список» Видимые колонки справочника Нет / Нет / Нет Быстро отдать перечень для ручной сверки Не годится для магазина и маркетплейса
Отчёт «Прайс-лист» Артикулы, цены, иногда остатки Частично / Нет / Нет Разовый прайс для отдела продаж Теряет структуру каталога и предложения
«Выгрузка и загрузка данных XML» Выбранные объекты 1С в XML Да / зависит от выбранных связанных объектов / зависит от конфигурации Перенос между базами 1С, резервная выгрузка, миграция Требует совместимой структуры баз и теста на копии
CommerceML-обмен с сайтом import.xml, offers.xml, prices.xml, rests.xml Да / Да / Да, если модуль и настройки это поддерживают Интернет-магазин, 1C-Битрикс, каталог с предложениями Надо проверять порядок файлов и маппинг свойств
CSV / Excel / JSON по правилам Нужный набор колонок и связей Да, если явно добавить parent_guid, offer_guid, image_url Маркетплейсы, PIM, Google Sheets, кастомный API Все связи надо проектировать вручную
Синхрон1С CommerceML / XML / CSV / Excel / JSON / API маркетплейса Да / Да / Да Регулярный обмен с диагностикой и уведомлениями Проектная настройка под вашу конфигурацию

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

  1. Монолитный XML вместо понятной схемы обмена. Один файл на десятки тысяч товаров сложнее валидировать, повторно передавать и восстанавливать после сбоя. Решение: разделить каталог, предложения, цены и остатки либо использовать формат, который ожидает приёмник.
  2. Потерянная иерархия групп. Плоский CSV не несёт parent_id. В CommerceML группы выгружаются рекурсивно через <Группы><Группа><Группы>.... В Excel — добавляйте колонку «Полный путь группы» либо parent_guid.
  3. Потерянные характеристики (цвет/размер). Они лежат в подчинённом справочнике «Характеристики номенклатуры», а не в реквизитах. Типовая «Вывести список» их не видит — нужен запрос с соединением или CommerceML, у которого характеристики идут отдельным <ХарактеристикаТовара>.
  4. Картинки не выгружаются или приходят не к тому предложению. Для обычных товаров и характеристик могут быть разные места хранения файлов и разные настройки обмена. Проверяйте не только наличие файла, но и связь товар -> характеристика -> картинка.
  5. Сопоставление единиц измерения по наименованию вместо ОКЕИ. «шт» в 1С, «шт.» в магазине и piece в API маркетплейса — это три разные строки. В интеграционном файле лучше передавать код ОКЕИ и отдельное человекочитаемое название.
  6. Полная выгрузка каждый раз. При большом каталоге это даёт лишнюю нагрузку и делает ночной обмен хрупким. После первой полной выгрузки храните дату/маркер последнего успешного обмена и отдавайте изменения пакетами.
  7. Экспорт с рабочего клиента при больших объёмах. Файлы, картинки и большие XML-пакеты лучше формировать на стороне сервера 1С или фонового задания, чтобы не зависеть от памяти, сессии и сети пользователя.
  8. Нестабильный идентификатор товара. Если самописный CSV/JSON выгружает только артикул, а артикулы меняются, приёмник не поймёт, что это та же карточка. Используйте стабильный GUID/UUID 1С, а артикул и штрихкод оставляйте дополнительными ключами.

Практическая диагностика перед выгрузкой

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

Проверочный минимум:

  • Выгрузите 1 товар из каждой глубины иерархии и убедитесь, что у него есть parent_guid или полный путь группы.
  • Сравните количество строк товар + характеристика в выгрузке с количеством активных характеристик в 1С.
  • Откройте 5 ссылок на картинки из файла и проверьте, что они доступны приёмнику, а не только локальному пользователю 1С.
  • Проверьте единицы измерения: код ОКЕИ, краткое наименование, коэффициент упаковки и базовую единицу.
  • Сделайте повторную выгрузку того же среза и сравните идентификаторы. Если GUID изменился, регулярный обмен уже рискованный.
  • Удалите или пометьте один тестовый товар на удаление и проверьте, как это событие передаётся во внешний каталог.
  • Для CommerceML проверьте порядок загрузки: сначала группы, свойства и единицы, затем товары, затем предложения, цены и остатки.

Таблица рисков и быстрых проверок

Риск Как заметить до запуска Что проверить в файле Исправление
Дубли товаров после повторной загрузки В тестовом магазине появляются две карточки с одним артикулом Стабилен ли <Ид> / guid между двумя выгрузками Передавать GUID 1С как основной ключ, артикул использовать как дополнительный
Потеря групп Все товары попали в один раздел или в корень каталога Есть ли parent_guid, group_id или полный путь группы Выгружать дерево групп до товаров и хранить родителя у каждой позиции
Пропали характеристики Цвет/размер не отображаются как варианты Есть ли строки или блоки по каждой характеристике товара Развернуть характеристики в предложения или отдельную структуру offers
Картинки есть в 1С, но не на сайте В XML есть товар, но нет доступного файла изображения Путь к файлу, папка import_files, права доступа, связь с характеристикой Отдельно выгружать файлы, проверять доступность URL/архива и маппинг предложений
Не загрузились цены Товар создан, но без цены Есть ли тип цены, валюта, значение, ссылка на предложение Передавать цены после товаров и предложений, не смешивать базовую цену и цену характеристики
Остатки не совпадают На сайте товар «в наличии», хотя склад пуст Склад, количество, единица измерения, дата формирования Выгружать остатки отдельным пакетом и фиксировать склад-источник
Ошибки по единицам измерения Приёмник пишет «единица не найдена» Код ОКЕИ и человекочитаемое название Использовать классификатор ОКЕИ, не маппить только по строке
Обмен не успевает ночью Файл растёт, задание висит, HTTP-сессия обрывается Размер файла, время формирования, количество товаров в пакете Делить выгрузку на пакеты и включать дельта-режим после первой полной передачи

Как настроить экспорт номенклатуры за 3 шага через Синхрон1С

Шаг 1. Напишите @onoutnoxon: «Нужен экспорт номенклатуры из 1С». Уточняем конфигурацию (УТ 11 / ERP 2 / БП 3.0 / УНФ / Розница), объём справочника, состав полей (артикул, штрихкод, ОКЕИ, КИЗ, характеристики, картинки), формат приёмника (CommerceML / YML / CSV / JSON / API маркетплейса).

Шаг 2. Настраиваем правила: иерархия групп (полная или фильтр по родителю), характеристики (выгружать как отдельные SKU или как варианты), картинки (основная + дополнительные, ресайз), типы цен и валюта, режим обмена (полный / дельта), приёмник (FTP / S3 / email / Google Sheets / API маркетплейса).

Шаг 3. Выгрузка идёт на сервере 1С или фоновым заданием, формирует комплект import.xml + offers.xml + prices.xml + rests.xml либо CSV/JSON по расписанию. Несопоставленные ОКЕИ, отсутствующие картинки и аномалии (товар «выпал» из выгрузки) приходят в Telegram.

Экспорт номенклатуры из 1С через Telegram-бот Синхрон1С

Telegram-бот Синхрон1С — автоматический экспорт справочника номенклатуры с иерархией, характеристиками и картинками

Часто задаваемые вопросы

Как выгрузить номенклатуру с сохранением иерархии групп? В CommerceML группы выгружаются рекурсивно — родительская группа содержит вложенные. В Excel/CSV добавляйте колонки parent_guid и Полный путь (например, «Электроника / Смартфоны / Apple»). Типовая «Вывести список» иерархию теряет — используйте отчёт с группировкой по родителю или универсальную выгрузку XML.

Как выгрузить характеристики (цвет, размер) товара? Характеристики лежат отдельно от базовой карточки товара. Для сайта их обычно передают как торговые предложения: одна строка или XML-блок на комбинацию товара и характеристики. В Excel/CSV удобнее развернуть каждую характеристику в отдельную строку с собственным offer_guid, а не пытаться записать все размеры в одну ячейку.

Как выгрузить картинки номенклатуры массово? Надо выгружать не только файл изображения, но и связь с товаром или характеристикой. В CommerceML-обмене с 1C-Битрикс для картинок используется папка import_files; для картинок характеристик есть отдельная настройка модуля обмена. В кастомном CSV/JSON я обычно передаю image_url или имя файла и отдельно проверяю, что приёмник может скачать изображение без доступа к локальной папке 1С.

Что делать с большим справочником на 100 000+ позиций? 1) Сначала сделать полную выгрузку на копии базы. 2) Разделить каталог, предложения, цены, остатки и картинки. 3) После первой успешной передачи перейти на дельта-обмен. 4) Логировать количество выгруженных товаров, предложений, картинок, цен и ошибок. 5) Для разовых миграций использовать промежуточный пайплайн XML → валидатор → CSV/Excel/JSON пакетами.

Как выгрузить штрихкоды и ОКЕИ? Штрихкоды — из регистра сведений «Штрихкоды номенклатуры» (один товар может иметь несколько штрихкодов). ОКЕИ — подключите сервис «1С:Номенклатура», он подгружает классификатор; в выгрузке используйте код ОКЕИ (796 для штук, 166 для килограммов), а не текстовое наименование.

Как избежать дублей при загрузке выгруженной номенклатуры обратно? Идентификатор товара должен быть стабильным между выгрузками — используйте Ссылка.УникальныйИдентификатор() (UUID 1С) в качестве <Ид> CommerceML. На стороне приёмника — поиск по этому UUID, при отсутствии — поиск по артикулу/штрихкоду, и только потом — создание новой карточки.

Можно ли выгрузить КИЗ (коды маркировки Честный знак)? Обычно коды маркировки не являются полем карточки номенклатуры. Их выгружают отдельной логикой из регистров маркировки и привязывают к партии, документу или остатку, а не к общему описанию товара. Перед такой интеграцией надо уточнить конфигурацию 1С и требования конкретного маркетплейса.

Можно ли обойтись Excel вместо CommerceML? Можно, если приёмник ожидает Excel и в файле явно есть все ключи: guid, parent_guid, offer_guid, артикул, штрихкод, ОКЕИ, цена, остаток, ссылка на картинку. Excel плох не сам по себе, а тем, что его часто делают «для человека», без стабильных технических идентификаторов.

Как проверить, что выгрузка готова к регулярному обмену? Сделайте две выгрузки подряд на одном тестовом наборе и сравните идентификаторы, количество товаров, количество предложений, цены, остатки и ссылки на картинки. Потом измените один товар, одну цену и один остаток, запустите дельту и убедитесь, что ушли только эти изменения и связанные данные.

Смотрите также


Стоимость интеграции — 30 000 ₽ за проект, включая аудит текущей выгрузки, стабильные идентификаторы, разделение каталога/предложений/цен/остатков, дельта-обмен и диагностику ошибок в Telegram. Напишите в Telegram: @onoutnoxon.

Подробнее о возможностях — на странице Синхрон1С.


Источники:

  • Стандарты CommerceML на сайте «1С:Предприятие 8»: https://v8.1c.ru/tekhnologii/obmen-dannymi-i-integratsiya/standarty-i-formaty/standarty-commerceml/
  • Описание XML-файлов обмена с 1С в документации 1C-Битрикс (import.xml, offers.xml, prices.xml, rests.xml): https://dev.1c-bitrix.ru/api_help/sale/xml/index.php
  • CommerceML 1 на сайте «1С:Предприятие 8» — каталоги товаров, коммерческие предложения, рекомендации по ОКЕИ: https://v8.1c.ru/tekhnologii/obmen-dannymi-i-integratsiya/standarty-i-formaty/standarty-commerceml/commerceml-1/
  • Сервис «1С:Номенклатура» — загрузка классификаторов ОКПД2, ТН ВЭД и ОКЕИ: https://portal.1c.ru/applications/1C-Nomenclature
  • Картинки и файлы характеристик номенклатуры в модуле обмена 1C-Битрикс: https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=131&LESSON_ID=20614
  • Универсальный механизм обмена данными 1С:Предприятия 8: https://v8.1c.ru/platforma/universalnyy-mekhanizm-obmena-dannymi/
  • Практический разбор загрузки XML в 1С:ERP через обработку «Выгрузка и загрузка данных XML» с требованиями к совместимости баз: https://is1c.ru/about/pc/article/zagruzka-dannykh-iz-xml-faylov-v-1s-erp-na-primere-zagruzki-spravochnika/

Статья проверена и переписана 2026-05-04: AI-ассистент использовался для черновой структурной проверки и поиска источников, но факты сверены по публичной документации 1С и 1C-Битрикс. Убраны неподтверждённые и рекламные внешние источники, снята некорректная формулировка про CommerceML 3.x, добавлены практическая диагностика, таблица рисков и FAQ. Финальную редактуру выполнил Александр Руин, основатель habab.ru.

О сервисе "Синхрон1С - Автоматизация 1С без программиста"

Универсальное решение для автоматизации экспорта, импорта, интеграций и мониторинга 1С через простой диалог в Telegram. Настройка за 15 минут без участия 1С программиста.

Ключевые преимущества:

  • 💰 Экономия на аналитиках и 1С программистах (от 100,000 руб/мес)
  • ⚡ Автоматизация отчетности - из 4 часов в 5 минут
  • 🧠 AI выявляет аномалии и тренды, которые человек может не заметить
  • 📊 Дашборды доступны в реальном времени через Telegram или веб
  • 🔄 Универсальная интеграция - один раз настроили, работает со всеми системами
  • 📱 Управление из любой точки мира через Telegram
  • 🎯 Это кастомная разработка под ваши задачи
  • 📞 Бесплатная консультация по интеграции

Для кого подходит:

Директора по цифровому развитию Финансовые директора (CFO) Руководители IT-отделов Главы отделов аналитики Владельцы бизнеса (средний/малый бизнес) 1С интеграторы и внедренцы

Сценарии использования:

💡 Выгрузка продаж в Excel каждый день автоматически
💡 Синхронизация остатков с Озоном и Wildberries в реальном времени
💡 Автозагрузка выписок из Сбербанка/ВТБ в 1С
💡 Получение уведомлений при ошибках и сбоях 1С в Telegram
💡 Импорт заказов с маркетплейсов в 1С автоматически
💡 Обмен УПД через СБИС/Диадок без ручной работы
💡 Фискализация чеков через Атол/Эвотор из 1С
💡 AI-анализ продаж и остатков с выявлением аномалий
💡 Дашборды продаж/финансов в Telegram в реальном времени
💡 Контроль дебиторской задолженности через Telegram-бот
💡 Импорт прайс-листов поставщиков из Excel в 1С

📰 Промо-статьи наших решений

Изучите детальные обзоры наших технологических решений для различных отраслей:

🚀 Работаю до результата

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