партнер компании 1с-битрикс
сайт фрилансера Сергея Эстрина
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Универсальная галерея - модуль для битрикс
Это форум по решению для битрикс «Модуль Интеграция с iiko».
Страницы: 1
Ответить
RSS
Ошибка в корзине после обновления битрикса
 
Fatal error: Declaration of Bitrix\Sale\ResultSerializable::unserialize(string $data): void must be compatible with Serializable::unserialize($serialized) in ...\bitrix\modules\sale\lib\resultserializable.php on line 24
[ErrorException] E_COMPILE_ERROR
Declaration of Bitrix\Sale\ResultSerializable::unserialize(string $data): void must be compatible with Serializable::unserialize($serialized) (0)
...\bitrix\modules\sale\lib\resultserializable.php:24
----------


Так же присутствует ошибка при удалении товара из корзины:

Argument 1 passed to Bitrix\Sale\Internals\Catalog\Provider::prepareContext() must be an instance of Bitrix\Sale\OrderBase, null given, called in ...\bitrix\modules\sale\lib\internals\catalog\provider.php on line 395 (0)
...\bitrix\modules\sale\lib\internals\catalog\provider.php:1312
 
Такая же проблема, очень интересует решение
 
Была таже проблема исправил файл \bitrix\modules\sale\lib\resultserializable.php
строка 24
Код

public function unserialize(string $data): void


исправил на
Код

public function unserialize($data): void

 
Цитата
Гость написал:
Была таже проблема исправил файл \bitrix\modules\sale\lib\resultserializable.php
строка 24
Код

public function   unserialize  (  string $data  ):   void


исправил на
Код

public function   unserialize  (  $data  ):   void

Спасибо большое за точный ответ) Помогло, буквально час назад обновился, и появились проблемы с оформлением заказа, с возможностью менеджерам добавить товар в заказ, и с возможностью изменить способ доставки.
 
Да, точно такое же решение пришло в голову.
Тоже заработало
 
Коллеги, пожалуйста, помогите с более подробной информацией, где в корзине первая ошибка и т.д. Хорошо бы получить подробную информацию с debug => true в /bitrix/.settings.php, потому что у меня пока ошибка не моделируется.

Вторая ошибка уже известна, исправление будет в 3.9.1.
 
Проверено, первая ошибка возникает на php 7.4. Битрикс больше не поддерживает эту версию php, соответственно не стоит обновлять битрикс до последних версий, не обновив предварительно php. В php 8 ее нет. К модулю "Интеграция с iiko" она отношения не имеет.
 
