PDA

Просмотр полной версии : Ошибка iikoFront



mygedz
25.10.2022, 21:26
Всем привет. Так получилось, что жизнь столкнула с этим ПО. Тех информации для админов, практически нет. Собираю по крупицам можно так сказать.


Описываю информацию:
Есть сервер с БД, на нем же и работают в iikoOffice.
На кассе стоит iikoFront и к ней подключены: терминал оплаты (альфа) + фискальный регистратор (АТОЛ FPrint-22ПТК).
Версия iiko: 6.2.2015.0
Касса одна.


Уже какой день появляется ошибка:

[2022-10-24 18:17:00,180] INFO [53] [MessageService:Add:108] - Message: Dual Connector: операция не выполнена. Причина: "Операция обмена завершилась с ошибкой!
Код ошибки: 13
Описание: Connection error. ", Sender: Dual Connector, Type: Error, ReceiveTime: 10/24/2022 18:17:00, ExpireTime: 10/25/2022 06:17:00


Проблем с инетом нет, на диске есть свободное место.
Ошибка возникала, при попытке оплаты и когда снимали с кассы в конце смены.


Потом в error.log вижу следующую ошибку:

[2022-10-25 16:30:16,272] ERROR [65] [PaymentScreenController:PaymentOperationFailed:202 7] - Payment operation failedResto.Framework.Common.RestoException: Операция не выполнена:
Код ошибки:OperationIsInterrupted
Описание: ПРЕРВАНО
Подробно: ОПЕРАЦИЯ ПРЕРВАНА ---> Resto.Front.Api.V5.Exceptions.PaymentActionFailedE xception: Операция не выполнена:
Код ошибки:OperationIsInterrupted
Описание: ПРЕРВАНО
Подробно: ОПЕРАЦИЯ ПРЕРВАНА


Server stack trace:
в Resto.Front.Api.PaymentSystem.DualConnector.DualCo nnectorOperationHelper.CheckOperationResult(Operat ionData operationData) в I:\BuildAgent\work\release-installer\dev\iikoFront.Net\Resto.Front.Api.Paymen tSystem.DualConnector\DualConnectorOperationHelper .cs:строка 43
в Resto.Front.Api.PaymentSystem.DualConnector.DualCo nnectorPlugin.CompleteOperation(Pair`2 result, IReceiptPrinter printer, IUser cashier) в I:\BuildAgent\work\release-installer\dev\iikoFront.Net\Resto.Front.Api.Paymen tSystem.DualConnector\DualConnectorPlugin.cs:ст ока 170
в Resto.Front.Api.PaymentSystem.DualConnector.DualCo nnectorPlugin.Pay(Decimal sum, Nullable`1 orderId, Guid paymentTypeId, Guid transactionId, IPointOfSale pointOfSale, IUser cashier, IReceiptPrinter printer, IViewManager viewManager, IPaymentDataContext context, IProgressBar progressBar) в I:\BuildAgent\work\release-installer\dev\iikoFront.Net\Resto.Front.Api.Paymen tSystem.DualConnector\DualConnectorPlugin.cs:ст ока 136
в System.Runtime.Remoting.Messaging.StackBuilderSink ._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
в System.Runtime.Remoting.Messaging.StackBuilderSink .SyncProcessMessage(IMessage msg)


Exception rethrown at [0]:
в System.Runtime.Remoting.Proxies.RealProxy.HandleRe turnMessage(IMessage reqMsg, IMessage retMsg)
в System.Runtime.Remoting.Proxies.RealProxy.PrivateI nvoke(MessageData& msgData, Int32 type)
в Resto.Front.Api.V5.IExternalPaymentProcessor.Pay(D ecimal sum, Nullable`1 orderId, Guid paymentTypeId, Guid transactionId, IPointOfSale pointOfSale, IUser cashier, IReceiptPrinter printer, IViewManager viewManager, IPaymentDataContext context, IProgressBar progressBar)
в Resto.Front.Api.V5.Payment.PaymentProcessorWrapper .Pay(Decimal sum, Nullable`1 orderId, Guid paymentTypeId, Guid transactionId, IPointOfSale pointOfSale, IUser cashier, IPluginPrinter printManager, PluginViewManager viewManager, IPluginPaymentDataContext paymentContext, IPluginProgressBar progressBar) в I:\BuildAgent\work\release-installer\dev\iikoFront.Net\Resto.Front.Api\V5\Pay ment\PaymentProcessorWrapper.cs:строка 50
в Resto.Front.Api.ApiExtensionsService.PerformPaymen tAction(IExternalPaymentItem item, String key, Decimal sum, Nullable`1 orderId, Guid transactionId, ICashRegister cashRegister, IUser cashier, ActionType type, Action`1 changeProgressBarMessage) в I:\BuildAgent\work\release-installer\dev\iikoFront.Net\Resto.Front.Api\ApiExt ensionsService.cs:строка 116
--- Конец трассировки внутреннего стека исключений ---
в Resto.Front.Api.ApiExtensionsService.PerformPaymen tAction(IExternalPaymentItem item, String key, Decimal sum, Nullable`1 orderId, Guid transactionId, ICashRegister cashRegister, IUser cashier, ActionType type, Action`1 changeProgressBarMessage) в I:\BuildAgent\work\release-installer\dev\iikoFront.Net\Resto.Front.Api\ApiExt ensionsService.cs:строка 155
в Resto.Front.Api.ApiExtensionsService.Pay(IExternal PaymentItem item, String key, Decimal sum, Nullable`1 orderId, Guid transactionId, ICashRegister cashRegister, IUser cashier, Action`1 changeProgressBarMessage) в I:\BuildAgent\work\release-installer\dev\iikoFront.Net\Resto.Front.Api\ApiExt ensionsService.cs:строка 62
в Resto.CashServer.PaymentSystem.ExternalPaymentItem .PerformTransaction(IBaseOrderBuilder orderBuilder, ILockedObjectsToken token, ICafeSession cafeSession, IUser cashier, Action`1 changeProgressBarMessage) в I:\BuildAgent\work\release-installer\dev\iikoFront.Net\Resto.CashServer\Payme ntSystem\ExternalPaymentItem.cs:строка 34
в Resto.CashServer.PaymentSystem.CardPaymentItem`1.E xecuteProcessingOperation(IBaseOrderBuilder orderBuilder, ILockedObjectsToken token, ICafeSession cafeSession, IUser cashier, Action`1 changeProgressBarMessage) в I:\BuildAgent\work\release-installer\dev\iikoFront.Net\Resto.CashServer\Payme ntSystem\CardPaymentItem.cs:строка 167
в Resto.CashServer.PaymentSystem.PaymentItem.Process (IBaseOrderBuilder orderBuilder, ILockedObjectsToken token, ICafeSession cafeSession, IUser cashier, Action`1 changeProgressBarMessage) в I:\BuildAgent\work\release-installer\dev\iikoFront.Net\Resto.CashServer\Payme ntSystem\PaymentItem.cs:строка 227
в Resto.CashServer.Services.OrderService.ProcessPaym entsItems(IBaseOrderBuilder orderBuilder, IUser cashier, ILockedObjectsToken token, ICafeSession cafeSession, Action`1 changeProgressBarMessage) в I:\BuildAgent\work\release-installer\dev\iikoFront.Net\Resto.CashServer\Servi ces\OrderService.cs:строка 1271
в Resto.CashServer.Services.OrderService.ProcessOrde rClose(IBaseOrderBuilder orderBuilder, ICafeSession cafeSession, IOrderCloseParameters closeParameters, ILockedObjectsToken token, Action`1 changeProgressBarMessage) в I:\BuildAgent\work\release-installer\dev\iikoFront.Net\Resto.CashServer\Servi ces\OrderService.cs:строка 503
в Resto.Front.Controllers.PaymentScreenController.<>c__DisplayClass75_0.<CloseOrder>b__3() в I:\BuildAgent\work\release-installer\dev\iikoFront.Net\Resto.Front.Controller s\PaymentScreenController.cs:строка 1510
в System.Threading.Tasks.Task.InnerInvoke()
в System.Threading.Tasks.Task.Execute()


Логи: https://disk.yandex.ru/d/oNYu_-uonnlitQ


Скриншот ошибки на iikoFront:
7068

mygedz
25.10.2022, 22:49
Я могу ошибаться, но судя по логам проблема в платежном плагине Front.Api.PaymentSystem.DualConnector.
О чем написано в plugin-Resto.Front.Api.PaymentSystem.DualConnector.log
[2022-10-25 14:57:16,562] WARN [109] - Exchange error! Code: 13; Description: Connection error.

[2022-10-25 15:10:06,483] WARN [58] - Exchange error! Code: 13; Description: Connection error. и так далее.

В cash-server.log написано:

[2022-10-25 15:51:13,045] ERROR [LoadingScreenController] [CashServer:StartUp] - Last time this terminal was shut down incorrectly

Pest
27.10.2022, 21:27
Это частая проблема, дело в пин-паде. Варианты решения:
1. Заменить пин-пад (бывало, что и не помогало)
2. Воткнуть в другой USB-разъем (тоже может не помочь)
3. Одним клиентам помогло только использование сетевого пин-пада, который по вай фай цепляется

mygedz
29.10.2022, 22:22
Это частая проблема, дело в пин-паде. Варианты решения:
1. Заменить пин-пад (бывало, что и не помогало)
2. Воткнуть в другой USB-разъем (тоже может не помочь)
3. Одним клиентам помогло только использование сетевого пин-пада, который по вай фай цепляется
Пин-пад новый. Работает по по витой паре. Разьем не менял.

Вообщем отпишусь по результату: ошибка пропала.
Что я сделал: случайно нашел утилиту: CLEAR.bat для iiko. И произвел с помощью нее Стандартную очистку.
Ошибка пропала.
В стандартную очистку входит:


Принудительная синхронизация времени Windows
Отключение обновлений Windows
Удаляет логи iikoFront (Старше 3х дней)
Удаляет БД iikoCard5 (На работу iikoCard5 никак не влияет, БД скачается спустя 2-5 минут после старта фронта)
Добавляет порт 7001 для iikoCard в исключения
Добавляет iikoCard5POS в группу Администраторы
Очистка логов CDS
Очистка windows:
Кеш приложений
Скаченные обновления Далее скрипт запускает службу iikoCard5POS и iikoFront.

Получается, что-то из этого помогло.

mygedz
01.11.2022, 16:27
Это частая проблема, дело в пин-паде. Варианты решения:
1. Заменить пин-пад (бывало, что и не помогало)
2. Воткнуть в другой USB-разъем (тоже может не помочь)
3. Одним клиентам помогло только использование сетевого пин-пада, который по вай фай цепляется
Снова ошибка 13, буду ваш совет прменять...

mygedz
04.11.2022, 19:20
Отпишусь. Приезжал специалист из Альфа Банка. Смотрел терминал. Все что в нем было не так, это в настройках самого терминала, была выставленна связь с банком, через ds service.
А так как пинпад подключен через кассу, то выставили Через Кассу.

Буду смотреть дальше, как поведет себя в работе.

А и + обновлили DualConnector + драйвера.

Fishman
24.11.2022, 12:12
нужно зарегистрировать библиотеку DualConnector.
После этого Ошибки 13 не должно появляться.

Если не поможет то только физически замена пинпада

mygedz
29.11.2022, 16:58
нужно зарегистрировать библиотеку DualConnector
а можно поподробнее? Что значит зарегистрировать и где?

А так ошибка снова стала появляться. Звонил в ТП. Какуб-то конфигурацию обновили и пока без ошибок. Фиг знает в какую сторону смотреть.

Fishman
06.12.2022, 12:23
Переустановите Dual Coonector с полным удалением, затем зарегистрируйте dll вручную в cmd C:\Program Files (x86)\INPAS\DualConnector\regasm DualConnector.dll \codebasel

mygedz
07.12.2022, 16:22
нужно зарегистрировать библиотеку DualConnector.
Немного не понял, что значит зарегистрировать библиотеку? У меня сам DC инсталятор и через него дрова ставятся.

Fishman
22.12.2022, 14:05
Немного не понял, что значит зарегистрировать библиотеку? У меня сам DC инсталлятор и через него дрова ставятся.

Нажмите Пуск - Все программы - Служебные - Командная строка. (запускать от имени администратора)
далее в командную строку вставить C:\Program Files (x86)\INPAS\DualConnector\regasm DualConnector.dll \codebasel и нажать Enter.
Должно появится сообщение что DLL успешно зарегистрирована

mygedz
07.02.2023, 23:52
Вообщем ошибка на какое-то время исчезал. Но вот снова стала появляться. В день по одному разу точно!
В чем прикол, не могу понять...