Офлайн-термінали
Довідник автономних кас. Кожен запис — одне робоче місце, яке торгує без постійного зв'язку з сервером і час від часу з ним обмінюється: забирає товари й контакти, віддає свої чеки.
Де шукати: Модулі → Офлайн → Регістри → Офлайн-термінали
Розбір на прикладі

Каса магазину на Хрещатику заведена як термінал POS1:

- Склад СКЛ — саме з нього спишеться товар, коли чеки цієї каси стануть рахунками (якщо в налаштуванні рахунку-фактури увімкнено списання складу; без нього рахунок проводиться, а товар лишається на складі). Це не довідкове поле: без складу конвертація зупиниться з помилкою;
- Статус «Активний»; інші значення — «Неактивний» і «Заблокований»;
- Дата останньої синхр. — коли термінал востаннє виходив на зв'язок;
- таблиця Регістри синхронізації — власне договір про обмін.
Кожен рядок таблиці — один реєстр і правило для нього:
| Регістр | Напрям | Після синхронізації | Що це означає |
|---|---|---|---|
| Items | ToClient | keep | товари їдуть на касу і лишаються там |
| Contacts | ToClient | keep | клієнти теж, лишаються |
| OfflineSales | Full | delete | чеки їдуть на сервер, а назад приходить статус їх обробки — лише для чеків цієї каси, у той самий чек, який вона створила (за кодом термінала й номером чека); чеки інших кас компанії до неї не приходять. «Після синхронізації» = delete поки зарезервовано й не застосовується: оброблені чеки на касі лишаються |
На сервер термінал надсилає лише реєстри, які синхронізує сама система: товари, клієнтів і чеки каси — ті, що в таблиці вище. Рядок з іншим реєстром і напрямом ToServer чи Full нічого не відкриває: сервер відповідає відмовою «Для цього термінала реєстр не дозволений: …» і нічого не записує. Так само — службові журнали й налаштування, які змінює лише роль з окремою дією (Історія товару, відкриті рахунки й історії платежів, «Округлення»), та історія змін записів. Ці записи робить проведення документів — зокрема рахунків, які сервер створює з чеків каси.
Колонка Синхронізовано до № поки не заповнюється. Лічильник того, до якого номера зміни вже забрані, термінал веде в себе — завдяки йому він щоразу довантажує тільки нове, а не весь довідник.
Статус — це вимикач доступу
Термінал працює за довгоживучим ключем, але сервер перевіряє його статус при кожному зверненні. Тому касу, яку загубили чи вивели з обігу, зупиняють не відкликанням ключа, а статусом 2: наступний же сеанс обміну отримає відмову.
Типові ситуації
Заводимо нову касу. Код, опис, склад, статус 1 — і рядки обміну. Далі каса потребує власного діапазону номерів, інакше їй нема чим нумерувати чеки.
Каса не синхронізується. Подивіться статус, потім «Дата останньої синхр.» і «Час останньої синхр.»: якщо вони давно не змінювались, термінал до сервера не достукався. Порожній журнал обміну про це нічого не каже: раунди, у яких нічого не передавалося, він не записує.
Зміни дійшли до каси не одразу. Каса бере лише те, що на сервері вже остаточно записано. Поки там триває довга операція з даними (імпорт, перерахунок), обмін не віддає нічого новішого за її початок — ці зміни прийдуть наступним сеансом, коли вона завершиться. Так каса не пропускає жодної зміни.
Каса переїхала в інший магазин. Змініть склад — нові чеки спишуться вже з нього; раніше створені рахунки не змінюються.
Касу більше не використовують, а термінал не видаляється. Термінал, у якого вже є чеки, діапазон номерів чи рахунки з його чеків, видалити не можна: система відмовляє «Запис реєстру «Офлайн-термінали» використовується в: …» і радить «Щоб вивести термінал з роботи, не видаляючи, поставте статус «Неактивний» чи «Заблокований»: він перестане синхронізуватись». Так і зробіть: історія чеків лишається привʼязаною до своєї каси, а новий термінал із тим самим кодом не підхопить чужих номерів.
Куди дивитися далі
- Офлайн-серії номерів — чим термінал нумерує чеки.
- Офлайн-продажі — що каса присилає на сервер.
- Налаштування офлайн-синхронізації — клієнт і умови сплати за замовчуванням для конвертації чеків (поля адреси, інтервалу й таймауту обміну зараз ніхто не читає).
- Офлайн-каса — покрокове налаштування з нуля.