Zero Block
Click "Block Editor" to enter the edit mode. Use layers, shapes and customize adaptability. Everything is in your hands.
Tilda Publishing
create your own block from scratch
Zero Block
Click "Block Editor" to enter the edit mode. Use layers, shapes and customize adaptability. Everything is in your hands.
Tilda Publishing
create your own block from scratch
Помилки пРРО власної розробки:Змінено ключ при відкритій касі, поверніть старий ключ (ErrorCheck this key opens a shift on another device)

Основна причина проблеми:


У ключа закінчився термін дії/ключ було деактивовано, при цьому по ньому ще є відкрита касова зміна

Як це виглядає:


В бекофісі в статусі проблемного пРРО, побачимо наступну картину:
При цьому в лозі plugin-pRRO.log маємо наступний запис:
[2024-11-04 13:05:55,274]  INFO [18] - Create DocHandle 4000589238
[2024-11-04 13:05:55,276]  INFO [18] - Key found and will be load
[2024-11-04 13:05:55,306]  INFO [18] - Set or update taxes
[2024-11-04 13:05:55,362]  INFO [18] - Create backup client 4000589238
[2024-11-04 13:05:55,364]  INFO [18] - Set backup timer: start 30 sec, repeat 3600 sec, 4000589238
[2024-11-04 13:05:55,373]  INFO [18] - OnStartRegister 4000589238
[2024-11-04 13:05:55,403]  INFO [18] - Встановленно онлайн режим читання ключів (завантаження сертифікатів)
[2024-11-04 13:05:56,280]  INFO [18] - Download cerificates success
[2024-11-04 13:05:56,288]  WARN [18] - Ключі різні
[2024-11-04 13:05:56,289] ERROR [18] - Старий ключ 8233D1D75BB9B1176BEC9A3CE54306DA736E8975EFE6BB3BA60F3B6EF7399C83, новий ключ E99B1CEEA62A4449D06F75FFF6E6D71EF16E44AA041BFF21307A53948D0A3C8A
[2024-11-04 13:05:56,548]  INFO [18] - Видаляємо старі записи з Closed_cheques
[2024-11-04 13:05:56,555]  INFO [18] - Видаляємо старі записи з Closed_cheques
[2024-11-04 13:05:56,563]  INFO [18] - GetPrroInfoAsync()
[2024-11-04 13:05:56,565]  INFO [18] - Підписуємо файл C:\Users\vip\AppData\Roaming\iiko\CashServer\PluginConfigs\pRRO\2025-11-02_ФОП Баблюх Л.А. (ключ ФОПа).jks
[2024-11-04 13:05:56,566]  INFO [18] - rroInfoTask.Result
[2024-11-04 13:05:57,359]  INFO [25] - Ключ: E99B1CEEA62A4449D06F75FFF6E6D71EF16E44AA041BFF21307A53948D0A3C8A
[2024-11-04 13:05:57,360]  INFO [25] - Key expire date: 02.11.2025 0:00:00
[2024-11-04 13:05:57,526]  INFO [16] - GetPrroInfoAsync success
[2024-11-04 13:05:57,528]  INFO [18] - Online: False
[2024-11-04 13:05:57,530]  INFO [18] - Open shift: False
[2024-11-04 13:05:57,532]  INFO [18] - Status RRO: 0
[2024-11-04 13:05:57,533]  INFO [18] - Last signer: 
Звернути увагу треба на наступні рядки:
[2024-11-04 13:05:55,373] INFO [18] - OnStartRegister 4000589238 - це наш проблемний пРРО

Далі повідомлення про те, що ключ замінено на відкритій КЗ
[2024-11-04 13:05:56,288] WARN [18] - Ключі різні
[2024-11-04 13:05:56,289] ERROR [18] - Старий ключ 8233D1D75BB9B1176BEC9A3CE54306DA736E8975EFE6BB3BA60F3B6EF7399C83, новий ключ E99B1CEEA62A4449D06F75FFF6E6D71EF16E44AA041BFF21307A53948D0A3C8A

