Офлайн-терминалы
Справочник автономных касс. Каждая запись — одно рабочее место, которое торгует без постоянной связи с сервером и время от времени с ним обменивается: забирает товары и контакты, отдаёт свои чеки.
Где искать: Модули → Офлайн → Регистры → Офлайн-терминалы
Разбор на примере

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

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