Как настроить интеграцию 1С:УТ 11 с 1С-Битрикс: выгрузка картинок характеристик и нескольких типов цен

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

Интеграция интернет-магазина на платформе 1С-Битрикс с конфигурацией 1С:Управление торговлей 11 (УТ 11) — это классическая задача для e-commerce. Однако при её реализации разработчики часто сталкиваются с дилеммой: использовать ли встроенный (штатный) механизм обмена 1С или установить специализированный модуль, предоставляемый компанией «1С-Битрикс».

В этой статье мы подробно рассмотрим, как решить две наиболее популярные и сложные задачи интеграции: выгрузку индивидуальных картинок для каждой характеристики товара (SKU) и передачу нескольких типов цен. Мы проанализируем ограничения штатного механизма, разберем преимущества модуля от Битрикса и пошагово настроим систему для корректной работы.

Штатный обмен или модуль «1С-Битрикс»: в чем разница?

Штатный обмен, встроенный в 1С:УТ 11, функционирует по стандартному протоколу CommerceML. Он отлично справляется с простыми задачами (выгрузка базового каталога товаров, цен, остатков и получение заказов), но пасует перед сложными сценариями.

Специализированный модуль от «1С-Битрикс» устанавливается в базу 1С как расширение конфигурации (файл с расширением .cfe). Это позволяет сохранить конфигурацию 1С:УТ 11 на полной поддержке, не препятствуя ее типовому обновлению. Модуль существенно расширяет стандартный протокол обмена и содержит множество готовых инструментов для кастомизации данных без изменения программного кода 1С.

---

Решение задачи №1: Индивидуальные картинки для характеристик (SKU)

Когда у одного товара есть несколько характеристик (например, одежда разного цвета), покупатель на сайте должен видеть соответствующую картинку при выборе конкретной характеристики. Рассмотрим, почему возникает проблема и как ее решить.

Проблема штатного обмена 1С:

В типовой архитектуре CommerceML изображения привязываются к основному товару (номенклатуре). Если мы попытаемся прикрепить изображение к характеристике через дополнительные реквизиты (используя тип значения Файл или Изображение), штатный выгрузчик передаст этот файл просто как свойство. На стороне Битрикса эта картинка запишется в текстовое поле или в прикрепленные файлы торгового предложения, но она не станет главной картинкой анонса или детального просмотра SKU. В результате визуального переключения картинок на сайте при смене цвета не произойдет.

Решение с использованием модуля «1С-Битрикс»:

В модуле от Битрикса реализован специальный инструмент «Картинки и файлы для характеристик номенклатуры». Он позволяет сопоставить изображения конкретным характеристикам номенклатуры. При генерации XML-пакета обмена модуль переопределяет стандартные теги и помещает картинки характеристик именно в те узлы XML, которые отвечают за детальное и анонсное изображения торгового предложения на сайте.

Рассмотрим по шагам, как организовать хранение файлов и их выгрузку:

  1. Оптимизация хранения файлов в 1С: Картинки высокого разрешения могут быстро переполнить базу данных 1С. Рекомендуется настроить хранение томов на диске вместо хранения в самой СУБД. Это делается в меню НСИ и администрирование -> Настройки работы с файлами -> Хранить файлы в томах на диске.
  2. Обеспечение доступа сервера: Если у вас клиент-серверный вариант работы 1С, учетная запись, от имени которой запущен сервер 1С (обычно USR1CV8), должна иметь полные права на чтение и запись в сетевую или локальную папку с томами файлов. Загрузку и привязку картинок к характеристикам в 1С следует выполнять непосредственно в сеансе, запущенном на сервере (например, через RDP), чтобы исключить проблемы с доступностью путей к файлам.
  3. Настройка в модуле обмена: В настройках узла интеграции Битрикс перейдите в параметры выгрузки каталога и активируйте опцию выгрузки картинок для характеристик. Модуль автоматически считает файлы, привязанные к объекту Справочник.ХарактеристикиНоменклатуры, и передаст их на сайт.

---

Решение задачи №2: Выгрузка нескольких типов цен

Выгрузка нескольких типов цен (например, «Розничная», «Оптовая», «Дилерская») требует правильной настройки как в ERP-системе 1С, так и учета ограничений редакции CMS «1С-Битрикс».

