Документация для разработчиков
Темная тема

Комплексные идентификаторы

\Bitrix\Crm\ItemIdentifier и \Bitrix\Crm\RelationIdentifier хранят данные, по которым можно однозначно идентифицировать что-либо. В случае с ItemIdentifier - это конкретный элемент какой-либо сущности (например, конкретная сделка с ID = 74). А в случае с RelationIdentifier - конкретный тип связи.

Объекты обоих классов являются объектами-значениями и поэтому неизменяемы. Значения их параметров передаются в __construct и после не могут быть установлены заново. Если же нужно изменить какое-либо значение, нужно создать новый объект на основе старого.

При создании объектов обоих классов данные валидируются.

Оба класса доступны с обновления crm 20.700.0. Не забудьте поставить зависимость!



ItemIdentifier

Объект ItemIdentifier хранит в себе entityTypeId и entityId, по которым можно однозначно идентифицировать элемент.

Конструктор имеет следующую сигнатуру:


__construct(int $entityTypeId, int $entityId)
  • entityTypeId - константа \CCrmOwnerType, например \CCrmOwnerType::Lead. Значение должно соответствовать реально существующему типу сущности (\CCrmOwnerType::IsDefined). Иначе будет выброшено исключение.
  • entityId - ID элемента. Например, ID конкретной сделки. Должен быть больше 0, иначе будет выброшено исключение.

Также объект может быть создан на основании \Bitrxi\Crm\Item с помощью метода \Bitrix\Crm\ItemIdentifier::createByItem.



RelationIdentifier

Объект RelationIdentifier хранит в себе parentEntityTypeId и childEntityTypeId, по которым можно однозначно идентифицировать тип связи.

Конструктор имеет следующую сигнатуру:


__construct(int $parentEntityTypeId, int $childEntityTypeId)
  • parentEntityTypeId - константа \CCrmOwnerType, например \CCrmOwnerType::Lead. Указывает, какой тип сущности является родительским в данной связи. Должно быть больше нуля, иначе будет выброшено исключение.
  • childEntityTypeId - аналогично parentEntityTypeId. Указывает, какой тип сущности является потомком в данной связи. Должно быть больше нуля, иначе будет выброшено исключение.


© «Битрикс», 2001-2024, «1С-Битрикс», 2024