...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/entity_helper.php
- Класс: \CCrmEntityHelper
- Вызов: CCrmEntityHelper::registerRelationEvents
static function registerRelationEvents( ItemIdentifier $itemIdentifier, array $params, ?int $authorId = null ): void { $options = static::extractArrayFromParams($params, 'options'); $excludeFromRelationRegistration = static::extractArrayFromParams($options, 'EXCLUDE_FROM_RELATION_REGISTRATION'); $context = null; if ($authorId !== null) { $context = clone Service\Container::getInstance()->getContext(); $context->setUserId($authorId); } $relationRegistrar = Service\Container::getInstance()->getRelationRegistrar(); $relationRegistrar->registerByFieldsChange( $itemIdentifier, static::extractArrayFromParams($params, 'fieldsInfo'), static::extractArrayFromParams($params, 'previousFields'), static::extractArrayFromParams($params, 'currentFields'), $excludeFromRelationRegistration, $context, ); $bindings = static::extractArrayFromParams($params, 'bindings'); // current bindings are null if they were not changed in this call $currentBindings = isset($bindings['current']) && is_array($bindings['current']) ? $bindings['current'] : null ; if (!empty($bindings) && !is_null($currentBindings)) { $relationRegistrar->registerByBindingsChange( $itemIdentifier, (int)($bindings['entityTypeId'] ?? 0), static::extractArrayFromParams($bindings, 'previous'), $currentBindings, $excludeFromRelationRegistration, $context, ); } }