- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/tasks_report_helper.php
- Класс: CTasksReportHelper
- Вызов: CTasksReportHelper::prepareUFInfo
static function prepareUFInfo()
{
if (is_array(self::$arUFId))
return;
self::$arUFId = array('TASKS_TASK');
/** @global CUserTypeManager $USER_FIELD_MANAGER */
global $USER_FIELD_MANAGER;
// $allowedUserTypes = array('disk_file', 'crm');
$allowedUserTypes = array('disk_file', 'crm', 'string', 'date', 'datetime', 'enumeration', 'double', 'integer',
'boolean', 'file', 'employee', 'crm_status', 'iblock_element', 'iblock_section', 'money');
self::$ufInfo = [];
self::$ufEnumerations = [];
self::$userFieldMoneyList = [];
foreach(self::$arUFId as $ufId)
{
$arUserFields = $USER_FIELD_MANAGER->GetUserFields($ufId, 0, LANGUAGE_ID);
if (is_array($arUserFields) && count($arUserFields) > 0)
{
foreach ($arUserFields as $field)
{
if (isset($field['FIELD_NAME']) && BitrixTasksUtilUserField::isUFKey($field['FIELD_NAME'])
/*&& (!isset($field['MULTIPLE']) || $field['MULTIPLE'] !== 'Y')*/
&& isset($field['USER_TYPE_ID']) && in_array($field['USER_TYPE_ID'], $allowedUserTypes, true))
{
if ($field['FIELD_NAME'] === 'UF_TASK_WEBDAV_FILES')
{
$field['EDIT_FORM_LABEL'] = $field['LIST_COLUMN_LABEL'] = $field['LIST_FILTER_LABEL'] =
GetMessage('TASKS_REPORT_UF_TASK_WEBDAV_FILES');
}
if (mb_substr(trim($field['FIELD_NAME']), 0, 8) == 'UF_AUTO_')
{
$field['LIST_COLUMN_LABEL'] = $field['LIST_FILTER_LABEL'] = $field['EDIT_FORM_LABEL'];
}
self::$ufInfo[$ufId][$field['FIELD_NAME']] = $field;
if ($field['USER_TYPE_ID'] === 'datetime' && $field['MULTIPLE'] !== 'Y')
self::$ufInfo[$ufId][$field['FIELD_NAME'].self::UF_DATETIME_SHORT_POSTFIX] = $field;
$blPostfix = defined('self::UF_BOOLEAN_POSTFIX') ? self::UF_BOOLEAN_POSTFIX : '_BLINL';
if ($field['USER_TYPE_ID'] === 'boolean' && $field['MULTIPLE'] !== 'Y')
self::$ufInfo[$ufId][$field['FIELD_NAME'].$blPostfix] = $field;
if ($field['USER_TYPE_ID'] === 'money')
{
self::$userFieldMoneyList[] = $field['FIELD_NAME'];
}
}
}
}
}
}