- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/internals/effective.php
- Класс: BitrixTasksInternalsEffective
- Вызов: Effective::agent
static function agent($date = '')
{
$date = ($date? new DateTime($date, 'Y-m-d') : new DateTime());
$sql = "
SELECT DISTINCT
ef1.USER_ID
FROM
b_tasks_effective ef1
WHERE
NOT EXISTS (
SELECT ef2.ID FROM b_tasks_effective ef2
WHERE
ef2.DATETIME > '".$date->format('Y-m-d')." 00:00:00' AND
ef2.DATETIME <= '".$date->format('Y-m-d')." 23:59:59' AND
ef2.USER_ID = ef1.USER_ID
)
";
$users = Application::getConnection()->query($sql)->fetchAll();
if (!empty($users))
{
foreach ($users as $user)
{
$userId = $user['USER_ID'];
EffectiveTable::add([
'DATETIME' => $date,
'USER_ID' => $userId,
'USER_TYPE' => '',
'GROUP_ID' => 0,
'EFFECTIVE' => static::getEfficiencyForNow($userId),
'TASK_ID' => '',
'IS_VIOLATION' => 'N'
]);
}
}
$date->addDay(1);
return 'BitrixTasksInternalsEffective::agent("'.$date->format('Y-m-d').'");';
}