- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Service/Factory/Contact.php
- Класс: Bitrix\Crm\Service\Factory\Contact
- Вызов: Contact::getUpdateOperation
public function getUpdateOperation(Item $item, Context $context = null): Operation\Update
{
$operation = parent::getUpdateOperation($item, $context);
$operation
->addAction(
Operation::ACTION_BEFORE_SAVE,
new Operation\Action\Compatible\SendEvent\WithCancel\Update(
'OnBeforeCrmContactUpdate',
'CRM_CONTACT_UPDATE_CANCELED',
),
)
->addAction(
Operation::ACTION_AFTER_SAVE,
new Operation\Action\ClearCache(
null,
'crm_entity_name_' . $this->getEntityTypeId() . '_',
[Item::FIELD_NAME_NAME, Item::FIELD_NAME_LAST_NAME, Item::FIELD_NAME_SECOND_NAME]
)
)
->addAction(
Operation::ACTION_AFTER_SAVE,
new Operation\Action\ResetEntityCommunicationSettingsInActivities(),
)
;
if ($operation->getItem()->getCategoryId() === 0)
{
$operation
->addAction(
Operation::ACTION_AFTER_SAVE,
new Operation\Action\Compatible\SocialNetwork\ProcessUpdate(),
)
;
}
$operation
->addAction(
Operation::ACTION_AFTER_SAVE,
new Operation\Action\Compatible\SendEvent('OnAfterCrmContactUpdate'),
)
;
return $operation;
}