Как исправить скрытые ошибки в движке 1С Битрикс при работе агентов через cron - PullRequest
0 голосов
/ 13 ноября 2018

Иногда, когда вы делаете агентов в 1C Битрикс , которые изменят некоторые данные, связанные с пользователями, вы можете обнаружить некоторые неприятные ошибки.

Эти ошибки (просто вылетает без сообщений об ошибках) будут возникать только с cron .

Например, это происходит при работе с заказами в модуле «продажа».

Может быть еще хуже, что это случится не каждый раз.

1 Ответ

0 голосов
/ 13 ноября 2018

Причиной этого в большинстве случаев является пустой текущий пользователь (объект).Это произойдет, когда вы попытаетесь обновить или добавить новые данные.Выбор всегда нормальный.

Так что вам нужно проверить и создать текущего пользователя, если его нет.Вот код, который я использую:

global $USER;
if (empty($USER)) {
    $USER = new CUser;
}
if (!$USER->IsAuthorized()) {
    // authorize as super admin
    $USER->Authorize(1);
} else {
    // alredy authorized, nothing need to do anymore
}
...