ALERT!!! С 1.01.2025 без подписки на Маркет отвалятся: телефония, почти все приложения, rest api, вебхуки! ->

Обработчик для генерации символьного кода при добавлении товара

Задача: генерировать символьный код из определенного свойства (id =15) при добавлении товара в инфоблок
$arFields["PROPERTY_VALUES"][15] - можно заменить на любое другое поле

AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "MyOnBeforeIBlockElementAdd");
function MyOnBeforeIBlockElementAdd(&$arFields){
    if($arFields["IBLOCK_ID"]==10){        
        if(isset($arFields["PROPERTY_VALUES"][15]) && is_array($arFields["PROPERTY_VALUES"][15])){
            foreach ($arFields["PROPERTY_VALUES"][15] as $arProp) {
                if(isset($arProp["VALUE"]) && ($arProp["VALUE"]!='')){
                    $arParams = array( "replace_space" => "-", "replace_other" => "-" );       
                    $arFields["CODE"] = Cutil::translit( $arProp["VALUE"], "ru", $arParams );
                }
            }
        }             
    }
}