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

FieldTable

Описание и методы

Класс-таблет для работы с таблицей настроек видимости пользовательских полей.

Цепочка наследования

Является наследником класса Bitrix\Main\ORM\Data\DataManager.

Методы

Метод Описание С версии
public static function removeByTypeId(int $typeId): Result Удаляет все записи из таблицы для фильтра TYPE_ID = $typeId. Используется при удалении процесса.

Возвращает объект Bitrix\Main\Result

public static function removeByTypeId(int $stageId): Result Удаляет все записи из таблицы для фильтра STAGE_ID = $typeId. Используется при удалении стадии.

Не рекомендуется использовать этот метод при $stageId = 0 - наверняка удалится много того, чего не должно было удаляться.

Возвращает объект Bitrix\Main\Result

public static function getGroupedList(int $typeId, int $stageId, bool $isFullInfo = false): array Возвращает массив настроек, сгруппированный по видимости и коду поля.

Если $isFullInfo = false, то в значении только true. Если $isFullInfo = true, то в значении полный массив строки из БД.

В следующем примере поле UF_RPA_1_NAME выводится в быстрой форме создания и в карточке на канбане.

// $isFullInfo = false;
[
	'kanban' => [
		'UF_RPA_1_NAME' => true,
		'UF_RPA_1_1246818523891' => true, 
	], 
	'create' => [
		UF_RPA_1_NAME' => true,
	],
];

// $isFullInfo = true;
[
	'kanban' => [
		'UF_RPA_1_NAME' => [
			'ID' => '1',
			'TYPE_ID' => '1',
			'STAGE_ID' => '0',
			'FIELD' => 'UF_RPA_1_NAME',
			'VISIBILITY' => 'kanban',
		],
		'UF_RPA_1_1246818523891' => [...], 
	], 
	'create' => [
		'UF_RPA_1_NAME' => [...],
	],
];
public static function mergeSettings(int $typeId, int $stageId, array $fields, string $visibilityType = null): Result Метод производит сохранение актуальных настроек для типа $typeId на стадии $stageId из массива $fields. Если передан $visibilityType, то сохранение будет произведено только для этого типа видимости. Это нужно для сохранения только одного набора настроек, чтобы остальные не сбрасывались.

Этот метод сразу делает запросы к БД - удаляет лишние настройки, добавляет новые.

Возвращает объект Bitrix\Main\Result.

public static function getVisibilityTypes(): array Возвращает массив доступных значений для поля VISIBILITY

[
	'visible',
	'editable',
	'mandatory',
	'kanban',
	'create',
];

Поля таблицы

Поле Описание Тип Обяз.
ID Int
TYPE_ID Идентификатор процесса.Int Да
STAGE_ID Идентификатор стадии. Если в этом поле записан 0, то эта настройка распространяется на все стадии.Int Да
FIELD Код пользовательского поля.Строка Да
VISIBILITY Тип настройки, принимает одно из значений:
  1. visible - если у поля есть эта настройка, то его значение отображается при просмотре. По умолчанию считается, что все поля видимы везде и на данный момент этот вариант не используется
  2. editable - если у поля есть эта настройка, то его значение доступно для изменения на стадии. По умолчанию все поля везде можно редактировать, на данный момент не используется
  3. mandatory - аналогично настройка обязательности поля на стадии. По умолчанию все поля не обязательны, на данный момент не используется
  4. kanban - поля с этой настройкой отображаются в карточке просмотра в канбане
  5. create - поля с этой настройкой выводятся в быстрой форме создания элемента в канбане
Строка Да


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