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

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
Наверх