Направления
Общее описание
Раньше направления были только в сделках (класс \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-2024, «1С-Битрикс», 2024