Я присоеденюсь к вопросу топикстартера.
Хорошо, с галочкой понятно, это в документации. Но как быть, если интеграция проходит не через модуль обмена, а что-то самописное со стороны 1с? Тут информации не так уж и много.
Выход я нашел, но уж очень он не очевиден, и надеюсь мне подскажут более простой способ.
Задача: дать инструкции 1С-нику по привязке к товару справочника, содержащего поля "Название" и "Изображение" и выгрузке этого самого справочника на сайт.
Очевидно, что если справочник содержит название, изображение и в перспективе другие поля, то это должен быть либо hl блок, либо инфоблок. Я решил пойти по пути более простому(сначала так показалось) и делать привязку к hl блоку. Посмотрел примеры выгрузки на сайте с документацией, и в наше что нужно - свойство "Внешний" у импортируемого справочника. Но как оказалось, не все так просто. Из значений можно указать только 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 из глаз текут кровавые слезы.
Я конечно подозреваю что оно и должно так работать, но...
Вопрос: Можно ли все это упростить, оптимизировать или решить по другому?
Хорошо, с галочкой понятно, это в документации. Но как быть, если интеграция проходит не через модуль обмена, а что-то самописное со стороны 1с? Тут информации не так уж и много.
Выход я нашел, но уж очень он не очевиден, и надеюсь мне подскажут более простой способ.
Задача: дать инструкции 1С-нику по привязке к товару справочника, содержащего поля "Название" и "Изображение" и выгрузке этого самого справочника на сайт.
Очевидно, что если справочник содержит название, изображение и в перспективе другие поля, то это должен быть либо hl блок, либо инфоблок. Я решил пойти по пути более простому(сначала так показалось) и делать привязку к hl блоку. Посмотрел примеры выгрузки на сайте с документацией, и в наше что нужно - свойство "Внешний" у импортируемого справочника. Но как оказалось, не все так просто. Из значений можно указать только XML_ID и NAME свойства внешнего справочника. А мне нужна еще и картинка, облом.
Подходим с другой стороны. У битрикса есть возможность импортировать справочники напрямую в hl блок, с любым набором значений и параметров. Структура файла импорта справочников описана в , а алгоритм импорта я нашел в этом , кстати там же есть почти рабочие примеры файлов импорта справочников. Тут все работает, только не понятно как привязывать этот справочник и его значения к товарам при синхронизации.
Объединяем оба варианта. С товарами мы выгружаем XML_ID и NAME значений справочников + создаем hl блок. Затем в созданный hl блок по его id загружаем полные значения справочника, с картинками, используя XML_ID значений выгруженных с товарами. И все бы хорошо, но меня беспокоят несколько моментов:
1. Дублирование информации в файлах import.xml и references.xml
2. Совершенно неадекватный способ задавать ID hl блока при создании его с импортом товаров. Приведу пример:
| Код |
|---|
<Свойство> <Ид>COLOR</Ид> <Наименование>Цвет</Наименование> <ТипЗначений>Справочник</ТипЗначений> <Внешний>true</Внешний> <ВариантыЗначений> <Справочник> <ИдЗначения>5431ec04-e7fc-11e4-ab78-00505683732b</ИдЗначения> <Значение>Красный</Значение> </Справочник> </ВариантыЗначений> </Свойство> |
Я конечно подозреваю что оно и должно так работать, но...
Вопрос: Можно ли все это упростить, оптимизировать или решить по другому?