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
Відновлення пРРО після проблем з кешсервером чи після оновлення
Версійність: Підходить від версії Syrve: 817 та вище

Остання редакція від 01.04.2025
Іноді при пошкодженні кешсерверу на диску, після маніпуляцій з кешсервером, після оновлень фронта чи проблемах синхронізації з ГК (на другорядних касах) буває що Syrve бекапить кешсервер і затирає ES.

Симптоми: на фронті при відкритті каси (чи іншій операції) помилка “не вдалось підключитись до пристрою”. А у логах plugin-pRRO.log відсутні записи про старт пРРО.

Не плутати з схожими симптомами коли версія плагіну не під ту версію фронта, особливо після оновлення фронта, для цього дивіться api.log на предмет помилки при старті плагіна.

Бекап розташовується у папці Backups біля кешсерверу у архіві з назвою до прикладу: CashServer 2022-10-23 01.22.18.315 (hard reset).zip, де вказана дата бекапу і причина.
Буває назва CashServer 2022-10-21 01.17.58.852 (upgrade from 7.9.1016.0 to 8.1.7008.0).zip - тут причина оновлення. При ньому пРРО рідко злітає, але архів робиться.

Порядок дій:
1) Перевірити у CashServer\PluginConfigs\pRRO наявність бази даних пРРО (один пРРО - один файл бази з назвою ФН.db, де ФН це серійник який починається на 4 і містить 10 цифр). Якщо її немає потрібно розбиратись чому.
2) Далі необхідно буде повернути запис у актуальний файл бази фронта (entities.sdf)про налаштування пРРО (зі старої бази фронта) рухаючись по кроках нижче.
3) Забекапити файл entities.sdf у актуальному кешсервері.
4) Встановити програму CompactView або іншу звичну вам для роботи з БД.
5) Відкрийте у двох вікнах CompactView дві бази фронта: стару з бекапу (наприклад CashServer 2022-10-23 01.22.18.315 (hard reset)\CashServer\EntitiesStorage\entities.sdf) і актуальну (CashServer\EntitiesStorage\entities.sdf).
6) У старій (з архіву) базі даних виконайте запит:
select * from FrontEntities where Xml like '%%' and Type = 'Resto.CashServer.Data.Entities.CashServerEntities.Device.CashRegisterSettings'
select * from FrontEntities 
where Xml like '%%' 
and Type = 'Resto.CashServer.Data.Entities.CashServerEntities.Device.CashRegisterSettings'
7) У результаті роботи запиту повинно повернути певну кількість записів (рядків) таку ж як кількість пРРО які були на цьому пк. Якщо був один пРРО відповідно буде один запис.
8) У актуальній базі дозволити редагування бази і виконати нижче вказаний запит взявши необхідні дані із старої бази, з записів які повернуло нам у результаті запиту з попереднього пункту. Сам запит:
де xxx - id поточного запису з бекапу який ми отримали попереднім запитом
yyy - xml поточного запису з бекапу який ми отримали попереднім запитом.
Цей запит потрібно виконати стільки раз скільки було пРРО - і, як наслідок, скільки було рядків у результаті роботи скрипта з пункту 7.
insert into FrontEntities (Id, Type, Xml) Values ('xxx', 'Resto.CashServer.Data.Entities.CashServerEntities.Device.CashRegisterSettings', 'yyy')
9) Далі запускаємо фронт і перевіряємо лог плагіна має бути запис “Start CashRegister”. Наприклад Start CashRegister: 4000137398.

У результаті всі записи про каси пРРО будуть відновлені.