EntityFieldProvider::getPresetFieldsTree

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. EntityFieldProvider
  4. getPresetFieldsTree
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/webform/entityfieldprovider.php
  • Класс: Bitrix\Crm\WebForm\EntityFieldProvider
  • Вызов: EntityFieldProvider::getPresetFieldsTree
static function getPresetFieldsTree()
{
	$fieldsTree = self::getFieldsTree();
	$availableTypes = array(
		Internals\FieldTable::TYPE_ENUM_STRING,
		Internals\FieldTable::TYPE_ENUM_LIST,
		Internals\FieldTable::TYPE_ENUM_CHECKBOX,
		Internals\FieldTable::TYPE_ENUM_RADIO,
		Internals\FieldTable::TYPE_ENUM_TEXT,
		Internals\FieldTable::TYPE_ENUM_INT,
		Internals\FieldTable::TYPE_ENUM_FLOAT,
		Internals\FieldTable::TYPE_ENUM_DATE,
		Internals\FieldTable::TYPE_ENUM_DATETIME,
	);
	foreach($fieldsTree as $entityName => $entityFields)
	{
		foreach($entityFields['FIELDS'] as $fieldKey => $field)
		{
			if (
				mb_strpos($entityName, 'DYNAMIC_') === 0
				&&
				in_array($field['entity_field_name'], ['CATEGORY_ID', 'STAGE_ID'])
			)
			{
				unset($fieldsTree[$entityName]['FIELDS'][$fieldKey]);
				continue;
			}

			if(!in_array($field['type'], $availableTypes))
			{
				unset($fieldsTree[$entityName]['FIELDS'][$fieldKey]);
				continue;
			}
		}
	}

	return $fieldsTree;
}

Добавить комментарий