Почему комментарий заказа из Битрикса не переносится в 1С и как это настроить

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

При интеграции интернет-магазина на платформе «1С-Битрикс» с конфигурациями 1С (например, 1С:Управление торговлей) часто возникает ситуация, когда комментарий, оставленный покупателем при оформлении заказа, не отображается в созданном документе 1С. Разберем основные причины этой проблемы и способы ее устранения.

Выясним причину: почему комментарий теряется при обмене

Главная причина кроется в структуре хранения данных в «1С-Битрикс». В отличие от 1С, где поле комментария в документе чаще всего одно, на стороне сайта существует сразу несколько сущностей и полей для хранения текстовых заметок:

  1. Описание заказа покупателем (USER_DESCRIPTION): системное поле, куда сохраняется текст, введенный клиентом на этапе оформления заказа в корзине.
  2. Комментарий менеджера (COMMENTS): служебное поле для внутренних заметок администратора или оператора интернет-магазина.
  3. Пользовательское свойство заказа: кастомное поле, созданное вручную или сторонним компонентом оформления заказа (например, при использовании нестандартной формы оформления).
  4. Комментарии в CRM: если на сайте задействована интеграция с Битрикс24, данные могут сохраняться в карточке лида, сделки или контакта, не попадая в системное описание интернет-заказа.

Стандартный модуль обмена по протоколу CommerceML передает в теге <Комментарий> значение системного поля USER_DESCRIPTION. Если на сайте комментарий записывается в кастомное свойство или поле менеджера, типовой обмен его игнорирует.

Настройка выгрузки со стороны 1С

Проанализируем порядок действий в конфигурации 1С (на примере 1С:Управление торговлей 11 или аналогичных типовых решениях):

  1. Перейдем в раздел настроек интеграции с сайтом и откроем используемый профиль обмена.
  2. Проверим вкладку сопоставления реквизитов заказов. По умолчанию стандартный модуль обмена уже включает загрузку комментария покупателя в шапку документа Заказ клиента.
  3. Убедимся, что в настройках загрузки документов включена опция заполнения комментария из файла обмена CommerceML.
  4. Если комментарий передается в составе дополнительных реквизитов (блок ЗначенияРеквизитов XML-файла), необходимо настроить правильное сопоставление дополнительных реквизитов сайта с реквизитами документа 1С.

Корректировка передачи данных на стороне сайта

Если в 1С настройки выполнены верно, но комментарий все равно не приходит, проверим настройки на стороне «1С-Битрикс»:

  1. Зайдем в административную панель сайта: Магазин → Настройки → Интеграция с 1С.
  2. Откроем настройки профиля экспорта заказов и перейдем к блоку сопоставления полей заказа.
  3. Убедимся, что для выгрузки комментариев выбрано правильное поле заказа (системное описание USER_DESCRIPTION).

В случаях, когда комментарий покупателя сохраняется в кастомное пользовательское свойство заказа, можно продублировать его значение в системное поле с помощью обработчика событий на стороне сайта. Для этого в файл инициализации init.php добавляют обработку события сохранения заказа:


AddEventHandler("sale", "OnOrderSave", "CopyCustomCommentToDescription");

function CopyCustomCommentToDescription($propertyId, $arFields, $values)
{
    // Получаем значение пользовательского свойства и копируем в USER_DESCRIPTION
}

Таким образом, значение из кастомного поля автоматически попадет в системный тег USER_DESCRIPTION, откуда типовой модуль обмена 1С легко прочитает комментарий покупателя и подставит его в создаваемый документ.

← На главную