method public static

DealContactTable::onAfterAdd()

Класс: \Bitrix\Crm\Binding\DealContactTable

Сигнатура

public static onAfterAdd(Event $event) : mixed

Параметры

$event Event

Возвращаемое значение

mixed

Как применяется в DealContactTable

DealContactTable::onAfterAdd() — метод класса \Bitrix\Crm\Binding\DealContactTable модуля «CRM». Это ORM-сущность D7 (наследник DataManager): строки читаются как объекты EO_DealContact, наборы — как EO_DealContact_Collection. Метод достаётся DealContactTable от DataManager::onAfterAdd: поведение общее для всех сущностей, а данные, поля и классы — свои.

Событие OnAfterAdd сущности DealContactTable. Статический метод в классе — обработчик по умолчанию; чтобы вмешаться в запись из своего кода, подпишитесь на событие через ORM-менеджер событий \Bitrix\Main\ORM\EventManager: он принимает класс сущности и код события из константы.

use Bitrix\Main\Loader;
use Bitrix\Main\ORM\EventManager;
use Bitrix\Main\ORM\Event;
use Bitrix\Crm\Binding\DealContactTable;

Loader::includeModule('crm');

EventManager::getInstance()->addEventHandler(
    DealContactTable::class,
    DealContactTable::EVENT_ON_AFTER_ADD,
    function (Event $event) {
        $value = $event->getParameter('primary');
        // реакция на изменение
    }
);

Собственные методы DealContactTable

  • bindContactIDs() Привязывает сделку к контактам, указанным по идентификатору.
  • bindContacts() Привязывает сделку к контактам.
  • getBulkDealBindings() Возвращает карту привязок для коллекции сделок.
  • getContactDealIDs() Возвращает идентификаторы сделок, привязанных к указанному контакту.
  • getDealBindingCount() Возвращает количество привязок сделки.
  • getDealBindings() Возвращает привязки сделки.
  • getDealContactIDs() Возвращает идентификаторы контактов, привязанных к указанной сделке.
  • getDealsContactIds()
  • hasContacts() Проверяет, есть ли у сделки контакты.
  • prepareFilterJoinSql() Подготавливает условие SQL-фильтра JOIN для указанной сущности.
  • rebindAllContacts() Отвязывает все контакты от исходной сделки и привязывает их к целевой сделке
  • rebindAllDeals() Отвязывает все сделки от исходного контакта и привязывает их к целевому контакту

onAfterAdd() есть и у других классов модуля «CRM»: Base, Call, CallList, ContactCompanyTable, EntityContactTable, ExternalChannel, Livefeed, OpenLine.

Исходный файл: source/crm/lib/binding/dealcontact.php:2009

Что будем искать? Например,Продвижение