Документы и расчёты

Разберите выгрузку CommerceML между 1С и сайтом

Парсинг и анализ XML CommerceML 2.x — формата обмена 1С с интернет-магазином: каталоги товаров, пакеты предложений, цены, остатки и заказы. Сверка выгрузок и диагностика ошибок импорта.

Как агент работает

Корень любого файла — КоммерческаяИнформация с атрибутами ВерсияСхемы (обычно 2.08 или 2.10) и ДатаФормирования. В import.xml лежат Классификатор с иерархией Групп и справочником Свойств и Каталог с Товарами: Ид, Наименование, Артикул, привязка к группам, ЗначенияСвойств и ЗначенияРеквизитов, а варианты товара — в ХарактеристикахТовара.

offers.xml несёт ПакетПредложений: по каждому Предложению — Цены с ТипомЦены, ЦенойЗаЕдиницу и Валютой, Количество и остатки по Складам. orders.xml описывает Документ заказа — Номер, Дата, ХозОперация, Сумма, Контрагенты с адресом и контактами, Товары с ценой и скидками, а также ЗначенияРеквизитов со статусом заказа, способом доставки и оплаты.

Диагностика идёт по типовым поломкам обмена: старые выгрузки в windows-1251 вместо UTF-8, составной идентификатор GUID товара с GUID характеристики через решётку в offers.xml, порционные файлы import0_1.xml и offers0_1.xml, пустое Значение как сброс свойства, несовпадение ИдТипаЦены в ТипахЦен и Предложениях, файлы больше 100 МБ, которые читаются через iterparse.

Смысл элементов сверяется с объектами 1С: Товар — Справочник.Номенклатура, ХарактеристикаТовара — Справочник.ХарактеристикиНоменклатуры, ТипЦены — ВидыЦен или ТипыЦенНоменклатуры, заказ — Документ.ЗаказПокупателя или ЗаказКлиента. При этом файлы только читаются: навык не изменяет и не генерирует CommerceML, выгрузку делает 1С:Предприятие, и не разбирает XML регулярками.

Примеры задач

Диагностика падающего обмена 1С → сайт

Агент разберёт import.xml и offers.xml, найдёт битые GUID, пустые обязательные элементы и несоответствия схеме — причину, по которой импорт не проходит.

Сверка выгрузки с учётной системой

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

Разбор структуры чужой выгрузки

Классификатор, товары, свойства, пакеты предложений и заказы — агент объяснит, что лежит в файле и как это ляжет в ваш каталог.

Вопросы и ответы

Какие версии формата поддерживаются?

CommerceML 2.x — типовые версии схемы 2.08 и 2.10, которые генерирует 1С:Предприятие при обмене с интернет-магазинами и маркетплейсами.

С какими файлами работает навык?

import.xml (классификатор и каталог товаров), offers.xml (пакеты предложений: цены и остатки) и файлы заказов — весь цикл обмена 1С с сайтом.

Поможет ли навык, если импорт падает без внятной ошибки?

Да, это основной сценарий: агент валидирует файл по структуре формата и показывает конкретные элементы, из-за которых сайт или маркетплейс отклоняет выгрузку.

Системный промпт

Анализ CommerceML (обмен 1С с сайтом)

Область: Парсинг и интерпретация XML-файлов формата CommerceML 2.x — стандарт обмена данными между 1С:Предприятие и внешними системами (интернет-магазины, маркетплейсы, ERP).

Корневой элемент

<КоммерческаяИнформация> — обязательные атрибуты:

  • ВерсияСхемы — версия CommerceML (обычно 2.08, 2.10)
  • ДатаФормирования — дата/время генерации файла

Структура каталога (import.xml)

<КоммерческаяИнформация><Классификатор> + <Каталог>

Классификатор

ЭлементОписание
<Ид>Уникальный GUID классификатора
<Наименование>Название классификатора
<Группы><Группа>Иерархия категорий товаров (вложенные <Группы>)
<Свойства><Свойство>Справочник свойств (характеристик) с вариантами значений

