Кассовое ПО Artix имеет встроенные инструменты для восстановления текущего чека в случае аварийного завершения работы программы. Программа контролирует текущее состояние документа и процесс регистрации чека в фискальном регистраторе.

Сохранение образа чека

Информация о текущем чеке сохраняется в формате json в файле /linuxcash/cash/data/tmp/check.img. Сохранение образа чека выполняется автоматически после выполнения любой операции: добавление или удаление позиции, добавление карты лояльности, переход в режим оплаты и т.д. После закрытия чека файл образа перемещается в директорию /linuxcash/logs/documents/, сохраненные образы именуются по правилу <смена>-<чек>.img. Здесь: смена – номер смены, чек – номер чека.

Для обеспечения максимальной надежности выполняется принудительный сброс дискового кэша. Для устройств с низкой скоростью записи синхронизация может существенно увеличить время реакции кассы. Для отключения принудительной синхронизации служит параметр synchroniseImageWithDisk в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [Check].

Параметры сохранения образа чека

НаименованиеТип данныхВозможные значенияОписаниеПримечания
synchroniseImageWithDiskлогический
  • true
  • false
Включить принудительный сбор дискового кэшаПо умолчанию true


[Check]
;Включить принудительный сбор дискового кэша
synchroniseImageWithDisk = true

Восстановление чека из образа

В случае аварийного завершения работы программы восстановление чека из образа выполняется автоматически при входе в монитор кассира.

В случае успешного восстановления чека, на экран будет выведено сообщение – "Восстановлен незавершенный чек", работа кассовой программы продолжается в том режиме, в котором работала касса на момент сбоя (работа с товарной частью чека, оплата и т.д.).

При возникновении ошибки во время восстановления чека (например, нарушена структура образа чека), на экран будет выведено сообщение – "Ошибка при восстановлении незавершенного чека", касса перейдет в режим формирования нового документа, а образ будет перемещен в директорию /linuxcash/logs/documents/.

Наличие образа незавершенного чека блокирует возможность закрытия смены. Перед закрытием смены необходимо восстановить чек из файла после чего закрыть или аннулировать.

Восстановление при сбое во время печати чека продажи/возврата/возврата по чеку продажи

При печати чека касса сохраняет специальный файл транзакции. Этот файл содержит все действия, которые были выполнены фискальным регистратором, в процессе печати чека. Файлы транзакции сохраняются в директории /linuxcash/logs/current/trs, именуются по правилу <номер чека>.<временная метка>. После успешного завершения печати и регистрации данных в памяти ФР файл транзакции переносится в директорию /linuxcash/logs/current/trs/commited/

В случае, если во время печати чека произошло выключение кассы или аварийное завершение работы программы, программа попытается закрыть чек при следующем запуске после сбоя. Программа определяет необходимость выполнения действий, если обнаружен файл транзакции в директории /linuxcash/logs/current/trs

В зависимости от состояния транзакции, программа выполняет действия над чеком, перемещает файл транзакции в соответствующую директорию, записывает статус документа в БД Documents таблицу Document. При восстановлении транзакции возможны следующие ситуации:

  1. Не удалось восстановить файл транзакции (нарушена структура)
  2. Чек не закрыт в ФР. Например, выполнилась только печать строк.
  3. Чек закрыт в ФР, но обнаружено расхождение счетчиков ФР и транзакции.
  4. Чек закрыт в ФР, изменение счетчиков ФР и транзакции совпадают. 
  5. Если транзакция успешно восстановлена, но не найден образ чека
  6. Чек не зарегистрирован в ККМ.

    Например, на кассе есть два отдела: отдел 1 закрывает чеки в ФР 1, отдел 2 закрывает чеки в ФР 2. Если чек частично закрыт (например на ФР 1, а на ФР 2 – нет), то производится попытка автоматического закрытия чека на оставшихся ФР.

    При успешном закрытии документа производится подтверждение операций бонусных систем для этого документа.

    Возможные ошибки

В случае обнаружения проблем сообщение о возможном расхождении также отображается при попытке закрыть смену.

Используемые коды статусов регистрации чека:

КодОписание
0Выполнено успешно
1Невозможно восстановить транзакцию
2Документ восстановлен перед закрытием
4Расхождение счетчиков
5Чек не восстановлен из образа
6Чек не зарегистрирован в ККМ