Тонкости интеграции магазина с 1С, часть 1: хранение контента в 1С Управление торговлей

Каталоги интернет-магазинов содержат 2 вида информации о товарах: статическую, т.н. "контент" (разделы, товары, свойства, картинки, настройки фильтров), и динамическую информацию (цены, остатки и т.д.). Если Вы хотите организовать хранение статической информации о товарах в 1С Управление торговлей (УТ), следует учитывать ряд тонкостей архитектуры 1С-Битрикс и обмена с 1С УТ.

Цели хранения статической информации в 1С УТ

  • Создание единого первоисточника информации (т.е. 1С работает в роли CMS) для управления из одного места;
  • Передача информации из одной 1С УТ сразу на несколько сайтов;
  • Удобство работы менеджеров по продажам, которые работают напрямую в 1С (например, при приеме заказов B2C по телефону или при B2B-торговле);
  • Использование контента для других целей, например, для печати ценников или формирования прайс-листов в формате Excel из 1С.

Стоит отметить, что 1С не является системой, специализированной для хранения контента товаров. В 1С есть ряд инструментов, которые выполняют схожие функции, но функциональность всегда ниже, чем в специализированной CMS 1С-Битрикс. К тому же в базовой конфигурации 1С УТ (включая “коробочный” модуль обмена с 1С-Битрикс) существует ряд архитектурных и функциональных ограничений, которые могут потребовать существенных доработок при желании Заказчика использовать 1С УТ в качестве CMS.

Ограничения 1С УТ по управлению контентом интернет-магазина

  • Нет удобных инструментов по групповому редактированию свойств: нужно заходить в каждый товар;
  • Жесткая настройка форм для просмотра списков/карточек номенклатур (набор колонок/полей);
  • Нет штатной возможности задавать дополнительные настройки для свойств (например, является ли фильтром на сайте, какая "группа свойств") и значений свойств (какой "весовой коэффициент" у данного значения);
  • Нет множественных реквизитов/свойств для номенклатуры, множественной привязки к иерархии;
  • Нет инструментов сортировки разделов, номенклатуры, свойств, значений;
  • Нет отдельной структуры для разделов/подразделов меню интернет-магазина (или нескольких). Можно использовать один из существующих механизмов:
    - либо использовать существующие иерархию папок, которая далеко не всегда соответствует потребностям интернет-магазина; зачастую эта иерархия была создана под потребности отдела закупок (иногда сформирована от бренда или поставщика на верхнем уровне); 
    - либо использовать ручную привязку в модуле обмена (формировать “меню на сайте” в настройках модуля обмена, с привязкой к разделам сайта конкретных товаров), что конфликтует с иерархией по видам номенклатуры.

    Стоит отметить, что оба варианта конфликтуют с иерархией по видам номенклатуры (т.е. с наборами свойств разных видов товаров - все свойства будут “сложены” в один инфоблок в 1С-Битрикс). Штатной возможностью выгрузки в разные инфоблоки является отбор по “Группам видов номенклатур”, что достаточно неудобно при большом количестве этих групп.
        
  • Нет легкой пользовательской настройки произвольных свойств/реквизитов для разделов иерархии (иерархия папок);
  • Нет штатных инструментов для ручной/автоматизированной обработки изображений, приоритизации, оптимизации размеров изображений;
  • Нет инструментов для редактирования html-кода, быстрого просмотра результатов, включая внешний контент (youtube-видео и др.);
  • Нет правил для обработки включения/отключения товаров для продажи на сайте по набору свойств/реквизитов;
  • Нет механизма для "страховки"/предварительных уведомлений от конфликтов (несоответствия) структуры контента, созданного в 1С УТ для 1С-Битрикс.

Тонкости управления контентом в 1С-Битрикс. Отдельные инфоблоки для разных видов товаров и их ограничения

Особенностью системы 1С-Битрикс является заложенная разработчиками архитектура хранения свойств для “видов номенклатуры”, предполагающая, что товары одного вида находятся в разных инфоблоках, у каждого из которых заданы свои наборы свойств (как в разных excel-файлах с разным набором колонок). Можно, конечно, хранить все товары и в одном инфоблоке; но в этом случае данный инфоблок будет содержать все возможные свойства от всех содержащихся в нем товаров (как огромный по ширине excel-файл с множеством колонок).

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

Следствием этого ограничения архитектуры 1С-Битрикс для больших каталогов (где суммарное количество свойств превышает несколько сотен) является строгая необходимость хранить информацию о свойствах различных видов номенклатуры в различных инфоблоках. Это усложняет настройки обмена 1С УТ и 1С-Битрикс и добавляет необходимость ведения отдельной иерархии для меню на сайте. Также эта архитектурная особенность 1С-Битрикс “подкидывает работы” контент-менеджеру, т.к. ему необходимо вручную размещать новые товары в соответствующих разделах сайта. Данную операцию можно выполнять  в полуавтоматическом режиме (при помощи запуска специальной обработки) или в полностью автоматическом режиме через доработку модуля обмена в 1С.

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

Решение 1: отдельные инфоблоки для контента по схеме "звезда"

Для решения проблемы возможна реализация схемы “звезда”, при котором информация из 1С передается на сайт в рамках обмена и сохраняется в двух инфоблоках - “центральном 1С-инфоблоке” и одном из “орбитальных контентных инфоблоках”, связь между которыми осуществляется при помощи специальных обработок на стороне 1С-Битрикс. Минусом данного подхода является сложность в реализации фильтрации (товары для случая, когда в одном разделе лежат товары из разных инфоблоков. Если такая потребность (размещать разные виды номенклатуры в общих папках) отсутствует, то данная схема может быть применена.

Решение 2: альтернативное хранение свойств 

Альтернативным решением является отказ от хранения структуры свойств в отдельных инфоблоках 1С-Битрикс и переход на хранение свойств в произвольных таблицах, позволяющих сохранить общую иерархию в одном инфоблоке и преодолеть лимит “в несколько сотен свойств” в одном инфоблоке. Этот путь требует кастомизации компонентов каталога, фильтрации, поиска, карточку. Но может принести существенный выигрыш в производительности сайта и гибкости, предоставить возможность добавить к свойствам и значениям любой набор необходимых настроек для преодоления вышеперечисленных недостатков 1С УТ.

Выводы

Мы считаем, что наилучшим вариантом является использование специализированной CMS, например, 1С-Битрикс для хранения статического контента каталогов и товаров интернет-магазинов. Выбирая 1С УТ в качестве CMS - т.е. инструмента хранения контента о товарах, нужно обдумывать решения вышеуказанных проблем и ограничений. 

Нужна помощь по созданию интернет-магазина? 

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

Для решения проблем, описанных в статье, расширения стандартных возможностей 1С УТ и 1С-Битрикс мы используем авторские разработки для CMS. Если у Вас возникнут вопросы, Вы можете обратиться за консультацией по услугам, касающихся создания интернет-магазинов или интеграции 1С-Битрикс с 1С Управление торговлей.