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

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

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


 

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


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,
)

Ещё статьи:

06.04.2022 Своё АПИ на сайте битрикс без модуля
Искал куда компонент спрятали и нашёл такую реализацию мини АПИ без модуля. ID: 333

18.03.2022 Получение минимальной цены и сохранение в свойство
Пополнение - пример события OnPriceUpdate для получение минимальной цены и сохранения в свойство инфоблока. ID: 332

12.02.2022 Проверка групп пользователя и исключение разделов
Пример события для проверки групп пользователя с целью исключить разделы из общего доступа ID: 331

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