- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Service/Factory/Deal.php
- Класс: Bitrix\Crm\Service\Factory\Deal
- Вызов: Deal::configureAddOperation
protected function configureAddOperation(Operation $operation): void
{
$operation
->addAction(
Operation::ACTION_BEFORE_SAVE,
new Operation\Action\Compatible\SendEvent\WithCancel\Update(
'OnBeforeCrmDealAdd',
'CRM_DEAL_CREATION_CANCELED',
),
)
->addAction(
Operation::ACTION_BEFORE_SAVE,
new Operation\Action\Compatible\SendEvent\ProductRowsSave('OnBeforeCrmDealProductRowsSave'),
)
->addAction(
Operation::ACTION_AFTER_SAVE,
new Operation\Action\ClearCache('b_crm_deal'),
)
->addAction(
Operation::ACTION_AFTER_SAVE,
new Operation\Action\Compatible\SocialNetwork\ProcessAdd(),
)
->addAction(
Operation::ACTION_AFTER_SAVE,
new Operation\Action\Compatible\SendEvent('OnAfterCrmDealAdd'),
)
->addAction(
Operation::ACTION_AFTER_SAVE,
new Operation\Action\Compatible\SendEvent\ExternalAdd('OnAfterExternalCrmDealAdd'),
)
->addAction(
Operation::ACTION_AFTER_SAVE,
new Operation\Action\Compatible\SendEvent\ProductRowsSave('OnAfterCrmDealProductRowsSave'),
)
;
if ($this->isInventoryManagementEnabled())
{
$operation
->addAction(
Operation::ACTION_BEFORE_SAVE,
new Reservation\Actions\CheckProductsOnAdd()
)
->addAction(
Operation::ACTION_AFTER_SAVE,
new Reservation\Actions\SynchronizeReservesOnAdd()
)
->addAction(
Operation::ACTION_AFTER_SAVE,
new Reservation\Actions\ProcessInventoryManagementOnAdd()
)
;
}
}