← К заметкам

Заметки

Как получить фабрику CRM через Container

Фабрика получается по entityTypeId, а не по ID отдельной карточки. В коробке сначала подключите crm, затем проверьте результат getFactory: для неподдерживаемого типа он может отсутствовать.

if (!\Bitrix\Main\Loader::includeModule('crm')) {
    throw new RuntimeException('Модуль crm недоступен.');
}

$entity_type_id = 179;
$factory = \Bitrix\Crm\Service\Container::getInstance()->getFactory($entity_type_id);

if (!$factory) {
    throw new RuntimeException('Фабрика этого типа CRM не найдена.');
}

Этот фрагмент только получает фабрику. Чтение через getItems не следует считать автоматической фильтрацией по правам сотрудника. Для пользовательской выдачи предусмотрены методы с проверкой доступа.

Выборка с учётом прав · Обновление через Operation