Что бы из функции агента повлиять на время его следующего запуска, необходимо использовать в функции глобальную переменную.
[CODE]$GLOBALS['pPERIOD'] ='3600'; //запуск через час
[/CODE]В этом случае вы переопределите значение переданное из поля AGENT_INTERVAL, но не измените его.
Например у вашего агента интервал запуска [B]120 [/B]секунд и вам надо налету(при выполнении самого агента) поменять на [B]3600 [/B]секунд
Есть два возможных варианта
1. в агенте используете
[CODE]$GLOBALS['pPERIOD'] ='3600'; //запуск через час[/CODE]в этом случае уже следующий запуск произойдёт через [B]3600[/B] секунд
2. в агенте выполняете изменение записи об агенте в БД, обновляя значения поля AGENT_INTERVAL
[CODE]CAgent::Update($ID_Agent, array("AGENT_INTERVAL"=>"3600"));
[/CODE]в этом случае следующий запуск будет [B]120 [/B]секунд, а последующие через [B]3600[/B]