Twstd
@Twstd
Разрабатываю приложения и микросервисы на Nodejs

Как запретить менять значения свойств инфоблока в 1С Битрикс БУС?

Добрый день!
Есть база в 1С УТ и есть сайт на БУС Малый бизнес.
Добавил файл init.php чтобы обрабатывать входящий каталог, а именно не перезаписывать некоторые значения в инфоблоках при импорте, вот так:
AddEventHandler("iblock", "OnBeforeIBlockPropertyUpdate","DoNotUpdate");
AddEventHandler("iblock", "OnBeforeIBlockSectionUpdate", "DoNotUpdateSection");
function DoNotUpdate(&$arFields){
    if (@$_REQUEST['mode']=='import')
    {
        unset($arFields['NAME']);
    }
}
function DoNotUpdateSection(&$arFields){
    if (@$_REQUEST['mode']=='import')
    {
        unset($arFields['NAME']);
		unset($arFields['CODE']);
    }
}

Но возникла необходимость не перезаписывать не только имена свойств но и значения, значения в виде списков. Делаю лог вижу такое:
60ec1c6da0370938788243.jpeg
пробую по аналогии unset($arFields['VALUES']); - не работает
пробую перечислить массив VALUES и на каждый VALUE применить unset - не работает
смотрю следующее событие: OnIBlockElementSetPropertyValuesEx
туда ли я смотрю...??

Суть вопроса: нужно чтобы при импорте из 1С, не перезаписывались значения свойств в инфоблоке, ниже картинка
Буду благодарен за помощь!
60ec1daa3affe485563335.png
  • Вопрос задан
  • 377 просмотров
Пригласить эксперта
Ответы на вопрос 1
Twstd
@Twstd Автор вопроса
Разрабатываю приложения и микросервисы на Nodejs
Если кому то будет интересно решение, то встроенного решения нету. Проблему решил через другое событие
AddEventHandler('catalog', 'OnSuccessCatalogImport1C', 'customCatalogImportStep');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы