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

Направления

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

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