Доброго времени суток.
Только начал работать с 1с bitrix
Создал агента, в котором указ функцию AgentCheckDate(); (вынес в отдельный файл и подключил его init.php) которая должна выполнить следующий код
Но почему то при выполнении агента выдает ошибку
Страно что этот самый код, когда разместить на какой-то страничке, он работает и ошибка не проявляется.
Только начал работать с 1с bitrix
Создал агента, в котором указ функцию AgentCheckDate(); (вынес в отдельный файл и подключил его init.php) которая должна выполнить следующий код
Код |
---|
function AgentCheckDate(){ if (CModule::IncludeModule("iblock")){ $arSelect = Array("ID", "NAME", "DATE_ACTIVE_TO"); $arFilter = Array("IBLOCK_ID"=>CATALOG_ACTION_ID, "<=DATE_ACTIVE_TO" => date($DB->DateFormatToPHP(CSite::GetDateFormat("SHORT")), mktime())); $res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>50), $arSelect); while($ob = $res->GetNextElement()) { $arFields = $ob->GetFields(); $arItems[] = $arFields; } CEventLog::Add(array ( "SEVERITY" =>"SECURITY", "AUDIT_TYPE_ID"=> "CHECK_ACTUAL_DATE", "MODULE_ID" =>"iblock", "ITEM_ID" => "", "DESCRIPTION" => "Проверка элементов инфоблока акции на актуальность даты. У ".count($arItems)."елементов указана неактуальная дата.", )); if(count($arItems)>0){ $filter = array("GROUPS_ID"=>array(GROUP_ADMIN_ID)); $rsUsers = CUser::GetList(($by="personal_country"),($order="desc"), $filter); $arEmail = array(); while ($arUser = $rsUsers->GetNext()) { $arEmail[]= $arUser['EMAIL']; } if (count($arEmail)>0) { $arEventFields= array( "TEXT" => count($arItems), "EMAIL" => implode(", ", $arEmail), ); CEvent::Send("ACTION_DATE_CHECK", SITE_ID, $arEventFields); } } } return "AgentCheckDate();"; } |
Код |
---|
Fatal error: Call to a member function DateFormatToPHP() on a non-object in |