Как исправить скрытые ошибки в движке 1С Битрикс при работе агентов через cron

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

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

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

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

0

Решение

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

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

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
}
0

Другие решения

Других решений пока нет …