г. Санкт-Петербург
Войти
Логин
Пароль
Зарегистрироваться
После регистрации на сайте вам будет доступно отслеживание состояния заказов, личный кабинет и другие новые возможности
Заказать звонок
Логин
Пароль
Зарегистрироваться
После регистрации на сайте вам будет доступно отслеживание состояния заказов, личный кабинет и другие новые возможности
Логин
Пароль
Зарегистрироваться
После регистрации на сайте вам будет доступно отслеживание состояния заказов, личный кабинет и другие новые возможности

RSS
Битрикс Если необходимо копировать значение реквизита в свойство например ШтрихКод, Выгрузка в свойство реквизита из 1С для БУС Битрикс
 
Задача:

Необходимо выгружать штрихкод яндекс маркета из 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 - нужно заменить на символьный код нужного св-ва