- Модуль: 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;
}