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