Реестр кассы

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

Данные реестра хранятся в файле /linuxcash/cash/data/cash.reg. При отсутствии файла реестра он автоматически создается при открытии чека со значениями:

  • код магазина – 1,
  • код кассы – 1,
  • текущий номер смены – 1,
  • текущий номер чека – 0 (до версии 4.6.54 включительно значение равно 1),
  • дата и время начала смены – пустые.
ПараметрФорматОписаниеПримечания

cashCode 

строковый

Код кассы


shopCode

строковый

Код магазина


checkNumber 

числовой

Текущий номер чека


shiftNumber 

числовой

Текущий номер смены


shiftBeg

строковый

Дата и время начала смены в формате YYYY-MM-DDThh:mm:ss (ISO 8601)


Пример файла cash.reg
{ "cashCode" : "1", "checkNumber" : 26, "shiftBeg" : "2014-04-28T12:24:41", "shiftNumber" : 7, "shopCode" : "1" }

Данные из файла реестра считываются кассой один раз при ее старте. При отсутствии открытых документов на кассе в реестре записывается номер последнего закрытого чека, а при отсутствии открытой смены – номер смены, которая будет открыта. Далее во время работы при открытии чека, а также закрытии смены, данные в файле реестра обновляются.

В кассовом ПО реализована возможность обновлять номер чека в реестре при старте кассы. Данное поведение регулируется параметром updateCheckNumberInRegistryOnStart в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [Misc]:

  • при значении true осуществляется проверка номера чека в реестре и последнего номера чека в БД Documents таблице Document в поле checknum. Если номер чека в реестре < номера чека в БД кассы, то в реестр записывается номер чека из БД,

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

При закрытии чека или открытии/закрытии смены данные в файле реестра заменяются данными, считанными при старте кассы.

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

Программирование кода кассы

Для ФР СП101 при инициализации ПО и переходе в режим продаж программируется параметр "код кассы". Значение параметра получается из файла cash.reg. Для того чтобы параметр был спрограммирован, код кассы в файле реестра должен иметь числовое значение от 1 до 9999. Программирование параметра выполняется только при закрытой смене. При успешном программировании в фискальном Z-отчете отображается код кассы, полученный из файла реестра.

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

Просмотреть значение параметра возможно при помощи утилиты frinit, запуск которой осуществляется из директории linuxcash/cash/bin командой:

./frinit -gp on

Список параметров со значениями доступен для просмотра в файле /linuxcash/logs/current/frinit.log.

Подробнее о работе утилиты frinit можно прочитать в разделе "Утилита инициализации ФР".

Имя хоста 

Имя хоста – имя устройства (кассы), позволяющее идентифицировать его во внутренней сети предприятия.

Для версии 4.6.33 и более ранних версий программы имя хоста генерируется на основании данных реестра:

  • код кассы,
  • код магазина,
  • домен.

Имя хоста используется для работы с сервером управления конфигурацией puppet

Имя хоста задается следующим образом: cash<код кассы>.mag<код магазина>.<домен>, где <домен> – название организации. Например, cash1.mag1.testpev.ru.

Имя хоста генерируется автоматически. Если имя хоста было изменено в файле /etc/hosts, то при перезапуске программы оно будет заново сгенерировано на основании данных реестра. Имя хоста изменяется автоматически при редактировании через сервисное меню.

Для генерации имени хоста, начиная с версии 4.6.34, реализована функция генерации при помощи шаблонов, задаваемых в конфигурационном файле /linuxcash/cash/conf/hostnamegen.conf при помощи следующих параметров:  

НаименованиеТип данныхВозможные значенияОписаниеПримечания
generateлогический
  • true
  • false
Включить генерацию имени хоста и имени сертификата puppetПо умолчанию false
hostnameимя хостастроковыйШаблон генерации имени хоста
Пример настройки
; Настройки автоматической генерации имени хоста и имени сертификата puppet
; В шаблонах могут использоваться макроподстановки. Подстрока вида %(<имя переменной>)s
; заменяется на значение переменной.
; Доступные переменные в макроподстановках:
;  shopcode - код магазина из cash.reg
;  cashcode - код кассы из cash.reg

[main]
; Генерировать имя хоста и сертификата puppet
; По умолчанию false
generate = true

; шаблон генерации имени хоста
; По умолчанию cash-%(shopcode)s-%(cashcode)s.localdomain
;hostname = cash-%(shopcode)s-%(cashcode)s.localdomain

Использование шаблонов для генерации имени хоста может потребоваться, если внутренний регламент работы торговой сети определяет правила задания имени хоста. В шаблонах для генерации имени хоста могут быть использованы макроподстановки. В настоящий момент для макроподстановок доступны следующие переменные, назначаемые в файле cash.reg:

  • shopcode – код магазина;
  • cashcode – код кассы;
Переменные cashcode и shopcode и файл cash.reg должны быть указаны в нижнем регистре, иначе касса не выйдет на puppet.

Имя хоста можно посмотреть в файле /etc/hosts.

При обновлении кассового ПО Artix с 4.6.33 и более ранних версий конфигурационный файл hostnamegen.conf добавляется, но функция автоматической генерации имени хоста при этом остается отключена. Во всех остальных случаях при установке и обновлении пакета конфигурационный файл не изменяется, сохраняются пользовательские настройки.

Ограничения в имени хоста

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

  • имя хоста может содержать только буквы [a-zA-Z], цифры [0-9], символы "-" и ".";
  • имя хоста может начинаться и заканчиваться только буквой или цифрой;
  • имя хоста не чувствительно к регистру, т.е. вариант "HOST123" эквивалентен "host123";
  • количество символов в имени хоста должно быть больше 2, но меньше 63;
  • имя хоста может содержать между двумя точками только буквы или цифры.

До версии 4.6.33 включительно: Если имя хоста было задано неправильно, то система изменит его в соответствии с действующими правилами и ограничениями.

Начиная с версии 4.6.34 при включенной функции генерации имени хоста: Если имя хоста было задано неправильно, то система оставит предыдущую корректную версию имени хоста, отвечающую действующим правилам и ограничениям.

  • No labels