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

Entity

Канбан - универсальное представление сущностей. И за представление всех типов отвечает один и тот же компонент - crm.kanban.

С версии 20.5.500 модуля CRM большая часть сущностно-зависимых вещей вынесена в отдельное пространство имен \Bitrix\Crm\Kanban\Entity.

Конкретный экземпляр в зависимости от типа сущности получается через метод getInstance().

Внутри этот метод получает экземпляр через ServiceLocator.

Соответственно, с помощью метода ServiceLocator::addInstance() можно переопределить используемый класс, чтобы изменить его поведение.

Методы

Метод Описание С версии
getTypeName(): string
Метод вернет строковый идентификатор типа сущности (например, DEAL для сделок).
getTypeId(): int
Метод вернет числовой идентификатор типа сущности (например, 2 для сделок).
getStatusEntityId(): string
Метод вернет идентификатор сущности для работы со стадиями (таблица b_crm_status).
getItemsSelectPreset(): array
Метод вернет список полей по умолчанию для выбора из таблицы элементов сущностей.
isCategoriesSupported(): bool
Метод вернет true, если тип сущности поддерживает работу с направлениями.
isRestPlacementSupported(): bool
Метод вернет true, если тип сущности поддерживает встройку приложений в канбан.
isCustomPriceFieldsSupported(): bool
Метод вернет true, если тип сущности поддерживает кастомное поля для сумм.
isInlineEditorSupported(): bool
Метод вернет true, если тип сущности поддерживает быстрое создание элемента в канбане.
isEntitiesLinksInFilterSupported(): bool
Метод вернет true, если тип сущности имеет поля со связями с другими сущностями в фильтре.
isOverdueFilterSupported(): bool
Метод вернет true, если тип сущности имеет чекбокс "просрочено" в фильтре.
isActivityCountersFilterSupported(): bool
Метод вернет true, если элементы типа сущности могут фильтроваться по счетчикам.
isRecurringSupported(): bool
Метод вернет true, если тип сущности поддерживает повторность.
hasOwnMultiFields(): bool
Метод вернет true, если тип сущности имеет собственные мульти поля.
isActivityCountersSupported(): bool
Метод вернет true, если тип сущности имеет счетчики.
isExclusionSupported(): bool
Метод вернет true, если тип сущности поддерживает добавление в список исключений.
isNeedToRunAutomation(): bool
Метод вернет true, если после изменения элемента сущности нужно запускать автоматизацию.
getCloseDateFieldName(): string
Метод возвращает поле, где содержится дата закрытия элемента сущности.
getEditorConfigId(): string
Метод вернет строковый идентификатор настроек универсального редактора элемента этой сущности.
hasOpenedField(): bool
Метод вернет true если элементы этого типа сущности имеют поле "Доступно для всех".
removeUserAdditionalSelectFields(): bool
Очищает настройки карточки просмотра для текущего пользователя.
resetAdditionalSelectFields(bool $canEditCommon): bool
Очищает настройки карточки просмотра для всех пользователей.
ПараметрОписание
$canEditCommonИмеет ли пользователь права на изменение общих настроек.
saveAdditionalFields(array $fields, string $type, bool $canEditCommon): bool
Сохраняет настройки карточки просмотра или быстрой формы редактирования.
ПараметрОписание
$fieldsНабор полей.
$type тип настроек. Может быть view или edit.
$canEditCommonИмеет ли пользователь права на изменение общих настроек.
getAdditionalSelectFields(): bool
Возвращает набор дополнительных полей для выборки из базы данных элементов сущности.
getAdditionalEditFields(): array
Возращает дополнительные поля для быстрой формы редактирования.
getCustomPriceFieldName(): ?string
Возвращает дополнительное поле для хранений суммы, если оно задано.
getStageFieldName(): string
Возвращает имя поля, где хранится идентификатор стадии у элемента.
getInlineEditorParameters(): array
Возвращает массив с настройками редактора быстрой формы создания.
getUserFields(): array
Возвращает описания пользовательских полей элементов сущности.
getRequiredFieldsByStages(array $stages): array
Метод вернет набор обязательных полей, где ключ - имя поля, а значение - массив идентификаторов стадий, где это поле является обязательным.
ПараметрОписание
$stagesМассив с описанием стадий.
fillStageTotalSums(array $filter, array $runtime, array &$stages): void
ПараметрОписание
$filterФильтр канбана.
$runtimeRuntime-поля для фильтра канбана.
$stagesОписание стадий.

Метод заполнит итоговые суммы у стадий.

  • count - количество элементов
  • total - итоговая сумма в виде числа
  • total_format - отформатированная строка с итоговой суммой
getItems(array $parameters): \CDBResult
Метод вернет результат выборки элементов.
ПараметрОписание
$parametersНабор параметров для запроса, аналогичен массиву для метода DataManager::getList().
prepareItemCommonFields(array $item): array
Метод приведет названия полей элемента к "общему" виду.
ПараметрОписание
$itemМассив с полями элемента.
deleteItems(array $ids, bool $isIgnore = false, \CCrmPerms $permissions = null): void
Метод удалит элементы с идентификаторами $ids.
ПараметрОписание
$idsМассив с идентификаторами элементов.
$isIgnoreДобавить в список исключения.
$permissionsПрава доступа.
getItem(int $id): ?array
Метод вернет описание элемента по его $id.
ПараметрОписание
$idИдентификатор элемента.
setItemsAssigned(array $ids, int $assignedId, \CCrmPerms $permissions): Result
Метод назначит нового ответственного $assignedId у элементов с ид $ids.
ПараметрОписание
$idsМассив с идентификаторами элементов.
$assignedIdИдентификатор ответственного.
$permissionsПрава доступа.
updateItemsOpened(array $ids, bool $isOpened): Result
Метод изменит флаг "Доступно для всех" у элементов с ид $ids на $isOpened.
ПараметрОписание
$idsМассив с идентификаторами элементов.
$isOpenedЗначение флага "Доступно для всех".
updateItemStage(int $id, string $stageId, array $newStateParams, array $stages): Result
Метод переместит элемент с ид $id на стадию с идентификатором $stageId.
ПараметрОписание
$idИдентификатор элемента.
$stageIdИдентификатор новой стадии.
$newStateParams>Массив с дополнительными данными для переноса.
$stagesОписание стадий.


© «Битрикс», 2001-2024, «1С-Битрикс», 2024