当代理通过 cron 工作时如何修复 1C Bitrix 引擎中的隐藏错误

How to fix hidden errors in engine of 1C Bitrix when agents work via cron

有时,当您在 1C Bitrix 中创建 agents 时,会更改一些与用户相关的数据,您可能会遇到一些严重的错误。

这些错误(只是崩溃而没有错误消息)将发生仅与 cron

例如,当您在模块 "sale" 中处理订单时会发生这种情况。

情况可能更糟,并非每次都会发生。

大部分时间的原因是清空当前用户(对象)。它会在您尝试更新或添加新数据时发生。选择总是正常的。

所以你需要检查并创建当前用户,如果没有的话。 这是我使用的代码:

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
}