- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/integration/bizproc/document/task.php
- Класс: BitrixTasksIntegrationBizprocDocumentTask
- Вызов: Task::getFieldsCreatedByUser
static function getFieldsCreatedByUser(string $type = null)
{
static $fieldsCreatedByUser = null;
if(is_array($fieldsCreatedByUser))
{
return isset($type) ? self::filterUserFields($type, $fieldsCreatedByUser) : $fieldsCreatedByUser;
}
$fieldsCreatedByUser = array();
$userFieldsIds = BitrixMainUserFieldTable::getList([
'select' => array('ID'),
'filter' => array(
'=ENTITY_ID' => 'TASKS_TASK',
'%=FIELD_NAME' => 'UF_AUTO_%'
)
])->fetchAll();
foreach ($userFieldsIds as $fieldsId)
{
$field = MainUserFieldTable::getFieldData($fieldsId['ID']);
$name = in_array(LANGUAGE_ID, $field['LANGUAGE_ID']) ? $field['EDIT_FORM_LABEL'][LANGUAGE_ID] : $field['FIELD_NAME'];
$fieldsCreatedByUser[$field['FIELD_NAME']] = [
'Name' => $name,
'Type' => $field['USER_TYPE_ID'] === 'boolean' ? 'bool' : $field['USER_TYPE_ID'],
'Editable' => CBPHelper::getBool($field['EDIT_IN_LIST']),
'Required' => CBPHelper::getBool($field['MANDATORY']),
'Multiple' => CBPHelper::getBool($field['MULTIPLE'])
];
}
return isset($type) ? self::filterUserFields($type, $fieldsCreatedByUser) : $fieldsCreatedByUser;
}