Иногда, когда вы делаете агенты в 1С Битрикс это изменит некоторые данные, связанные с пользователями, вы можете обнаружить некоторые неприятные ошибки.
Эти ошибки (просто вылетает без сообщений об ошибках) только с хрон.
Например, это происходит при работе с заказами в модуле «продажа».
Может быть еще хуже, что это случится не каждый раз.
Причина этого в большинстве случаев пустой текущий пользователь (Объект). Это произойдет, когда вы попытаетесь обновить или добавить новые данные. Выбор всегда нормальный.
Поэтому вам нужно проверить и создать текущего пользователя, если его нет.
Вот код, который я использую:
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
}
Других решений пока нет …