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
Personal session closed before attendance opened
Застряла черга продажу
Помилка прямо каже про те, що дата і час ЗАКРИТТЯ особистої зміни був РАНІШЕ, ніж дата і час ВІДКРИТТЯ цієї ж зміни
Це можна побачити в лозі update-tasks-queue.log
Personal session closed before attendance opened: 2024-05-07 10:38:04.863 < 2025-06-07 21:00:16.117. Event: 2024-05-07 10:38:04.863 PersonalSessionClosedEvent@f5f4bdc4-b0fc-4113-bef5-8bf1f3834773
Отже, як це вилікувати?
Треба зробити так, щоб дата і час відкриття були раніше, ніж дата і час закриття

0) СПОЧАТКУ РОБИМО БЕКАП КЕШСЕРВЕРУ
1) Робимо запит до бази entities.sdf
select * from uploadQueue
where id = 'f5f4bdc4-b0fc-4113-bef5-8bf1f3834773'
Айді в даному випадку - це айді з логу в ось цій частині PersonalSessionClosedEvent@f5f4bdc4-b0fc-4113-bef5-8bf1f3834773
2) Копіюємо вміст стовпчика Xml в блокнот, бажано в Notepad++ з встановленим XMLPlugins. Будемо мати ось такий запис:
<?xml version="1.0" encoding="utf-8"?><r eid="f5f4bdc4-b0fc-4113-bef5-8bf1f3834773"><dateOpened>2025-06-07T21:00:16.117+03:00</dateOpened><role>223a5ced-7251-43e9-9387-c7edf6238aad</role><eventType>PERSONAL_SESSION_CLOSE</eventType><user>ebcf9f70-d53e-44fa-853d-a34c8aaf8cfd</user><comment></comment><date>2024-05-07T10:38:04.863+03:00</date><revision>0</revision><id>f5f4bdc4-b0fc-4113-bef5-8bf1f3834773</id></r>
В блокноті з встановленим плагіном, можна привести це до ось такого вигляду
Як бачимо, нас цікавлять теги date та dateOpened і наша задача зробити так, щоб dateOpened був по часу раніше, ніж date
3) В тег dateOpened ми підставляємо дату та час ВІДКРИТТЯ касової зміни в бекофісі (точність не обов’язкова, бажано щоб це був саме той день і хочаб приблизно той самий час). Відповідно в тег date ми вписуємо дату та час ЗАКРИТТЯ касової зміни з точністю до хвилин (тобто секунди та мілісекунди неважливі). Результатом має бути щось типу такого
<?xml version="1.0" encoding="utf-8"?><r eid="f5f4bdc4-b0fc-4113-bef5-8bf1f3834773"><dateOpened>2024-05-07T10:38:04.117+03:00</dateOpened><role>223a5ced-7251-43e9-9387-c7edf6238aad</role><eventType>PERSONAL_SESSION_CLOSE</eventType><user>ebcf9f70-d53e-44fa-853d-a34c8aaf8cfd</user><comment/><date>2024-05-07T22:40:04.863+03:00</date><revision>0</revision><id>f5f4bdc4-b0fc-4113-bef5-8bf1f3834773</id></r>
4) Тепер нам треба це виправити в базі.
Для цього виконуємо на базі entities.sdf SyrvePOS через compactview
Update uploadQueue
set xml ='<?xml version="1.0" encoding="utf-8"?><r eid="f5f4bdc4-b0fc-4113-bef5-8bf1f3834773"><dateOpened>2024-05-07T10:38:04.117+03:00</dateOpened><role>223a5ced-7251-43e9-9387-c7edf6238aad</role><eventType>PERSONAL_SESSION_CLOSE</eventType><user>ebcf9f70-d53e-44fa-853d-a34c8aaf8cfd</user><comment/><date>2024-05-07T22:40:04.863+03:00</date><revision>0</revision><id>f5f4bdc4-b0fc-4113-bef5-8bf1f3834773</id></r>'
where id ='f5f4bdc4-b0fc-4113-bef5-8bf1f3834773'
Де xml - це весь текст, який ми виправили в попередньому кроці, записаний в один рядок
А id - це той самий айді, по якому ми виконували пошук на кроці 1
5) Запускаємо фронт і перевіряємо чи черга пішла на сервер
6) Profit ;)