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

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-2021, «1С-Битрикс», 2021
Наверх