~1 минуту, Опубликовано 04.03.2024

[Обновлено] Ошибка битрикс Mysql query error sale_cashbox_internals_cashbox_check

[Обновлено] Ошибка битрикс Mysql query error sale_cashbox_internals_cashbox_check

В последних обновлениях, а именно на версии 1С-Битрикс: Управление сайтом 23.900.600 в списке заказов в ЛК возникает ошибка:

Mysql query error: (1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND `sale_cashbox_internals_cashbox_check`.`ENTITY_REGISTRY_TYPE` = 'ORDER'' at line 21

Временное решение – это внести правки в компонент /bitrix/components/bitrix/sale.personal.order.list/class.php

Замените код на строке 1150

$checkList = CheckManager::collectInfo([
            '@PAYMENT_ID' => $paymentIdList,
            '=ENTITY_REGISTRY_TYPE' => Sale\Registry::REGISTRY_TYPE_ORDER,
        ]);

на вот этот

$arCollectFilter = [
    // '@PAYMENT_ID' => $paymentIdList,
    '=ENTITY_REGISTRY_TYPE' => Sale\Registry::REGISTRY_TYPE_ORDER,
];

if(!empty($paymentIdList)){
    $arCollectFilter['@PAYMENT_ID'] = $paymentIdList;
}

$checkList = CheckManager::collectInfo($arCollectFilter);

 

Update от 05.03.2024:
Битрикс выпустил обновление модуля sale (интернет-магазин), в котором исправил данную ошибку:

Updated: sale (23.600.100)

  • В случае отсутствия оплат у заказов возникала sql-ошибка в списке заказов персонального раздела.
Читайте также  Как добавить поиск по свойствам в bitrix:catalog.search

Категории: Bitrix