На примере вы узнаете как из почтового события узнать по “Коду” название свойства тип которого список (“Перечисление”). Иногда это свойство заказа приходит именно в таком виде.Для решения данной задачи нам понадобится метод CSaleOrderPropsVariant::GetByValue(). Он принимает 2 параметра, ID свойства и “код”.
Вот как это выглядит на практике:
AddEventHandler("sale", "OnOrderNewSendEmail", "PropsToMailAdder"); function PropsToMailAdder ($ID, &$eventName, &$arFields) { if($eventName === "SALE_NEW_ORDER") { // add phone $arFields["PHONE"] = strip_tags($_REQUEST["ORDER_PROP_9"]); //$arFields["PHONE"] = strip_tags($_REQUEST["ORDER_PROP_3"]); $OTHER = ''; if ($_REQUEST["ORDER_PROP_12"] == 'SM') { $var1 = CSaleOrderPropsVariant::GetByValue(11, $_REQUEST["ORDER_PROP_11"]); $OTHER .= "Склад - ".$var1['NAME']." "; } .....
Обратите внимание, в данном примере мы не работаем с $arFields, а берем именно из $_REQUEST.
CSaleOrderPropsVariant::GetByValue(11, $_REQUEST[“ORDER_PROP_11”])
11 – это ID свойства заказа
$_REQUEST[“ORDER_PROP_11”] – это “Код” значения из списка перечислений.
Именно благодаря этому методу, в Битриксе, можно получить значение по его коду. Применять его можно абсолютно всюду, где у вас отправился “код значения”.