Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Ошибка Агента

00 голосов
3
в init.php создана функция:
Код
function Renew()
{
   
   $res12 =CIBlockElement::GetByID("1024");
   $res23 = $res12->GetNextElement(); 
   $arIBlockElementX6 =$res23->GetProperties(); 
   $arIBlockElement6 =$res23->GetFields(); 
   $arrFilter999=Array ( "><PROPERTY_start" =>Array($arIBlockElementX6['last']["VALUE"],$arIBlockElementX6['start']["VALUE"]) );
   //$res =GetIBlockElementList(21, 0, Array("DATE_CREATE"=>"ASC"), 0,$arrFilter999);
   
   return "Renew();";
}

Если выполнять код на обычной php страничке всё выполняется, если же вызывать функцию в агенте, то на закоментированной строчке (если убрать коментарий) появляется ошибка: Fatal error: Call to a member function IsAdmin() on a non-object in /home/public_html/bitrix/modules/iblock/classes/general/iblockelement.php on line 664.
В чём может быть проблема?
спросил 06 Май, 13 от xARCHx (240 баллов)

3 Ответы

00 голосов
Цитата
Особенности создания функций-агентов:

* В функции-агенте не доступен глобальный объект $USER класса CUser. Поэтому если предполагается использование этого объекта, то в начале функции необходимо разместить следующий код:

global $USER;
if (!is_object($USER)) $USER = new CUser;

http://dev.1c-bitrix.ru/api_help/main/general/technology/agents.php
ответил 06 Май, 13 от Ly (4,580 баллов)
00 голосов
А как это объект связан с моей функцией?
При добавлении заработало.
ответил 07 Май, 13 от xARCHx (240 баллов)
00 голосов
А у битрикса -- используется. IsAdmin -- это метод класса CUser, вызывается с объекта $USER
ответил 09 Июль, 13 от Ly (4,580 баллов)

Похожие вопросы

0 голосов
5 ответов
спросил 11 Июль, 13 от xARCHx (240 баллов)
0 голосов
5 ответов
спросил 27 Ноя, 13 от 4uKcA (100 баллов)
0 голосов
7 ответов
спросил 25 Авг, 13 от EWARw (480 баллов)
0 голосов
1 ответ