• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/control/task.php
  • Класс: BitrixTasksControlTask
  • Вызов: Task::setUserFields
private function setUserFields(array $fields)
{
	$systemUserFields = array('UF_CRM_TASK', 'UF_TASK_WEBDAV_FILES');
	$userFields = $this->ufManager->GetUserFields(UtilUserFieldTask::getEntityCode(), $this->taskId, false, $this->userId);

	foreach ($fields as $key => $value)
	{
		if (
			!array_key_exists($key, $userFields)
			|| array_key_exists($key, $systemUserFields)
			|| $userFields[$key]['USER_TYPE_ID'] !== 'boolean'
		)
		{
			continue;
		}

		if (
			$value
			&& mb_strtolower($value) !== 'n'
		)
		{
			$value = true;
		}
		else
		{
			$value = false;
		}

		$fields[$key] = $value;
	}

	$this->ufManager->Update(UtilUserFieldTask::getEntityCode(), $this->taskId, $fields, $this->userId);
}