Здравствуйте!
Уважаемые гуру, подскажите. куда рыть.
Есть функция-агент, прописанная в /bitrix/php_interface/s1/init.php.
Есть агент, вызывающий эту функцию. Агент создан через админку, вызывается по всем правилам, неоднократно указываемым в этом форуме - не забыта точка с запятой, функция возвращает свое имя и все прочее.
Скрипт функции, выполненный просто на странице, отрабатывает на ура. Его функция - это автоматическое завершение задач, которые находятся в состоянии "Ждут контроля".
Агент периодический, вызывается с интервалом в шесть часов. Запускается от юзера с ID=1, под админом то есть.
Судя по изменениям времени, агент вызывается. Однако задачи свой статус не меняют.
Код скрипта:
Уважаемые гуру, подскажите. куда рыть.
Есть функция-агент, прописанная в /bitrix/php_interface/s1/init.php.
Есть агент, вызывающий эту функцию. Агент создан через админку, вызывается по всем правилам, неоднократно указываемым в этом форуме - не забыта точка с запятой, функция возвращает свое имя и все прочее.
Скрипт функции, выполненный просто на странице, отрабатывает на ура. Его функция - это автоматическое завершение задач, которые находятся в состоянии "Ждут контроля".
Агент периодический, вызывается с интервалом в шесть часов. Запускается от юзера с ID=1, под админом то есть.
Судя по изменениям времени, агент вызывается. Однако задачи свой статус не меняют.
Код скрипта:
| Код |
|---|
<?php
function AutoCompleteTasks(){ //Завершение задач, ждущих контроля
CModule::includemodule('crm');
CModule::IncludeModule('tasks');
global $USER;
if (!is_object($USER)) $USER = new CUser;
global $DB;
$now= new DateTime("now");
$tasks=CTasks::GetList(
Array(),
Array("UF_TASKS_USER_TICKET" =>1,
"STATUS" => 4),
Array("*"));
while ($res_tasks=$tasks->Fetch()) {
$start_date=new DateTime($res_tasks["STATUS_CHANGED_DATE"]);
$interval=date_diff($start_date,$now);
$days_val=$interval->format('%a');
if($days_val > 7)
{
$myId[]=$res_tasks["ID"];//перегружаем айдишники в новый массив,иначе не раьботает почему-то
}
}
for($i=0;$i<count($myId);$i++)
{
$obTask = new CTasks;
$success = $obTask->Update($myId[$i],array("STATUS"=>5));
}
return "AutoCompleteTasks();";
}
?>
|
Вызов агента:
Список вызовов агента:
Подскажите, что ему не нравится?