TypeTable
Класс-таблет для работы с таблицей смарт-процессов
ORM-объект: \Bitrix\Crm\Model\Dynamic\Type
.
Подробнее о хранении значений пользовательских полей.
Цепочка наследования
Является наследником базового класса Bitrix\Main\UserField\Internal\TypeDataManager.
Bitrix\Crm\Model\Dynamic\TypeTable extends Bitrix\Main\UserField\Internal\TypeDataManager
Методы класса
Генерация значений полей
Метод | Описание | С версии |
---|---|---|
public static function generateName( string $title = null, int $try = 0 ): ?string | Метод генерирует новое значение для колонки NAME на основе заголовка смарт-процесса $title . Метод рекурсивный, поэтому в $try лежит счетчик вызовов. Метод вернет значение поля или null . |
|
public static function getNextAvailableEntityTypeId(): ?int | Метод возвращает следующий возможный идентификатор типа смарт-процесса. Если метод вернул null , значит, доступные идентификаторы закончились. |
Чтение данных
Метод | Описание | С версии |
---|---|---|
public static function getByEntityTypeId( int $entityTypeId ): QueryResult | Метод вернет результат запроса к таблице с фильтром по $entityTypeId |
Обработчики событий
Класс имеет набор методов-обработчиков событий. В этих обработчиках проверяется состояние связанных таблиц и могут прерываться некоторые действия. Например, нельзя удалить смарт-процесс, если у него есть элементы.
После удаления смарт-процесса из связанных таблиц удаляются все данные, привязанные к этому смарт-процессу. Также удаляются таблица элементов и таблица полнотекстового индекса.
При создании новой записи создаются связанные таблицы, генерируются значения системных полей.
Метод | Описание | С версии |
---|---|---|
public static function createItemIndexTable( $type ): Result | Создает таблицу для хранения полнотекстового индекса элементов процесса. Возвращает объект \Bitrix\Main\Result |
Поля таблицы
Поле | Описание | Обяз. |
---|---|---|
ID | Идентификатор смарт-процесса. | Да |
NAME | Строковый идентификатор смарт-процесса. Генерируется автоматически. | Да |
TABLE_NAME | Название таблицы, где хранятся элементы этого смарт-процесса. Генерируется автомтически как b_crm_dynamic_items_{ENTITY_TYPE_ID} . | Да |
TITLE | Заголовок смарт-процесса. | Да |
CODE | Символьный код смарт-процесса, который можно заполнить через REST. | |
CREATED_BY | Идентификатор пользователя, который создал смарт-процесс. | Да |
ENTITY_TYPE_ID | Идентификатор типа смарт-процесса в рамках CRM. | |
IS_CATEGORIES_ENABLED | Включены ли направления у смарт-процесса. | |
IS_STAGES_ENABLED | Включены ли стадии у смарт-процесса. | |
IS_BEGIN_CLOSE_DATES_ENABLED | Включены ли поля "Дата начала" и "Дата окончания". | |
IS_CLIENT_ENABLED | Включено ли поле "Клиент" (привязка к компании и контактам). | |
IS_USE_IN_USERFIELD_ENABLED | Доступен ли смарт-процесс в пользовательском поле типа "Привязка к элементам CRM". | |
IS_LINK_WITH_PRODUCTS_ENABLED | Включен ли функционал товаров. | |
IS_CRM_TRACKING_ENABLED | Включена ли работа с utm-метками (пока не используется). | |
IS_MYCOMPANY_ENABLED | Включено ли поле "Реквизиты моей компании". | |
IS_DOCUMENTS_ENABLED | Включена ли печать документов. | |
IS_SOURCE_ENABLED | Включено ли поле "Источник" и "Подробнее об источнике". | |
IS_OBSERVERS_ENABLED | Включено ли поле "Наблюдатели". | |
IS_RECYCLEBIN_ENABLED | Включен ли функционал корзины. | |
IS_AUTOMATION_ENABLED | Включены ли роботы и триггеры. | |
IS_BIZ_PROC_ENABLED | Включен ли дизайнер бизнес-процессов. | |
IS_SET_OPEN_PERMISSIONS | Открывать ли доступ к новому направлению всем ролям. |
Примечание: На данный момент поле ENTITY_TYPE_ID
может принимать значения от 128 до 192. Это связано с тем, что соответствующая колонка в некоторых таблицах имеет размерность TINYINT
(например, поле OWNER_TYPE_ID
в таблице b_crm_act
). В будущем планируется изменение структуры таблиц и расширение диапазона возможных значений, чтобы снять ограничение на 64 возможных смарт-процесса.