Шаг 1. Настройка на стороне 1С:УТ 11

В 1С:УТ 11 цены не выгружаются «напрямую» из справочника видов цен. Они жестко привязаны к соглашениям с клиентами. Выполним следующие настройки:

  1. Перейдем в раздел НСИ и администрирование -> Настройки разделов -> Продажи -> Оптовые продажи и установим флаг «Типовые соглашения с клиентами».
  2. Перейдем в НСИ и администрирование -> Настройки пользователей и прав -> Внешние пользователи и включим опцию «Разрешить доступ внешним пользователям».
  3. Создадим отдельные Типовые соглашения для каждого типа цен, который планируется передавать на сайт (например, «Соглашение для розничного сайта», «Соглашение для оптовиков»).
  4. Внутри каждого соглашения на вкладке Прочие условия обязательно установим флаг «Доступно внешним пользователям для обмена с сайтом».
  5. В настройках узла обмена с сайтом (вкладка настройки отборов номенклатуры) найдем поле Соглашение, установим вид сравнения В списке и выберем все созданные нами типовые соглашения.

Только при такой цепочке настроек XML-выгрузка будет содержать информацию обо всех необходимых типах цен.

Шаг 2. Учет ограничений редакции «1С-Битрикс»

Перед запуском обмена критически важно проверить редакцию вашей CMS:

---

Дополнительные важные нюансы интеграции

Проанализируем еще несколько технических аспектов, которые помогут избежать сбоев при интеграции:

1. Двусторонний обмен в реальном времени (Real-time)
Модуль от Битрикса поддерживает мгновенную отправку изменений. При изменении цены номенклатуры или проведении документа оплаты/отгрузки в 1С, модуль генерирует точечный XML-пакет и отправляет его на сайт без ожидания регламентного задания. Это позволяет поддерживать актуальность остатков на сайте в режиме реального времени.

2. Контейнерный обмен документами
В современных версиях модуля (начиная с 6.5) используется контейнерный обмен. Ранее каждый связанный документ (заказ, оплата, отгрузка) отправлялся отдельным пакетом, что создавало высокую нагрузку на базу данных и приводило к рассинхронизации. Контейнерный механизм собирает все документы по сделке в один пакет, гарантируя корректное проведение оплат и закрытие заказов на сайте.

3. Подводный камень: Оптимизация картинок по контрольным суммам
Частая проблема администраторов: картинку удалили на сайте вручную, запускают обмен заново, но изображение в интернет-магазине не появляется.

Выясним причину: в модуле обмена по умолчанию работает оптимизация. Система рассчитывает хэш-сумму (MD5) файла картинки в 1С и сравнивает ее с хэшем на сайте. Поскольку файл в 1С не менялся, его контрольная сумма совпадает с предыдущей отправленной версией, и модуль решает не тратить трафик на повторную передачу файла.

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

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


Функция ПолучитьФайлыХарактеристики(ТекущаяХарактеристика) Экспорт
    Результат = Новый Массив;
    
    // Выбираем прикрепленные файлы для конкретной характеристики
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ПрисоединенныеФайлы.Ссылка КАК ФайлСсылка,
        |   ПрисоединенныеФайлы.ПутьКФайлу КАК Путь
        |ИЗ
        |   Справочник.ХарактеристикиНоменклатурыПрисоединенныеФайлы КАК ПрисоединенныеФайлы
        |ГДЕ
        |   ПрисоединенныеФайлы.ВладелецФайла = &Владелец";
        
    Запрос.УстановитьПараметр("Владелец", ТекущаяХарактеристика);
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
        СтруктураФайла = Новый Структура("Ссылка, Путь", Выборка.ФайлСсылка, Выборка.Путь);
        Результат.Добавить(СтруктураФайла);
    КонецЦикла;
    
    Возврат Результат;
КонецФункции

Резюме

Для реализации полноценного интернет-магазина с индивидуальными изображениями SKU и сложной ценовой политикой (опт/розница) встроенный обмен 1С:УТ 11 не подходит. Единственным верным решением является установка специализированного модуля от «1С-Битрикс» в виде расширения конфигурации 1С. Это сбережет архитектуру вашей базы данных и позволит настроить обмен в соответствии со всеми современными стандартами e-commerce.

← На главную