Где находятся правила обмена и как устроена выгрузка на сайт в 1С:Управление торговлей 11?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет IT и автоматизация бизнеса
← На главную

При настройке и кастомизации интеграции интернет-магазина с типовой конфигурацией 1С:Управление торговлей 11 разработчики часто ищут привычные правила конвертации данных (КД 2.0 или КД 3.0), чтобы добавить выгрузку новых реквизитов или скорректировать логику формирования каталога. Разберем архитектурные особенности обмена с сайтом, выясним причину отсутствия классических правил и определим, где именно в конфигурации заложена логика выгрузки.

Архитектура механизма выгрузки на сайт: почему нет правил обмена

В отличие от межсистемного обмена между базами 1С (где задействован регистр сведений ПравилаДляОбменаДанными и конвертация EnterpriseData), типовой обмен с веб-сайтом в УТ 11 реализован по стандарту CommerceML (CML 2.x / 3.x).

Проанализируем ключевые компоненты механизма обмена с интернет-магазином:

  1. План обмена ОбменССайтом — фиксирует состав объектов, участвующих в интеграции, и отвечает за регистрацию изменений элементов справочников и документов.
  2. Схемы компоновки данных (СКД) — располагаются в макетах плана обмена или служебных обработок. Именно с помощью СКД выполняются запросы на выборку номенклатуры, цен, остатков и характеристик.
  3. Общие модули подсистемы — модули ОбменССайтом, ОбменССайтомСервер, ОбменССайтомПереопределяемый и ОбменССайтомСобытия содержат программный код, который обходит выборку данных и формирует файлы выгрузки (import.xml, offers.xml, rests.xml, prices.xml) с помощью объекта ЗаписьXML.

Способы передачи дополнительных данных номенклатуры на сайт

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

Вариант 1. Использование дополнительных реквизитов (без программирования)

Если для номенклатуры требуется выгрузить произвольное поле (например, бренд, цвет, материал или объем), наиболее простым и надежным решением является использование механизма типовых дополнительных реквизитов:

  1. Создаем новый дополнительный реквизит для вида номенклатуры через план видов характеристик ДополнительныеРеквизитыИСведения.
  2. Заполняем значения созданного свойства в карточках товаров.
  3. При выгрузке типовой алгоритм автоматически помещает все дополнительные реквизиты в XML-блок <ЗначенияСвойств> файла import.xml.

Большинство современных CMS с поддержкой протокола CommerceML автоматически считывают эти свойства и распределяют их в соответствующие поля и фильтры на стороне веб-витрины без необходимости изменять код 1С.

Вариант 2. Выгрузка физического реквизита через доработку конфигурации

Если реквизит добавлен в метаданные справочника СправочникСсылка.Номенклатура или требуется изменить логику формирования тегов XML, разберем по шагам процесс доработки:

  1. Открываем схему компоновки данных в макетах плана обмена ОбменССайтом (или используемой обработки выгрузки) и добавляем новый реквизит в набор данных-запрос и структуру полей.
  2. Дорабатываем процедуры генерации XML в общем модуле ОбменССайтомСервер или переопределяемых модулях интеграции. Рекомендуется выполнять эти изменения через расширение конфигурации.
  3. Прописываем формирование соответствующего тега в XML с помощью объекта ЗаписьXML.

Диагностика и проверка сформированных данных

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

  1. Открываем узел обмена в разделе настроек интеграции с сайтом.
  2. Временно меняем режим передачи данных с адреса сайта на выгрузку в локальный каталог на диске.
  3. Выполняем выгрузку и открываем сформированный файл import.xml в текстовом редакторе.
  4. Проверяем наличие добавленных тегов и значений перед включением автоматической отправки на веб-сервер.
← На главную