Кассовое ПО Artix имеет встроенные инструменты для восстановления текущего чека в случае аварийного завершения работы программы. Программа контролирует текущее состояние документа и процесс регистрации чека в фискальном регистраторе.
Информация о текущем чеке сохраняется в формате json в файле /linuxcash/cash/data/tmp/check.img
. Сохранение образа чека выполняется автоматически после выполнения любой операции: добавление или удаление позиции, добавление карты лояльности, переход в режим оплаты и т.д. После закрытия чека файл образа перемещается в директорию /linuxcash/logs/documents/
, сохраненные образы именуются по правилу <смена>-<чек>.img
. Здесь: смена – номер смены, чек – номер чека.
Для обеспечения максимальной надежности выполняется принудительный сброс дискового кэша. Для устройств с низкой скоростью записи синхронизация может существенно увеличить время реакции кассы. Для отключения принудительной синхронизации служит параметр synchroniseImageWithDisk
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Check]
.
Параметры сохранения образа чека
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
synchroniseImageWithDisk | логический |
| Включить принудительный сбор дискового кэша | По умолчанию true |
[Check] ;Включить принудительный сбор дискового кэша synchroniseImageWithDisk = true |
В случае аварийного завершения работы программы восстановление чека из образа выполняется автоматически при входе в монитор кассира.
В случае успешного восстановления чека, на экран будет выведено сообщение – "Восстановлен незавершенный чек", работа кассовой программы продолжается в том режиме, в котором работала касса на момент сбоя (работа с товарной частью чека, оплата и т.д.).
При возникновении ошибки во время восстановления чека (например, нарушена структура образа чека), на экран будет выведено сообщение – "Ошибка при восстановлении незавершенного чека", касса перейдет в режим формирования нового документа, а образ будет перемещен в директорию /linuxcash/logs/documents/
.
Наличие образа незавершенного чека блокирует возможность закрытия смены. Перед закрытием смены необходимо восстановить чек из файла после чего закрыть или аннулировать. |
При печати чека касса сохраняет специальный файл транзакции. Этот файл содержит все действия, которые были выполнены фискальным регистратором, в процессе печати чека. Файлы транзакции сохраняются в директории /linuxcash/logs/current/trs
, именуются по правилу <номер чека>.<временная метка>
. После успешного завершения печати и регистрации данных в памяти ФР файл транзакции переносится в директорию /linuxcash/logs/current/trs/commited/
.
В случае, если во время печати чека произошло выключение кассы или аварийное завершение работы программы, программа попытается закрыть чек при следующем запуске после сбоя. Программа определяет необходимость выполнения действий, если обнаружен файл транзакции в директории /linuxcash/logs/current/trs
.
В зависимости от состояния транзакции, программа выполняет действия над чеком, перемещает файл транзакции в соответствующую директорию, записывает статус документа в БД Documents
таблицу Document
. При восстановлении транзакции возможны следующие ситуации:
/linuxcash/logs/current/trs/critical
./linuxcash/logs/current/trs/canceled
./linuxcash/logs/current/trs/critical
./linuxcash/logs/current/trs/commited
./linuxcash/logs/current/trs/commited
.Чек не зарегистрирован в ККМ.
Например, на кассе есть два отдела: отдел 1 закрывает чеки в ФР 1, отдел 2 закрывает чеки в ФР 2. Если чек частично закрыт (например на ФР 1, а на ФР 2 – нет), то производится попытка автоматического закрытия чека на оставшихся ФР. |
При успешном закрытии документа производится подтверждение операций бонусных систем для этого документа.
Возможные ошибки
Если в процессе закрытия чека будет обнаружено отсутствие бумаги в ФР, то на экран будет выведено сообщение "Нет бумаги в ФР<номер_ФР>. Вставьте бумагу и повторите". Сообщение будет выводиться на экран до тех пор, пока проблема не будет устранена.
Если в ФР недостаточно наличности, то на экран будет выведено сообщение "Недостаточно средств в ФР<номер_ФР>". Сообщение будет выводиться на экран до тех пор, пока проблема не будет устранена.
Реализовано для ФР Штрих и Атол 5.0. |
Если присутствует иная ошибка ФР, то в базе данных для чека устанавливается статус "не зарегистрирован в ККМ".
В ФР такой чек не будет закрыт, это может привести к расхождению счётчиков. |
Файл транзакции будет перемещен в директорию /linuxcash/logs/current/trs/commited
.
В случае обнаружения проблем сообщение о возможном расхождении также отображается при попытке закрыть смену. |
Используемые коды статусов регистрации чека:
Код | Описание |
---|---|
0 | Выполнено успешно |
1 | Невозможно восстановить транзакцию |
2 | Документ восстановлен перед закрытием |
4 | Расхождение счетчиков |
5 | Чек не восстановлен из образа |
6 | Чек не зарегистрирован в ККМ |