Задача:
//В вашем случае CML2_BAR_CODE - нужно заменить на символьный код нужного св-ва
Необходимо выгружать штрихкод яндекс маркета из 1С на сайт и при выгрузке из 1с если поле это не пустое копировать в свойство штрихкод
Если же все же оно пустое то копировать не надо.
Решается добавлением двух хандлеров на обновление элемента и добавление
и функции OnAfterIBlockEl
//Функция при добавлении или изменении элемента выполняется код функцииКод |
---|
AddEventHandler("iblock", "OnAfterIBlockElementUpdate", "OnAfterIBlockEl"); AddEventHandler("iblock", "OnAfterIBlockElementAdd", "OnAfterIBlockEl"); function OnAfterIBlockEl(&$arFields) { if (CModule::IncludeModule("iblock")): $res = CIBlockElement::GetByID($arFields['ID']); if($obRes = $res->GetNextElement()) { $ar_res = $obRes->GetProperty("SHTRIKHKOD_DLYA_MARKETA"); //В вашем случае SHTRIKHKOD_DLYA_MARKETA - нужно заменить на символьный код нужного св-ва $setProperty = $ar_res['VALUE']; } endif; //проверка, если setProperty не пустая то значение копируется в свойство CML2_BAR_CODE if(!empty($setProperty)){ CIBlockElement::SetPropertyValuesEx ( $arFields['ID'],$arFields['IBLOCK_ID'],array ( 'CML2_BAR_CODE' => $setProperty ) ); } } |
//В вашем случае CML2_BAR_CODE - нужно заменить на символьный код нужного св-ва