Перейти до змісту

Журнал офлайн-синхронізації

Протокол обміну між сервером і касами: коли, який термінал, по якому реєстру, в який бік і скільки записів. Записи веде сервер — руками сюди нічого не вносять.

Де шукати: Модулі → Офлайн → Регістри → Журнал офлайн-синхронізації

Розбір на прикладі

Журнал офлайн-синхронізації

Колонка Що показує
Дата, Час момент раунду за серверним часом
Код терміналу яка каса
Регістр по чому йшов обмін
Напрям pull — сервер віддав дані касі, push — каса передала свої
Записи скільки передано або прийнято
Відхилено скільки не прийнято при push
Статус 0 — без помилок, 1 — були відхилені записи або помилки

На демонстраційному стенді журнал порожній: офлайн-обмін вимкнений на рівні сервера, тож жодного раунду не було.

Тиша в журналі — це нормально

Термінал стукає до сервера кожні кілька десятків секунд, і якщо нового немає, такі холості раунди не журналюються. Інакше за добу журнал розрісся б на тисячі порожніх рядків, у яких потонули б справжні події. Тому рядок тут з'являється лише тоді, коли реально щось передавалося або при обробці записів сталася помилка. Відмова всього запиту (реєстр не дозволено цьому терміналу, реєстр не синхронізується) сюди не потрапляє — її бачить лише каса.

Друга особливість: конфлікти обробки чеків шукати не тут, а в самих офлайн-продажах — у статусі й полі помилки конкретного чека. Журнал відповідає на питання «чи був обмін», картка чека — «що з ним не так».

Типові ситуації

Каса «мовчить». Порожній журнал сам по собі про зв'язок нічого не каже: раунд без даних (каса опитала сервер, а нового немає) у журнал не пишеться. Зв'язок видно в картці терміналу — за полями «Дата останньої синхр.» і «Час останньої синхр.»; якщо вони давно не змінювались, дивіться мережу й статус терміналу.

Обмін іде, а чеків немає. Знайдіть рядки з напрямом push: якщо в них «Відхилено» більше нуля — сервер не прийняв частину чеків.

Треба зрозуміти, коли зникли дані. Журнал показує послідовність раундів по кожному реєстру — за ним відновлюється хронологія.

Куди дивитися далі