Обновлено 04.03.2024

Позволяет модифицировать данные сделки, контакта, компании после комплексного добавления с поиском дубликатов. Параметром под номером 2 можно вернуть свой массив с итоговыми сущностями.

Данное событие вызывается при обработке события создания нового заказа, а также при экспорте нового заказа в амо, если включен и настроен поиск дубликатов и включено создание сделки.

Параметры

0. Rover\AmoSale\Directory\Entity\Event — текущее событие интеграции, может быть типа Rover\AmoSale\Event\OrderCreate или Rover\AmoSale\Event\OrderExport

1. Rover\AmoSale\Directory\Entity\AbstractProfile — текущий профиль интеграции

2. AmoCRM\Models\BaseApiModel[] — массив добавляемых сущностей амо. На ключе 'leads' обязательно должна присутствовать сущность сделки (AmoCRM\Models\LeadModel). На ключах 'contacts' и 'companies' могут присутствовать сущности контакта (AmoCRM\Models\ContactModel) и компании (AmoCRM\Models\CompanyModel) соответственно, если они включены в текущем профиле интеграции.

При модификации данных, структура массива должна быть сохранена!

Пример

use Bitrix\Main\EventManager;
use Bitrix\Main\EventResult;
use Bitrix\Main\Event;

EventManager::getInstance()->addEventHandler('rover.amosale', 'afterAddComplex', function (Event $event){

    $profile = $event->getParameter(1);
    $entities = $event->getParameter(2);
    
    if ($profile->getId() == 1)
    {
        unset($entities['companies']);
        $event->setParameter(2, $entities);
        return new EventResult(EventResult::SUCCESS, $event->getParameters());
    }
});