Направления
Общее описание
Раньше направления были только в сделках (класс \Bitrix\Crm\Category\DealCategory, таблица \Bitrix\Crm\Category\Entity\DealCategoryTable).
Для направлений смарт-процессов была сделана отдельная таблица.
По аналогии с абстракцией для элементов сущностей CRM была сделана абстракция данных о направлении.
Но здесь класс \Bitrix\Crm\Category\Entity\Category является немного расширенным интерфейсом, содержит большей частью абстрактные классы.
Это связано с тем, что данные о направлении по умолчанию для сделок не хранятся в таблице, они хранятся в b_option, и там, соответственно, нет EntityObject.
Получать объекты этого класса следует, обращаясь к соответствующим методам фабрики.
Методы
| Метод | Описание | С версии |
|---|---|---|
abstract public function getId(): ?int; |
Вернет идентификатор направления. | |
abstract public function getEntityTypeId(): int; |
Вернет идентификатор типа сущности CRM. | |
abstract public function setEntityTypeId (int $entityTypeId): Category; |
Изменит идентификатор типа сущности CRM на $entityTypeId. | |
abstract public function getName(): string; |
Вернет заголовок направления. | |
abstract public function setName (string $name): Category; |
Изменит заголовок направления на $name. | |
abstract public function getSort(): int; |
Вернет индекс сортировки. | |
abstract public function setSort (int $sort): Category; |
Изменит индекс сортировки на $sort. | |
abstract public function setIsDefault(bool $isDefault): Category; |
Изменит флаг того, что направление является направлением по умолчанию. | |
abstract public function getIsDefault(): bool; |
Вернет true, если направление является направлением по умолчанию. | |
abstract public function save(): Result; |
Сохранит изменения в базу данных. Вернет Bitrix\Main\Result. | |
abstract public function delete(): Result; |
Удалит направление. Вернет Bitrix\Main\Result. | |
public function getData(): array |
Вернет данные о направлении в виде массива. | |
public function jsonSerialize(): array |
Вернет подготовленные для фронта или REST-данные о направлении. | |
public function getItemsFilter(array $filter = []): array |
Метод допишет в $filter фильтр по этому направлению и вернет новый фильтр. |
Наследники
Этот класс имеет несколько реализаций:
\Bitrix\Crm\Category\Entity\DealDefaultCategory- направление по умолчанию для сделок.\Bitrix\Crm\Category\Entity\DealCategory- направление сделок.\Bitrix\Crm\Category\Entity\ItemCategory- направление смарт-процессов.
Ограничения
- Нельзя удалить направление по умолчанию. Ни для сделок, ни для смарт-процессов..
- Нельзя изменить поле ENTITY_TYPE_ID для существующих направлений смарт-процессов (и тем более для направлений сделок).
- Направления по умолчанию для смарт-процессов создаются автоматически в момент создания нового смарт-процесса.
Примеры
Изменить направление по умолчанию для сделок
use Bitrix\Crm\Service;
$factory = Service\Container::getInstance ()->getFactory(
\CCrmOwnerType ::Deal
);
$category = $factory->getDefaultCategory ();
$category
->setName('Default Category' )
->setSort(200)
;
$result = $category->save();
Получить список направлений
$factory = Service\Container::getInstance ()->getFactory( \CCrmOwnerType ::Deal ); $categoryId = 10; $categories = $factory->getCategories(); $category = $factory->getCategory($categoryId);
© «Битрикс», 2001-2025, «1С-Битрикс», 2025