І далі інформація про те, яким ключем було відкрито зміну зараз
[2024-11-04 13:05:56,565] INFO [18] - Підписуємо файл C:\Users\vip\AppData\Roaming\iiko\CashServer\PluginConfigs\pRRO\2025-11-02_ФОП Баблюх Л.А. (ключ ФОПа).jks
[2024-11-04 13:05:56,566] INFO [18] - rroInfoTask.Result
[2024-11-04 13:05:57,359] INFO [25] - Ключ: E99B1CEEA62A4449D06F75FFF6E6D71EF16E44AA041BFF21307A53948D0A3C8A [2024-11-04 13:05:57,360] INFO [25] - Key expire date: 02.11.2025 0:00:00

Як виправити?

0) Повідомляємо клієнта про те, що треба зайняти касу на хвилин 15-20 для проведення робіт. Дуже важливо щоб клієнт нам під час цього НЕ ЗАВАЖАВ
1) Забираємо собі наступні файли:
1.1) БД проблемного пРРО
Яку базу забрати, бачимо ось тут в лозі
[2024-11-04 13:05:55,373] INFO [18] - OnStartRegister 4000589238
1.2) Сам лог пРРО - plugin-pRRO.log
2) В налаштуваннях пРРО в бекофісі повернути ключ, який був там до заміни
Який ключ був - пишеться ось тут в лозі пРРО:
[2024-11-04 13:05:56,289] ERROR [18] - Старий ключ 8233D1D75BB9B1176BEC9A3CE54306DA736E8975EFE6BB3BA60F3B6EF7399C83, новий ключ E99B1CEEA62A4449D06F75FFF6E6D71EF16E44AA041BFF21307A53948D0A3C8A
По цьому айді в лозі можна знайти назву файлу, який треба повернути
Або можна переглянути це трошки далі по крокам
3) Закрити фронт і зробити бекап кешсерверу (видаливши зайві логи) і БД пРРО
4) Відкриваємо БД пРРО через утилітку (https://sqlitebrowser.org/dl/), клацаємо ПКМ по табиці LastKeyInfo і вибираємо Перегляд таблиці
4.1) Якщо в п.2 ви не знайшли який ключ треба повернути - то як раз тут в стовпчику KeyPath буде видно цю інформацію. Як додаткове підтвердження - в стовпчику KeyId буде тйо самий айді, який в лозі підписаний як Старий ключ
5) Тепер нам треба підставити в стовпчики відповідні значення.
Вся ця інформація наявна в наступних рядках:
[2024-11-04 13:05:56,565] INFO [18] - Підписуємо файл C:\Users\vip\AppData\Roaming\iiko\CashServer\PluginConfigs\pRRO\2025-11-02_ФОП Баблюх Л.А. (ключ ФОПа).jks
[2024-11-04 13:05:56,566] INFO [18] - rroInfoTask.Result
[2024-11-04 13:05:57,359] INFO [25] - Ключ: E99B1CEEA62A4449D06F75FFF6E6D71EF16E44AA041BFF21307A53948D0A3C8A [2024-11-04 13:05:57,360] INFO [25] - Key expire date: 02.11.2025 0:00:00

Для стовпчику KeyId - підставляємо E99B1CEEA62A4449D06F75FFF6E6D71EF16E44AA041BFF21307A53948D0A3C8A
Для стовпчику KeyPath - підставляємо C:\Users\vip\AppData\Roaming\iiko\CashServer\PluginConfigs\pRRO\2025-11-02_ФОП Баблюх Л.А. (ключ ФОПа).jks
Для стовпчику ExpirationDate - підставляємо 2025-11-02 23:59:00 (це переформатований запис 02.11.2025 0:00:00 і виправлений час)
Не забуваємо клацати Застосувати після зміни кожного стовпчика і Записати зміни після того як внесемо всі правки
6) Підкидуємо виправлену БД пРРО замість поточної в кешсервер
7) Запускаємо фронт
8) В бекофісі після того як пРРО запустилось, міняємо ключ на той що треба, закриваємо незакриту касову зміну і відкриваємо наступну касову зміну

Profit ;)