При изменении элемента получить значение свойства

При изменении элемента получить значение свойства

Обработчик события, который позволяет при изменении элемента получить значение свойства. Скачать пример
Далее эти данные можно использовать для передачи в письмо либо обработать для других целей
Пояснения ниже:


 

// регистрируем обработчик


AddEventHandler("iblock", "OnAfterIBlockElementUpdate", Array("MyClass", "OnAfterIBlockElementUpdateHandler"));

class MyClass
{

    // создаем обработчик события "OnAfterIBlockElementUpdate"


    function OnAfterIBlockElementUpdateHandler(&$arFields)
    {
        if(!$arFields["RESULT"]) return false; 
           If($arFields['IBLOCK_ID'] == 19) {

//инфоблок заказов


   //массив нужного свойства


foreach($arFields['PROPERTY_VALUES']['187'] as $value){

//получаем нужные данные


if($value['VALUE']==56) {
 CModule::IncludeModule("sale");
$db_props = CIBlockElement::GetProperty(19, $arFields['ID'], "sort", "asc", Array("CODE"=>"PARTNER"));
if ($ar_props = $db_props->Fetch())
    {

//смотрим данные что получаем


AddMessage2Log($ar_props, true);
}
}
else {

//ведем лог если условие не выполнено


AddMessage2Log('не выполнен');
}
}

           }
    }
}
Вот так выглядит массив данных элемента при изменении


array (
  'ID' => '188',
  'TIMESTAMP_X' => '2017-03-21 11:27:11',
  'IBLOCK_ID' => '19',
  'NAME' => 'Партнер',
  'ACTIVE' => 'Y',
  'SORT' => '500',
  'CODE' => 'PARTNER',
  'DEFAULT_VALUE' => '',
  'PROPERTY_TYPE' => 'S',
  'ROW_COUNT' => '1',
  'COL_COUNT' => '30',
  'LIST_TYPE' => 'L',
  'MULTIPLE' => 'N',
  'XML_ID' => NULL,
  'FILE_TYPE' => '',
  'MULTIPLE_CNT' => '5',
  'TMP_ID' => NULL,
  'LINK_IBLOCK_ID' => '0',
  'WITH_DESCRIPTION' => 'N',
  'SEARCHABLE' => 'N',
  'FILTRABLE' => 'N',
  'IS_REQUIRED' => 'N',
  'VERSION' => '1',
  'USER_TYPE' => 'UserID',
  'USER_TYPE_SETTINGS' => NULL,
  'HINT' => '',
  'PROPERTY_VALUE_ID' => '2863',
  'VALUE' => 4,
  'DESCRIPTION' => '',
  'VALUE_ENUM' => NULL,
  'VALUE_XML_ID' => NULL,
  'VALUE_SORT' => NULL,
)

Ещё статьи:

12.10.2020 Три золотых правила перед обновлением битрикс
Довольно часто банальное обновление приводит к ошибкам и потере работоспособности сайта битрикс. Чтобы потом не тратить своё время и нервы следует соблюдать три простых правила: 1. проверка системы, исправление ошибок, Оптимизация и проверка таблиц бд ID: 308

09.10.2020 Операторы сравнения для getList
Полный список операторов сравнения, которые можно использовать в выборке getList в так называемом фильтре ID: 306

22.09.2020 Отладка ошибок битрикс модулей
Часто не понятно с чем связана ошибка модуля и каких ему в реальности не хватает входных параметров, так как в документации об этом может быть не сказано.
Для этого есть два способа. ID: 256

© 2015-2020 Web админ
Связаться по WhatsApp