Здравствуйте!
Уважаемые гуру, подскажите. куда рыть.
Есть функция-агент, прописанная в /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();"; } ?> |
Вызов агента:
Список вызовов агента:
Подскажите, что ему не нравится?