Здравствуйте, коллеги!
Столкнулся с проблемой и не знаю как решить... Может кто сталкивался.
Дано:
- УТ 11.2
- Добавлена подсистема БУС
- Настроен обмен
В УТ11 в каждом товаре есть стандартный реквизит "Производитель". Он же выгружается списком как CML2_MANUFACTURER. Этот реквизит встроенный в обмен с 1С:
Сам шаблон сайта предполагает отдельное информационный блок-каталог "Производители" (тип "Привязка к элементам"), делаю выгрузку товаров из 1С на сайт, а этот блок называется просто MANUFACTURER.
Таким образом получаем два реквизита Производитель, один стандартный 1С-овский, второй принадлежит Битриксу и встроен в шаблон. Заставить загружаемый из 1С реквизит (CML2_MANUFACTURER) грузится в отдельный информационный блок-каталог (MANUFACTURER) у меня не получилось, чего я только не пробовал. Как я понял из 1С CML2_MANUFACTURER может загружаться только списком.
Как вариант решения думаю можно добавить в init.php подписку на событие OnSuccessCatalogImport1C, которое будет по переданному значению CML2_MANUFACTURER устанавливать реквизит MANUFACTURER. Это должно решить проблему установки встроенного в шаблон реквизита.
Но проблема в том, что я слабо разбираюсь в объектно-событийном устройстве Битрикс и не могу решить эту задачу быстро.
Собственно получаем 2 вопроса.
1) Можно ли не используя init.php сделать так, чтобы из 1С реквизит производитель попадал в информационный блок "Производители"?
2) Есть ли у кого-нибудь нормальный пример обработки события OnSuccessCatalogImport1C, которая бы выполняла заполнение реквизита MANUFACTURER на основании значения CML2_MANUFACTURER (технически надо получить значение строки Производитель (не XML_ID) переданного из 1С для каждой позиции, выбрать из информационного блока Производители элемент у которого наименование совпадает с производителем из 1С и подставить ID этого элемента в информационный блок). Знаю, что надо сделать, но не знаю как
Есть кто-нибудь, кто сталкивался с аналогичным?
Спасибо!
Столкнулся с проблемой и не знаю как решить... Может кто сталкивался.
Дано:
- УТ 11.2
- Добавлена подсистема БУС
- Настроен обмен
В УТ11 в каждом товаре есть стандартный реквизит "Производитель". Он же выгружается списком как CML2_MANUFACTURER. Этот реквизит встроенный в обмен с 1С:
Сам шаблон сайта предполагает отдельное информационный блок-каталог "Производители" (тип "Привязка к элементам"), делаю выгрузку товаров из 1С на сайт, а этот блок называется просто MANUFACTURER.
Таким образом получаем два реквизита Производитель, один стандартный 1С-овский, второй принадлежит Битриксу и встроен в шаблон. Заставить загружаемый из 1С реквизит (CML2_MANUFACTURER) грузится в отдельный информационный блок-каталог (MANUFACTURER) у меня не получилось, чего я только не пробовал. Как я понял из 1С CML2_MANUFACTURER может загружаться только списком.
Как вариант решения думаю можно добавить в init.php подписку на событие OnSuccessCatalogImport1C, которое будет по переданному значению CML2_MANUFACTURER устанавливать реквизит MANUFACTURER. Это должно решить проблему установки встроенного в шаблон реквизита.
Но проблема в том, что я слабо разбираюсь в объектно-событийном устройстве Битрикс и не могу решить эту задачу быстро.
Собственно получаем 2 вопроса.
1) Можно ли не используя init.php сделать так, чтобы из 1С реквизит производитель попадал в информационный блок "Производители"?
2) Есть ли у кого-нибудь нормальный пример обработки события OnSuccessCatalogImport1C, которая бы выполняла заполнение реквизита MANUFACTURER на основании значения CML2_MANUFACTURER (технически надо получить значение строки Производитель (не XML_ID) переданного из 1С для каждой позиции, выбрать из информационного блока Производители элемент у которого наименование совпадает с производителем из 1С и подставить ID этого элемента в информационный блок). Знаю, что надо сделать, но не знаю как
Есть кто-нибудь, кто сталкивался с аналогичным?
Спасибо!