а может кто подскажет.
при включении php 8 на сайте вылетает ошибка
[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method CRSGrupper::HandlerOnBuildGlobalMenu() cannot be called statically (0)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/modules/main/classes/general/module.php:480
#0: call_user_func_array(array, array)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/modules/main/classes/general/module.php:480
#1: ExecuteModuleEventEx(array, array)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/modules/main/interface/admin_lib.php:909
#2: CAdminMenu->Init(array)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/modules/main/interface/prolog_main_ad­min.php:35
#3: require_once(string)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/modules/main/include/prolog_admin_aft­er.php:15
#4: require(string)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/modules/sale/admin/order.php:3656
#5: require_once(string)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/admin/sale_order.php:2


Что за ошибка и че с ней делать понять не могу.
 
Цитата
Руслан написал:
а может кто подскажет.
при включении php 8 на сайте вылетает ошибка
[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method CRSGrupper::HandlerOnBuildGlobalMenu() cannot be called statically (0)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/modules/main/classes/general/module.php:480
#0: call_user_func_array(array, array)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/modules/main/classes/general/module.php:480
#1: ExecuteModuleEventEx(array, array)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/modules/main/interface/admin_lib.php:909
#2: CAdminMenu->Init(array)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/modules/main/interface/prolog_main_ad­ ­min.php:35
#3: require_once(string)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/modules/main/include/prolog_admin_aft­ ­er.php:15
#4: require(string)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/modules/sale/admin/order.php:3656
#5: require_once(string)
/home/k/kupibuk/kupibuk.com/public_html/bitrix/admin/sale_order.php:2


Что за ошибка и че с ней делать понять не могу.
Это точно к модулю отношения не имеет, но чтобы оно ушло, надо подставить public static к этой функции CRSGrupper::HandlerOnBuildGlobalMenu
 
Цитата
написал:
Вторая ошибка уже известна, исправление будет в 3.9.1.
Подскажите пожалуйста решение для удаление не через корзину от модуля, т.к.:
Код

Argument 1 passed to Bitrix\Sale\Internals\Catalog\Provider::prepareContext() must be an instance of Bitrix\Sale\OrderBasenull givencalled in xxxxxx\bitrix\modules\sale\lib\internals\catalog\provider.php on line 395 (0)

xxxxxx\bitrix\modules\sale\lib\internals\catalog\provider.php:1312
#0: Bitrix\Sale\Internals\Catalog\Provider::prepareContext
   
xxxxxx\bitrix\modules\sale\lib\internals\catalog\provider.php:395
#1: Bitrix\Sale\Internals\Catalog\Provider::tryReserve
   
xxxxxx\bitrix\modules\sale\lib\reservequantity.php:169
#2: Bitrix\Sale\ReserveQuantity->onFieldModify
   
xxxxxx\bitrix\modules\sale\lib\internals\entity.php:292
#3: Bitrix\Sale\Internals\Entity->setField
   
xxxxxx\bitrix\modules\sale\lib\reservequantity.php:139
#4: Bitrix\Sale\ReserveQuantity->setQuantity
   
xxxxxx\bitrix\modules\sale\lib\reservequantity.php:267
#5: Bitrix\Sale\ReserveQuantity->delete
   
xxxxxx\bitrix\modules\sale\lib\basketitem.php:396
#6: Bitrix\Sale\BasketItem->delete
 
Цитата
Гость написал:
Подскажите пожалуйста решение для удаление не через корзину от модуля, т.к.:Код
Argument 1 passed to Bitrix\Sale\Internals\Catalog\Provider::prepareContext() must be an instance of Bitrix\Sale\OrderBase, null given, called in xxxxxx\bitrix\modules\sale\lib\internals\catalog\provider.php on line 395 (0)
xxxxxx\bitrix\modules\sale\lib\internals\catalog\provider.php:1312
#0: Bitrix\Sale\Internals\Catalog\Provider::prepareContext
  xxxxxx\bitrix\modules\sale\lib\internals\catalog\provider.php:395
#1: Bitrix\Sale\Internals\Catalog\Provider::tryReserve
  xxxxxx\bitrix\modules\sale\lib\reservequantity.php:169
#2: Bitrix\Sale\ReserveQuantity->onFieldModify
  xxxxxx\bitrix\modules\sale\lib\internals\entity.php:292
#3: Bitrix\Sale\Internals\Entity->setField
  xxxxxx\bitrix\modules\sale\lib\reservequantity.php:139
#4: Bitrix\Sale\ReserveQuantity->setQuantity
  xxxxxx\bitrix\modules\sale\lib\reservequantity.php:267
#5: Bitrix\Sale\ReserveQuantity->delete
  xxxxxx\bitrix\modules\sale\lib\basketitem.php:396
#6: Bitrix\Sale\BasketItem->delete
А какая версия модуля у вас на данный момент?
 
Цитата
написал:
А какая версия модуля у вас на данный момент?
3.10.0
 
Цитата
Подскажите пожалуйста решение для удаление не через корзину от модуля, т.к.:
А что значит не через корзину, это просто через api магазина битрикса?
 
Цитата
написал:
А что значит не через корзину, это просто через api магазина битрикса?
Да, пока прописал такое
Код

try {

    
$item->delete();
} catch (
\Bitrix\Main\SystemException|\Throwable $e) {
    
//костыль
    
\Bitrix\Sale\Internals\BasketTable::delete($item->getId());
}
 
Цитата
Гость написал:
Цитата
написал:
А что значит не через корзину, это просто через api магазина битрикса?
Да, пока прописал такое
Код

try {

      
$item  ->  delete  ();
} catch (  
\Bitrix\Main\SystemException  |  \Throwable $e  ) {
      
//костыль
      
\Bitrix\Sale\Internals\BasketTable  ::  delete  (  $item  ->  getId  ());
}
Гость, я в модуле сделал в точности так же :) Этот баг появился недавно, я тоже не нашел другого решения, надеюсь, это в битриксе исправят просто со временем.

Это код из модуля:
Код

try 

{
   
$deleteResult $basketItem->delete();

catch (
\Bitrix\Main\SystemException \Throwable $e// bitrix error fix on sale/provider tryReserve
{
   
$deleteResult \Bitrix\Sale\Internals\BasketTable::delete($basketItem->getId());
}
 
Добрый день ,помогите пожалуйста !Не могу зайти в админку битрикс ,ошибка :
Fatal error: Declaration of gotech_onlinebooking::InstallFiles($path) must be compatible with CModule::InstallFiles() in /home/bitrix/www/bitrix/modules/gotech.onlinebooking/install/index.php on line 554
[ErrorException] E_COMPILE_ERROR
Declaration of gotech_onlinebooking::InstallFiles($path) must be compatible with CModule::InstallFiles() (0)
/home/bitrix/www/bitrix/modules/gotech.onlinebooking/install/index.php:554
----------
Может кто сталкивался  
 
Цитата
Нина написал:
Добрый день ,помогите пожалуйста !Не могу зайти в админку битрикс ,ошибка :Fatal error: Declaration of gotech_onlinebooking::InstallFiles($path) must be compatible with CModule::InstallFiles() in /home/bitrix/www/bitrix/modules/gotech.onlinebooking/install/index.php on line 554[ErrorException] E_COMPILE_ERRORDeclaration of gotech_onlinebooking::InstallFiles($path) must be compatible with CModule::InstallFiles() (0)/home/bitrix/www/bitrix/modules/gotech.onlinebooking/install/index.php:554
Нина, добрый день! Вы считаете, что эта ошибка связана с модулем Интеграция с iiko?

Цитата
Это форум по решению для битрикс «Модуль Интеграция с iiko».
 
Цитата
Нина написал:
Fatal error: Declaration of gotech_onlinebooking::InstallFiles($path) must be compatible with CModule::InstallFiles() in /home/bitrix/www/bitrix/modules/gotech.onlinebooking/install/index.php on line 554
Приветствую!
Это ошибка не касается данного модуля.
Обратитесь в техподдержку молуля gotech.onlinebooking https://gotech.omnidesk.ru/knowledge_base/item/54444?b_from_widget=1?sid=12510
- возможно модуль устарел и больше не поддерживается.

Что бы убрать ошибку, нужно ее исправить или удалить модуль /home/bitrix/www/bitrix/modules/gotech.onlinebooking/
Страницы: 1
Ответить
Читают тему
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы