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

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

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


 

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


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

Ещё статьи:

08.09.2022 Расход оперативной памяти у интернет-магазина битрикс с 60 000 товаров
После выполнения мной доработки не связанной с обменом, у заказчика появилась проблема с обновлением товаров из раздела КПБ после обмена с 1С.

Перестали выгружаться фото для торговых предложений, соответственно в каталоге созданный товар из данного предложения - деактивируется. ID: 341

31.08.2022 Тест VPS тарифа RED.Site-2 reddock.ru для битрикс Аспро
Параметры хостинга:
Виртуальный сервер RED.Site-2, Дисковое пространство -40Гб, Оперативная память - 2Гб ID: 340

31.08.2022 Тест тарифа reg.ru SSD-VPS-3 битрикс Аспро
Параметры хостинга SSD-VPS-3 сайта битрикс с Аспро в ходе тестов:
10 гб к серверу "Cyan Terbium", Премиум DNS, ISPmanager 6 Lite 8 для сервера "Cyan Terbium", Сервер SSD-VPS-3 "Cyan Terbium", Тариф SSD-VPS-3 25 ГБ, 2 ГБ, 2x2200 МГц ID: 339

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