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

Помогите с агентом (скорее даже не с ним)!!!!

00 голосов
4
Привет всем!
Такая задача - с помощью агента нужно организовать периодическую выгрузку данных о товарах инет. магазина (количество, цена и др.) в файл .csv
Для начала написал код реализующий это на отдельную страницу. При переходе по ссылке на эту страницу все выгружается без проблем. Потом на этой же странице вместо моего кода забил создание агента

<?
CAgent::AddAgent("export_csv();", "", "N", 15, "", "Y", "", 100);
?>

а в /bitrix/php_interface/init.php добавил мой прежний код выгрузки.
Не работает!!!
Проблемное место в определение цены какого-то товара по ID: $elem_price = CPrice::GetBasePrice($elem["ID"]);
Пишет:
Fatal error: Call to a member function IsAdmin() on a non-object in C:\Program Files\BitrixEnergy\www\bitrix\modules\catalog\mysql\price.php on line 46

Чего надо сделать-то???
Не проверку же if ($USER->IsAdmin())
спросил 19 Дек, 13 от Frankon (280 баллов)

4 Ответы

00 голосов
Судя по ошибке, скрипт не видит объект $USER.
Посмотрел, он объявляется строкой выше (global $DB, $USER;), так что проблема не в этом.
ответил 06 Март, 14 от Eddie (2,060 баллов)
00 голосов
Ага, не в этом.
Но плюс тебе все равно щелкнул! )
Может ещё какие идеи???
ответил 26 Июнь, 14 от Frankon (280 баллов)
00 голосов
Ребята, ну что никто не поможет???
Как понимаю, при вызове CPrice::GetBasePrice проверяется пользователь с какими правами инициировал вызов и если не с админскими, то ничего не происходит. Так если система сама делает вызов этой функции, то естественно, что это не то что это не админ, это вообще никто(не пользователь)!!!
Как быть :?:
ответил 26 Окт, 14 от Frankon (280 баллов)
00 голосов
export_csv() - это ваша самописная функция, которая должна вызываться через агент?
Тогда добавьте в ней:
Код
if(!isset($GLOBALS['USER'])) {
   $GLOBALS['USER'] = new CUser;
}
ответил 24 Фев, 15 от Delp (7,220 баллов)

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

0 голосов
5 ответов
спросил 18 Ноя, 13 от Chemikals (840 баллов)
0 голосов
2 ответов