- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/lib/integration/tasks.php
- Класс: BitrixIntranetIntegrationTasks
- Вызов: Tasks::prepareCurrentUserList
static function prepareCurrentUserList($taskFields): array
{
$userList = [];
if (
!isset($taskFields['CREATED_BY'])
|| !isset($taskFields['RESPONSIBLE_ID'])
|| !isset($taskFields['AUDITORS'])
|| !isset($taskFields['ACCOMPLICES'])
)
{
$query = new Query(BitrixTasksInternalsTaskTable::getEntity());
$query->setSelect([
'ID',
'CREATED_BY',
'TM_USER_ID' => 'TM.USER_ID',
]);
$query->setFilter([
'=ID' => $taskFields['ID'],
]);
$query->registerRuntimeField('', new ReferenceField(
'TM',
BitrixTasksInternalsTaskMemberTable::getEntity(),
['=ref.TASK_ID' => 'this.ID']
));
$res = $query->exec();
while ($item = $res->fetch())
{
$userId = $item['TM_USER_ID'];
if (!in_array($userId, $userList))
{
$userList[] = $userId;
}
}
}
else
{
$userList = self::prepareUserList($taskFields);
}
return $userList;
}