Себе на память - редактирование пользовательского свойства заказа в событии перед изменением заказа (Битрикс)
Запишу, чтобы не забыть, потому что долго искала:
Стояла задача сохранить в отдельное пользовательское свойство заказа идентификатор того пользователя (принадлежащего группам 1 или 6), который самым первым отредактировал данный заказ (кто первый взял заказ в работу - тот до конца его и ведет).
public static function OnBeforeOrderUpdateHandler($ID, $arFields) {
global $USER;
$arGroups = $USER->GetUserGroupArray();
if (in_array(6,$arGroups) || in_array(1,$arGroups)){
$db_vals = CSaleOrderPropsValue::GetList(array("SORT" => "ASC"), array("ORDER_ID" => $ID, "CODE"=>"F_MENEDGER"));
$order_props=array();
if ($arVals = $db_vals->Fetch()){
$order_props=$arVals;
}
if (!$order_props['VALUE'])
{
if ($arProp = CSaleOrderProps::GetByID(10)) {
CSaleOrderPropsValue::Add(array(
'ORDER_ID' => $ID,
'ORDER_PROPS_ID' => $arProp['ID'],
'NAME' => $arProp['NAME'],
'CODE' => $arProp['CODE'],
'VALUE' => $USER->GetID(),
));
}
}
}
}
Стояла задача сохранить в отдельное пользовательское свойство заказа идентификатор того пользователя (принадлежащего группам 1 или 6), который самым первым отредактировал данный заказ (кто первый взял заказ в работу - тот до конца его и ведет).
public static function OnBeforeOrderUpdateHandler($ID, $arFields) {
global $USER;
$arGroups = $USER->GetUserGroupArray();
if (in_array(6,$arGroups) || in_array(1,$arGroups)){
$db_vals = CSaleOrderPropsValue::GetList(array("SORT" => "ASC"), array("ORDER_ID" => $ID, "CODE"=>"F_MENEDGER"));
$order_props=array();
if ($arVals = $db_vals->Fetch()){
$order_props=$arVals;
}
if (!$order_props['VALUE'])
{
if ($arProp = CSaleOrderProps::GetByID(10)) {
CSaleOrderPropsValue::Add(array(
'ORDER_ID' => $ID,
'ORDER_PROPS_ID' => $arProp['ID'],
'NAME' => $arProp['NAME'],
'CODE' => $arProp['CODE'],
'VALUE' => $USER->GetID(),
));
}
}
}
}
Комментарии