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

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

13.11.2018 02:26:31 Просмотров 46 Источник

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

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

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

Это может быть даже хуже, что это будет происходить не каждый раз.

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/53280019/how-to-fix-hidden-errors-in-engine-of-1c-bitrix-when-agents-work-via-cron#comment99015446_53280019
Вы пытались использовать logger для записи отладочной информации?

Ответы - Как исправить скрытые ошибки в движке 1С Битрикс при работе агентов через cron / How to fix hidden errors in engine of 1C Bitrix when agents work via cron

Является ответом!
A. Denis

13.11.2018 02:26:31

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

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

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
}
Закрыть X