Доброго времени суток.
Только начал работать с 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 |
