Закрытие документа продажи/возврата

Закрытие чека продажи/возврата на кассе

Закрытие документа продажи/возврата в кассовом ПО включает в себя:

  • закрытие чека в ФР,
  • присвоение чеку в программе статуса закрыт или отменен.

При закрытии чека создается файл транзакции, содержащий информацию обо всех действиях, выполненных фискальным регистратором в процессе печати чека. Файлы транзакции сохраняются в директории /linuxcash/logs/current/trs/, именуются по правилу <номер чека>.<временная метка>. После успешного завершения печати и регистрации данных в памяти ФР файл транзакции переносится в директорию/linuxcash/logs/current/trs/commited/. На время закрытия чека создается файл-статус /linuxcash/cash/data/tmp/checkclose.state, хранящий данные счетчиков ФР и информацию о статусе закрытия документа в ККМ. После печати и закрытия чека файл-статус удаляется.

Закрытие в GUI

При отсутствии ошибок закрытия документа в ФР чек закрывается. При наличии ошибок и возможности отмены чека (информация о чеке не была передана в ФР) на экран кассира выводится соответствующее сообщение, программа переходит в режим сдачи. Если имеется ошибка, которая не позволяет отменить чек (данные о чеке переданы в ФР или результат неизвестен), то на экран выводится сообщение об ошибке до тех пор, пока проблема не будет решена. 

Закрытие в SelfCheckOut

При отсутствии ошибок закрытия документа в ФР чек закрывается. При отсутствии соединения или бумаги в ФР на экран кассира выводится сообщение до тех пор, пока ошибка не будет устранена, после чего чек продажи будет закрыт. При возникновении других ошибок на экран кассира выводится диалог, позволяющий повторить закрытие чека или отменить чек.

 

Восстановление после сбоя

Контроль состояния документа в процессе закрытия чека продажи/возврата в ФР предназначен для корректного восстановления данных после выключения кассы или аварийного завершения работы программы. При следующем после сбоя запуске программа определяет необходимость выполнения тех или иных действий на основании файла-статуса /linuxcash/cash/data/tmp/checkclose.state. При восстановлении чека продажи/возврата файл-статус удаляется. 

В процессе восстановления документа в GUI выполняется проверка статуса чека в ФР. 

  • Если чек продажи/возврата закрыт в ФР, то программа закрывает его в БД.
  • Если чек не был закрыт в ФР, то файл транзакции переносится в директорию /linuxcash/logs/current/trs/canceled. В БД чек сохраняется со статусом "открыт" и "не зарегистрирован в ФР". При запуске кассы чек продажи/возврата восстанавливается из образа чека и документ может быть закрыт повторно. 

При возникновении сбоя в SCO проверяется статус чека в ФР.

  • Если чек продажи/возврата закрыт в ФР, то программа закрывает его в БД.
  • Если чек не был закрыт в ФР, то файл транзакции переносится в директорию /linuxcash/logs/current/trs/canceled. В БД чек отменяется со статусом "не зарегистрирован в ФР". Образ чека удаляется и документ не может быть восстановлен.

Закрытие чека продажи/возврата в ФР

Механизм закрытия чеков продажи/возврата на ФР осуществляется в 2 этапа:

  1. Первый этап закрытия чека состоит из следующих процедур: При прохождении первого этапа чек в любой момент может быть отменен, т.к. суммы не попадают в ФР. Каждая операция выполняется последовательно на всех ФР - установка связи, получение счетчиков и сохранение состояния. Печать текстовых строк осуществляется параллельно: на всех ФР сначала печатается 1-я строка, затем 2-я и т.д. При возникновении ошибок на 1-м этапе на экран кассира выводится соответствующее сообщение, кассовое ПО переходит в режим сдачи, чек можно отменить.
  2. Второй этап закрытия чека включает в себя ряд операций, выполняемых отдельно для каждого ФР:
    • Изменение состояния чека на статус "в процессе закрытия", сохранение состояния ФР.
    • Закрытие чека. После выполнения команды закрытия чек не может быть отменен.
    • Ожидание завершения печати.
    • Получение счетчиков и проверка сумм в ФР.
    • Сохранение состояния закрытия чека.
    Если суммы, полученные ФР и данные программы совпадают, то чек считается успешно закрытым. При возникновении ошибок на втором этапе на монитор выводится сообщение о возникшей ошибке и выполняется повторная попытка закрытия. Если ФР на момент возникновения ошибки находился в статусе "в процессе закрытия", то при следующей попытке закрытия выполняется проверка изменения счетчиков.
    При неверном изменении счетчиков в БД Documents в таблицу Document в поле c_link записывается статус "расхождение счетчиков". Сообщение об ошибке при расхождении счетчиков не выводится. 
    Если суммы в ФР не изменились, то на экран выводится сообщение об ошибке, процесс закрытия чека останавливается.

Закрытие документа внесения/выема

Закрытие чека внесения/выема на кассе

Процедура внесения/выема в кассовом ПО Artix может быть осуществлена при подключении к кассе одного или нескольких ФР. При подключении одного ФР программа переходит в контекст открытого документа. При подключении двух и более ФР пользователю будет предложено выбрать ФР, в который требуется сделать внесение или осуществить выем.

При отсутствии ошибок в ФР чек закрывается. При наличии ошибок на экран кассира выводится сообщение об ошибке. Необходимо устранить ошибку, после этого следует закрыть окно с ошибкой клавишей "ОК".

В зависимости от модели ФР после устранения ошибки:

  • чек допечатывается, считается закрытым, программа возвращается в меню "Операции с деньгами";
  • чек аннулируется в ФР, программа возвращается в режим внесения/выема денежных средств с ранее внесенной/ранее подлежащей выему суммой, для повторной печати нужно подтвердить операцию.

Не рекомендуется перезагружать кассу до устранения ошибки, данные могут быть потеряны.

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

Закрытие чека внесения/выема в ФР

Механизм работы с чеками внесения/выема состоит из следующих этапов:

  • Инициализация ФР. При подключении одного ФР он выбирается по умолчанию, при подключении нескольких ФР инициализируется тот, который был выбран в окне кассового ПО.
  • Открытие документа.
  • Печать строк из шаблона.
  • Закрытие чека в ФР. В случае возникновения ошибки при закрытии чека возможно расхождение данных, если документ в ФР был закрыт, а на кассе его закрытия не произошло. Контроль счетчиков ФР при закрытии чеков внесения/выема не осуществляется, поэтому при устранении ошибки и повторном закрытии чека на кассе в ФР будет записано повторное внесение/выем.
  • Отрезка чека.
  • Формирование результата.

Печать текстовых отчетов

Процедура печати текстовых документов в кассовом ПО Artix может выполняться при подключении к кассе одного или нескольких ФР с указанием порядка печати в команде генерации документов. 

Печать текстовых документов выполняется по следующему алгоритму:

Файлы транзакции текстовых документов сохраняются в директории /linuxcash/logs/current/trs/ и именуются по правилу <номер чека>.<временная метка>.

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

  • No labels