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

Направления

Общее описание

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