События на изменение значения поля
События
Событие | Описание и параметры | Полные названия событий | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
OnBefore<наследник>SetField * | Событие происходит перед изменением и вы можете отменить это изменение, запретить изменение поля.
Параметры
|
OnBeforeSaleOrderSetField
OnBeforeSaleBasketItemSetField
OnBeforeSaleShipmentSetField
OnBeforeSaleShipmentItemSetField
OnBeforeSalePaymentSetField
OnBeforeSalePropertyValueSetField
|
||||||||
On<наследник>SetField * | Происходит непосредственно перед самим изменением, т.е. оно сейчас начнется.
Параметры
|
OnSaleOrderSetField
OnSaleBasketItemSetField
OnSaleShipmentSetField
OnSaleShipmentItemSetField
OnSalePaymentSetField
OnSalePropertyValueSetField
| ||||||||
* <наследник> – это один из наследников класса \Bitrix\Sale\Internals\Entity :
|
Примеры
/* рассмотрим пример, в котором будет выполняться округление цен в корзине. Причем мы будем округлять не по правилам корзины, а отбрасывать копейки. Для этого нам понадобится обработчик события OnBeforeSaleBasketItemSetField. */ \Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnBeforeSaleBasketItemSetField', 'roundPrice' ); /* Обработчик этого события будет вызван каждый раз, когда выполняется попытка изменения цены элемента корзины заказа. Соответственно, в этом обработчике вы проверяете, что у вас действительно изменяется цена и вы округляете значение VALUE, отбрасывая копейки. */ function roundPrice(\Bitrix\Main\Event $event) { $name = $event->getParameter('NAME'); $value = $event->getParameter('VALUE'); if ($name === 'PRICE') { $value = floor($value); $event->addResult( new Main\EventResult( Main\EventResult::SUCCESS, array('VALUE' => $value) ) ); } }
Сообщение не промодерировано, возможны ошибки и неточности.
|
OnBefore<наследник>SetFields содержит так же OLD_VALUES
см \Bitrix\Sale\Internals\Entity::setFields |
Сообщение не промодерировано, возможны ошибки и неточности.
|
OnBefore<наследник>SetField содержит так же OLD_VALUES
см \Bitrix\Sale\Internals\Entity::setFields |
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.