Я присоеденюсь к вопросу топикстартера. Хорошо, с галочкой понятно, это в документации. Но как быть, если интеграция проходит не через модуль обмена, а что-то самописное со стороны 1с? Тут информации не так уж и много. Выход я нашел, но уж очень он не очевиден, и надеюсь мне подскажут более простой способ. Задача: дать инструкции 1С-нику по привязке к товару справочника, содержащего поля "Название" и "Изображение" и выгрузке этого самого справочника на сайт.
Очевидно, что если справочник содержит название, изображение и в перспективе другие поля, то это должен быть либо hl блок, либо инфоблок. Я решил пойти по пути более простому(сначала так показалось) и делать привязку к hl блоку. Посмотрел примеры выгрузки на сайте с документацией, и в import.xml наше что нужно - свойство "Внешний" у импортируемого справочника. Но как оказалось, не все так просто. Из значений можно указать только XML_ID и NAME свойства внешнего справочника. А мне нужна еще и картинка, облом. Подходим с другой стороны. У битрикса есть возможность импортировать справочники напрямую в hl блок, с любым набором значений и параметров. Структура файла импорта справочников описана в документации, а алгоритм импорта я нашел в этом блоге, кстати там же есть почти рабочие примеры файлов импорта справочников. Тут все работает, только не понятно как привязывать этот справочник и его значения к товарам при синхронизации. Объединяем оба варианта. С товарами мы выгружаем XML_ID и NAME значений справочников + создаем hl блок. Затем в созданный hl блок по его id загружаем полные значения справочника, с картинками, используя XML_ID значений выгруженных с товарами. И все бы хорошо, но меня беспокоят несколько моментов: 1. Дублирование информации в файлах import.xml и references.xml 2. Совершенно неадекватный способ задавать ID hl блока при создании его с импортом товаров. Приведу пример:
В итоге id вновь созданного hl блока будет равно транслитерированному "Цвет", т.е. TSVET. Получается что с более сложными названиями я должен буду заранее узнавать какая тарабарщина получится вместо id, чтобы указать этот в файле references.xml. Кроме того, от id TSVET из глаз текут кровавые слезы. Я конечно подозреваю что оно и должно так работать, но...
Вопрос: Можно ли все это упростить, оптимизировать или решить по другому?