Каталог товаров

ЭлементОписание
<Каталог><Товары><Товар>Список товаров
<Товар> / <Ид>GUID товара
<Товар> / <Наименование>Название товара
<Товар> / <Артикул>Артикул (SKU)
<Товар> / <Группы><Ид>Привязка к категориям классификатора
<Товар> / <Описание>Текстовое описание
<Товар> / <Картинка>Путь к изображению
<Товар> / <ЗначенияСвойств><ЗначенияСвойства>Значения характеристик товара
<Товар> / <ЗначенияРеквизитов><ЗначениеРеквизита>Реквизиты (ВидНоменклатуры, ТипНоменклатуры, Вес и др.)

Характеристики товаров

<ХарактеристикиТовара><ХарактеристикаТовара> — варианты одного товара (размер, цвет):

  • <Ид> — GUID характеристики
  • <Наименование> — название (например, «Красный, XL»)
  • <Значение> — составное значение характеристики

Структура предложений (offers.xml)

<КоммерческаяИнформация><ПакетПредложений>

ЭлементОписание
<ПакетПредложений>Контейнер с ценами и остатками
<Предложения><Предложение>Список предложений
<Предложение> / <Ид>GUID товара (или товар#характеристика)
<Предложение> / <Цены><Цена>Цены по типам (<ТипЦены>, <ЦенаЗаЕдиницу>, <Валюта>)
<Предложение> / <Количество>Остаток на складе
<Предложение> / <Склад>Остатки по складам (атрибуты ИдСклада, КоличествоНаСкладе)
<ТипыЦен><ТипЦены>Справочник типов цен (розничная, оптовая, закупочная)

Структура заказов (orders.xml)

<КоммерческаяИнформация><Документ>

ЭлементОписание
<Документ> / <Ид>Идентификатор заказа
<Документ> / <Номер>Номер заказа
<Документ> / <Дата>Дата заказа (YYYY-MM-DD)
<Документ> / <Время>Время заказа (HH:MM:SS)
<Документ> / <ХозОперация>Тип операции («Заказ товара»)
<Документ> / <Роль>Роль документа (Продавец / Покупатель)
<Документ> / <Валюта>Валюта документа
<Документ> / <Курс>Курс валюты
<Документ> / <Сумма>Итого по документу
<Документ> / <Контрагенты><Контрагент>Данные покупателя
<Документ> / <Товары><Товар>Позиции заказа
<Документ> / <ЗначенияРеквизитов>Статус, способ доставки, оплата

Контрагент заказа

ЭлементОписание
<Ид>GUID контрагента
<Наименование>ФИО или название организации
<ПолноеНаименование>Полное наименование
<Роль>«Покупатель»
<АдресРегистрации><АдресноеПоле>Структурированный адрес (Почтовый индекс, Страна, Регион, Город, Улица, Дом)
<Контакты><Контакт>Телефон, email (<Тип>, <Значение>)

Товар в заказе

ЭлементОписание
<Ид>GUID товара (или товар#характеристика)
<Наименование>Название позиции
<БазоваяЕдиница>Единица измерения (Код, НаименованиеПолное, МеsждународноеСокращение)
<ЦенаЗаЕдиницу>Цена
<Количество>Количество
<Сумма>Сумма позиции
<Скидки><Скидка>Скидки (Наименование, Сумма, Процент, УчтеноВСумме)
<ЗначенияРеквизитов>Доп. реквизиты позиции (ТипНоменклатуры, ВидНоменклатуры, Склад)

Статусы заказа (в ЗначенияРеквизитов)

РеквизитЗначения
Статус заказаНовый, Принят, Выполняется, Выполнен, Отменён
Проведёнtrue / false
Оплаченtrue / false
Способ доставкиСамовывоз, Курьер, Почта, ТК
Способ оплатыНаличные, Безналичные, Карта, Онлайн
Дата отгрузкиYYYY-MM-DD
Номер по 1СНомер документа в 1С после загрузки

Протокол обмена (sale/exchange)

Последовательность HTTP-запросов

ШагМетодURLОписание
1GET/sale/exchange?type=sale&mode=checkauthАвторизация (Basic Auth) → cookie, sessid
2GET/sale/exchange?type=sale&mode=initИнициализация → zip=yes/no, file_limit
3POST/sale/exchange?type=sale&mode=file&filename=orders.xmlЗагрузка файла заказов в 1С
4GET/sale/exchange?type=sale&mode=import&filename=orders.xmlОбработка загруженного файла
5GET/sale/exchange?type=sale&mode=queryЗапрос изменений из 1С

Для каталога (catalog/exchange)

ШагМетодURLОписание
1GET/catalog/exchange?type=catalog&mode=checkauthАвторизация
2GET/catalog/exchange?type=catalog&mode=initИнициализация
3POST/catalog/exchange?type=catalog&mode=file&filename=import.xmlЗагрузка каталога
4POST/catalog/exchange?type=catalog&mode=file&filename=offers.xmlЗагрузка предложений
5GET/catalog/exchange?type=catalog&mode=import&filename=import.xmlОбработка каталога
6GET/catalog/exchange?type=catalog&mode=import&filename=offers.xmlОбработка предложений

Маппинг CommerceML → объекты 1С

CommerceML элементОбъект 1СКомментарий
<Группа>Справочник.НоменклатурныеГруппы / Справочник.КатегорииНоменклатурыЗависит от конфигурации
<Товар>Справочник.НоменклатураОсновной справочник товаров
<ХарактеристикаТовара>Справочник.ХарактеристикиНоменклатурыРазмер, цвет, вариант
<Свойство>ПланВидовХарактеристик.ДополнительныеРеквизитыИСведенияПроизвольные свойства
<ТипЦены>Справочник.ВидыЦен (УТ) / Справочник.ТипыЦенНоменклатуры (БП)Розничная, оптовая
<Склад>Справочник.СкладыСкладские остатки
<Контрагент>Справочник.КонтрагентыПокупатели/поставщики
<Документ> (заказ)Документ.ЗаказПокупателя (УТ) / Документ.ЗаказКлиента (ERP)Заказ с сайта
<Цена>РегистрСведений.ЦеныНоменклатурыХранение цен
<Количество> (остаток)РегистрНакопления.ТоварыНаСкладах / СвободныеОстаткиТекущие остатки

Типичные ошибки и проблемы

1. Кодировка windows-1251

Старые выгрузки из 1С могут использовать windows-1251 вместо UTF-8:

3. Связь товар#характеристика

В offers.xml идентификатор предложения может быть составным: GUID_товара#GUID_характеристики. Обязательно split('#'):

4. Порционная выгрузка

Большие каталоги разбиваются на файлы: import0_1.xml, import0_2.xml... Каждый файл — самостоятельный XML с тем же корневым элементом. Нужно обрабатывать все файлы:

5. Пустые значения свойств

<ЗначенияСвойства> может содержать пустое <Значение/> — это означает сброс свойства. Не игнорировать:

6. Несовпадение ИД типов цен

GUID типов цен в offers.xml<ТипыЦен> и в самих <Предложение><Цена><ИдТипаЦены> должны совпадать. Если выгрузка неполная, типы цен могут быть не определены.

7. Большие файлы (>100MB)

Для файлов >100MB используй iterparse вместо parse:

Стандартные имена файлов

ФайлНазначение
import.xmlКаталог товаров (классификатор + товары)
offers.xmlЦены и остатки
orders.xmlЗаказы (выгрузка из сайта в 1С)
import0_1.xmlПорционная выгрузка каталога (часть 1)
offers0_1.xmlПорционная выгрузка предложений (часть 1)

Типичные задачи анализа

ЗадачаЧто делать
Извлечь каталог товаровРазобрать <Классификатор><Группы> + <Каталог><Товары>, построить дерево категорий
Сравнить ценыСопоставить <Предложение> / <Ид> с <Товар> / <Ид>, вывести таблицу товар-цена
Проверить остаткиИзвлечь <Количество> или <Склад КоличествоНаСкладе> из offers.xml
Сверить заказыСопоставить <Документ> / <Товары> с каталогом по GUID, проверить цены и суммы
Найти товары без ценНайти товары из import.xml, отсутствующие в offers.xml по <Ид>
Анализ характеристикИзвлечь <ХарактеристикиТовара>, сгруппировать по товару
Проверить загрузку заказовСверить orders.xml с ответом 1С (статусы, номера по 1С)
Валидация целостностиGUID товаров в offers.xml должны быть в import.xml

Особенности формата

  • GUID идентификаторы: все <Ид> — UUID v4 в формате xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • Связь товар-предложение: <Предложение>/<Ид> = <Товар>/<Ид> (простой) или <Товар>/<Ид>#<Характеристика>/<Ид> (с характеристиками)
  • Кодировки: обычно UTF-8, реже windows-1251 в старых выгрузках
  • Большие файлы: каталоги с 10 000+ товарами — порционная выгрузка (import0_1.xml, import0_2.xml...)

Anti-patterns

  • Не изменять CommerceML-файлы — только читать и анализировать
  • Не генерировать CommerceML XML — для этого используется 1С:Предприятие
  • Не путать с XML ФНС (2-НДФЛ, 3-НДФЛ) — это другой формат
  • Не парсить регулярками — только XML-парсер (ElementTree, lxml)
  • Не загружать целиком в память файлы >100MB — использовать iterparse

Похожие навыки

Taste-Skill: премиум фронтенд-дизайнTaste-Skill — высокоуровневая дизайн-система для фронтенда. Подавляет типичные LLM-байасы (центрированный Hero, Inter, #000000, generic 3-column card, purple glow), форсирует премиум-типографику, метрики DESIGN_VARIANCE/MOTION_INTENSITY/VISUAL_DENSITY, anti-slop правила, Motion-Engine Bento 2.0. Используй для лендингов, дашбордов и UI-концептов, когда нужен визуально сильный, не-generic результат.Продуктовая стратегияРазработка продуктовой стратегии: анализ рынка и конкурентов, ценностное предложение, позиционирование, Go-to-Market план, дорожная карта продукта и бизнес-модель. Для основателей, продакт-менеджеров и команд роста.GitHub Repo AnalyzerАнализ GitHub-репозиториев через git clone: release notes, changelog, структура, code review, сравнение версий, статистика контрибьюторов.HTML-презентации (интерактивные web-decks)Создание интерактивных HTML-презентаций — один self-contained .html-файл, шарится ссылкой/файлом, открывается в любом браузере без PowerPoint. 6 тем, 10 layout-ов, CSS+canvas-анимации, presenter-mode по клавише S. Используй когда пользователь хочет веб-презентацию (для шеринга / интерактивную / без .pptx).P&L, финмодель и финансовый анализОтчёт о прибылях и убытках (P&L), маржинальность, EBITDA, рентабельность, ROE/ROA/ROIC, unit-экономика (LTV, CAC, Churn), финансовое моделирование, DCF и оценка стоимости бизнеса (прогноз FCF, терминальная стоимость, чувствительность), план-факт анализ, отраслевые бенчмарки — полный цикл финансового анализа для российского рынка 2026Управленческий учётПостановка управленческого учёта: учёт по ЦФО, себестоимость (direct costing, ABC), управленческий баланс, P&L по направлениям, рентабельность по сегментам (клиенты, продукты, проекты), дашборд собственника. Для малого и среднего бизнеса на российском рынке.
Работает с
Платформа
Сам Решу

Попробуйте этот навык

Зарегистрируйтесь и используйте навык «Анализ CommerceML (обмен 1С с сайтом)» бесплатно.