Реестр кассы
Реестр кассы включает в себя информацию о кассе и смене, которая используется для правильного обмена данными и ведения отчетности. Файл реестра хранит параметры, которые однозначно идентифицируют документ в торговой сети, – код магазина, код кассы, номер смены и номер чека. Реестр включает в себя счетчик документов для указания актуальных данных о текущем номере чека и смены.
Данные реестра хранятся в файле /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) |
{ "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 | логический |
| Обновлять номер чека в реестре при старте кассы | По умолчанию 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 | логический |
| Включить генерацию имени хоста и имени сертификата 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 при включенной функции генерации имени хоста: Если имя хоста было задано неправильно, то система оставит предыдущую корректную версию имени хоста, отвечающую действующим правилам и ограничениям.