Начиная с версии 4.6.235 кассового ПО Artix для формирования чеков продажи используется шаблон softwarefn_sale.xml, чеков возврата – softwarefn_back.xml, для чеков внесения – softwarefn_moneyin.xml, для чеков выема – softwarefn_moneyout.xml,  для x-отчетов – softwarefn_xreport.xml, для x-отчетов по отделам – softwarefn_xreportdept.xml, для z-отчетов – softwarefn_zreport.xml

Передача данных на сервер ОФД Казахстана обеспечивается сервисом artix-softwarefn (программный ФН ALTYN KASSA (kz)).

Обновление ПО Artix необходимо выполнять при выключенном сервисе softwarefn (программный ФН ALTYN KASSA (kz)), в противном случае возможна потеря баз данных ФН без возможности восстановления.

Для корректной работы сервиса softwarefn необходимо:

  1. Остановить сервис softwarefn.

  2. Обновить кассовое ПО Artix.

  3. Запустить сервис softwarefn.

После обновления кассового ПО работа с прежней БД невозможна, для корректной работы файловая база данных должна быть создана заново.

Установка сервиса

Для обеспечения передачи данных на сервер ОФД (Казахстан) необходимо установить пакет artix-softwarefn командой:

aptitude install artix-softwarefn

Запуск и управление сервисом softwarefn осуществляется при помощи утилиты service. Для этого необходимо выполнить команду:

service softwarefn [команда]

[команда] может принимать значение:

  • start – запуск сервиса,
  • stop – остановка сервиса,
  • restart – перезапуск сервиса,
  • status – получение статуса сервиса.

После установки пакета создается конфигурационный файл /linuxcash/cash/conf/softwarefn.ini, в котором настраиваются параметры подключения к серверу ОФД (Казахстан) (см.ниже).

Обновление до протокола 2.0.2

В протокол ОФД версии 2.0.2 добавлены обязательные поля:

Перед обновлением необходимо:

  1. Закрыть смену.
  2. Очистить очередь сообщений.
  3. Остановить сервис softwarefn.

После обновления необходимо:

  1. Заполнить регистрационные данные в softwarefn.ini.
  2. Задать меру количества предмета расчета (см. выше).

    При запросе к серверу ОФД значение будет передаваться в поле measureUnitCode.

  3. Заполнить все обязательные поля для печати в шаблонах чека. Подробнее о редактировании шаблонов можно прочитать в разделе "Движок отчетов".
  4. Запустить сервис softwarefn.

Конфигурирование сервиса

Подключение ККМ к серверу ОФД

Для подключения ККМ к серверу ОФД необходимо:

  1. В конфигурационном файле /linuxcash/cash/conf/softwarefn.ini указать:
    • host – IP-адрес сервера ОФД,
    • port – порт для подключения к серверу ОФД,
    • deviceId – идентификатор устройства, выданный при регистрации в ОФД,
    • token – токен.
  2. Перезапустить сервис softwarefn.

Подключение к серверу ОФД осуществляется через любые каналы передачи данных, использующие протокол соединения TCP/IP (GSM, LTE, Wi-Fi, Wi-Max, Ethernet). Настройки подключения и параметры ККМ задаются в конфигурационном файле /linuxcash/cash/conf/softwarefn.ini в секциях [Connection] и [KKM].

СекцияНаименованиеТип данныхОписаниеПримечания
ConnectionhostстроковыйIP-адрес сервера ОФДПо умолчанию 127.0.0.1
portчисловойПорт для подключения к серверу ОФДПо умолчанию 0
connectionTimeoutчисловой

Таймаут открытия соединения с сервером в мс

По умолчанию 2000
writeTimeoutчисловой

Таймаут отправки данных на сервер в мс

По умолчанию 3000

readTimeout

числовой

Таймаут получения данных от сервера в мс

По умолчанию 30000
servicePortчисловойПорт сервиса для взаимодействия с кассовым ПОПо умолчанию 55555

KKM


deviceId

числовой

Идентификатор устройства, выданный при регистрации в ОФД


token

числовой

Токен. Используется для отправки данных на сервер ОФД

Используется при первом подключении к серверу ОФД
fnsKkmIdчисловойРегистрационный номер ККМРегистрационный номер ККМ должен совпадать с номером, указанным на сайте ОФД
serialNumberстроковыйЗаводской номер ККМ
Пример настройки
; Настройки сервиса программного ФН

; Настройки соединения с сервером ОФД
[Connection]
; ip-адрес сервера
; По умолчанию 127.0.0.1
host = 127.0.0.1

; Порт для подключения к серверу ОФД 
; По умолчанию 0
port = 0

; Таймаут открытия соединения с сервером(мс)
; По умолчанию 2000 мс
connectionTimeout = 2000

; Таймаут отправки данных на сервер(мс)
; По умолчанию 3000 мс
writeTimeout = 3000

; Таймаут получения данных от сервера(мс)
; По умолчанию 30000 мс
readTimeout = 30000

; Порт сервиса для взаимодействия с кассовым ПО
; По умолчанию 55555
servicePort = 55555

; Настройки ККМ
[KKM]
 ...
; Идентификатор устройства, выданный при регистрации в ОФД
deviceId = 0

; Токен. Используется для отправки данных на сервер
token = 0
 
;Регистрационный номер
;fnsKkmId = 0

; Заводской номер ККМ
serialNumber=""

Передача данных на сервер ОФД

Передача данных на сервер ОФД осуществляется каждый раз при закрытии документов продажи/возврата, внесении/выеме денежных средств, открытии/закрытии смены, а также при снятии X-отчета.

В кассовом ПО Artix реализована возможность использовать цену товара из чека продажи для возврата по чеку продажи, регулируется параметром useSalePriceInBackBySale в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/fr.ini в секции [HW.FR]:

  • при значении true в чеке возврата используется цена из чека продажи,
  • при значении false в чеке возврата цена товара рассчитывается согласно оставшейся сумме для возврата и количеству товара, которое необходимо вернуть.
НаименованиеТип данныхВозможные значенияОписаниеПримечания
useSalePriceInBackBySaleлогический
  • true
  • false
Использовать цену на товар из чека продажи в чеке возврата по чеку продажиПо умолчанию false
Пример настройки
;[HW.FR]
...
; Использовать цену на товар из чека продажи в чеке возврата по чеку продажи
; Только для ФР "Программный ФН"
; По умолчанию выключено
;useSalePriceInBackBySale = false

Параметры защиты канала связи при передаче данных на сервер ОФД и информация об организации задаются в конфигурационном файле /linuxcash/cash/conf/softwarefn.ini в секции [Service].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
organizationTitleстроковый
Название организации или ФИО индивидуального предпринимателя
organizationAddressстроковый
Юридический адрес организации
organizationInnстроковый
ИИН/БИН организации
useSSLлогический
  • true
  • false
Параметры защиты канала связиПо умолчанию false
Пример настройки
; Настройки служебной информации
[Service]
...
;Название организации или ФИО индивидуального предпринимателя
organizationTitle = ""

;Юридический адрес организации
organizationAddress = ""

;ИИН/БИН организации
organizationInn = ""

; Параметры защиты канала связи
; По умолчанию false
;useSSL = false

Передача ИИН/БИН покупателя в чеке продажи/возврата/возврата по чеку продажи

Для передачи ИИН/БИН необходимо:

  1. Активировать плагин customerInn в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/customerInn.ini в секции [plugins].

    НаименованиеТип данныхВозможные значения

    Описание

    Примечания
    customerInnстроковый
    • on
    • off

    Плагин для ввода ИНН покупателя

    По умолчанию off
    [plugins]
    ; Плагин для ввода ИНН покупателя
    ;customerInn = off
  2. В утилите администрирования Yuki на клавишу настроить действие "Добавить ИНН покупателя" с командой COMMAND_CUSTOMER_INN. О настройке действий подробнее можно прочитать в разделе "Настройка действий".
  3. В утилите администрирования Yuki добавить команду COMMAND_CUSTOMER_INN в список команд для выбранных ролей. О настройке ролей подробнее можно прочитать в разделе "Пользователи и роли".
  4. Для печати ИИН/БИН покупателя в чеке внести изменения в шаблон отчета sale.xml – для продажи и back.xml – для возврата:

    <select query="SELECT nopdfurlegais FROM document WHERE documentid = $document.id$ and nopdfurlegais is not null and nopdfurlegais != ''">
    	<text fillsymbol="-" maxwidth="all"/><br/>
    	<text align="left">ИИН:</text><var align="right" name="nopdfurlegais" maxwidth="all"/><br/>
    	<text fillsymbol="-" maxwidth="all"/><br/>
    </select>

    Подробнее о редактировании шаблонов можно прочитать в разделе "Движок отчетов".

При нажатии на клавишу с командой COMMAND_CUSTOMER_INN на экран будет выведен диалог для ввода ИИН. Допустимое значение: 12-значный номер. При вводе корректного ИИН значение сохраняется в БД Documents в таблицу Document в поле nopdfurlegais и в БД Documents в таблицу Client в поле inn.

Настройка системы налогообложения

Применяемая в ККМ система налогообложения и вид деятельности налогоплательщика указываются в конфигурационном файле /linuxcash/cash/conf/softwarefn.ini.

СекцияНаименованиеТип данныхОписание
KKMtaxationTypeстроковый

Система налогообложения:

  • STS – УСН
  • RTS – ОСН
  • TRFF – Налоговый режим для крестьянских и фермерских хозяйств
  • TRBP – Налоговый режим для малых предприятий на основе патента

Service

activityType

строковый

Вид деятельности налогоплательщика (ОКЭД)

Пример настройки
; Настройки ККМ
[KKM]
 
...
; Система налогообложения
; Возможные значения:
;   STS – УСН
;   RTS – ОСН
;   TRFF – Налоговый режим для крестьянских и фермерских хозяйств
;   TRBP – Налоговый режим для малых предприятий на основе патента
; По умолчанию STS
taxationType = STS

...
; Настройки служебной информации
[Service]
; Вид деятельности налогоплательщика(ОКЭД)
; По умолчанию ""
activityType = ""

Настройка соотнесения отделов

Соотнесение отделов, к которым привязаны товары в кассовой программе и в ККМ, осуществляется посредством настройки секции [HW.FR.DepartMapping] в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/fr.ini.

Пример настройки
[HW.FR.DepartMapping]
; Соотнесение логических и фискальных отделов для ФР
; <Номер отдела ФР> = <Номер отдела в кассе>
0 = 2
1 = 1
2 = 3

Настройка соотнесения типов оплат

Соотнесение типов оплат указывается для принтера чеков и программного ФН в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/fr.ini в секциях [HW.FR.1.PayAccordance] и [HW.FR.2.PayAccordance] соответственно.

Пример настройки
[HW.FR.1.PayAccordance]
; Соотнесение логических типов оплаты и типов оплаты ФР
; <Тип оплаты ФР> = <Тип оплаты в кассе>
; соотнесение типов оплаты
1 = 2
 
[HW.FR.2.PayAccordance]
; Соотнесение логических типов оплаты и типов оплаты ФР
; <Тип оплаты ФР> = <Тип оплаты в кассе>
; соотнесение типов оплаты
1 = 1

В ККМ используются следующие типы оплат:

  • 0 – наличные,
  • 1 – банковская карта,
  • 4 – мобильные.

Подключение и настройка ККМ

Для подключения к серверу ОФД необходимо последовательно выполнить следующие действия:

  1. Подключить принтер чеков и программный ФН
    Подключение принтера чеков и программного ФН осуществляется в Сервисном меню через Менеджер оборудования.
    При добавлении устройства в первую очередь указывается принтер чеков:
  2. В качестве фискального накопителя добавить драйвер "Программный ФН ALTYN KASSA (kz)":
  3. В настройках программного ФН необходимо в качестве ФР указать ранее подключенный принтер и включить разрешение печати:

    • Номер ФР – порядковый номер ККМ.
    • ФР – ранее подключенный ФР для печати документов и отчетов.
    • Разрешение печати – выполнение печати чека на текстовой ленте. По умолчанию печать разрешена.
    • Задержка уведомления об отсутствии связи с ОФД – при отсутствии связи с ОФД уведомление кассиру будет отображаться спустя указанное в настройке время. Задается в минутах. 
    • Текст оповещения об автономном режиме – текст для печати оповещения об автономном режиме на чеке.

      Начиная с версии 4.6.235 кассового ПО Artix текст оповещения об автономном режиме печатается только для:

      • X-отчета,
      • X-отчета по отделам,
      • Z-отчета,
      • чека продажи / возврата,
      • чека внесения / выема.


    • Шрифт – размер шрифта для печати оповещения об автономном режиме на чеке.
    • Порт – порт сервиса программного ФН.
    • Таймаут – таймаут ожидания ответа от сервиса программного ФН (в секундах).
    • Адрес для просмотра чеков – адрес сервера ОФД для просмотра чеков. Используется для генерации QR-кода.
    • Масштабирование QR-кода – размер QR-кода (зависит от используемого для печати чеков ФР).

Запуск кассовой программы

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

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

В свою очередь касса получает с сервера всю необходимую информацию для работы: текущее состояние счетчиков (X-отчет), рекламные тексты, регистрационную информацию и параметры налогообложения, установленные на серверной стороне.

Если при первом запуске сервиса softwarefn отсутствует связь между кассой и сервером ОФД, то ККМ не будет инициализирована и на экран будет выведен диалог:

Для продолжения работы с кассой необходимо восстановить связь с сервером ОФД и повторить попытку инициализации, нажав клавишу "Enter".

Открытие и закрытие смены

Открытие смены в кассовом ПО Artix синхронизировано с открытием смены в ККМ. Кассовая смена открывается при закрытии первого фискального документа.

Полное описание функционала приведено в разделе "Кассовая смена".

Печать документов

Кассовый чек

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

  1. Наименование налогоплательщика (программируется в клише).
  2. Идентификационный номер ККМ.
  3. Заводской номер ККМ.
  4. Регистрационный номер ККМ в налоговом органе.
  5. Порядковый номер чека в кассовой программе.
  6. QR-код в формате "url?i=<Фискальный_Признак>&f=<Код_ККМ>&s=<Сумма_Чека>&t=<Дата_Время_Чека>". Где url – адрес для просмотра чеков, который указан в настройках Программного ФН (см. "Подключение и настройка ККМ").

  7. Дату и время закрытия чека.
  8. Стоимость товаров по позициям и общую сумму чека.
  9. Фискальный признак, получаемый с сервера фискальных данных.
  10. Наименование оператора фискальных данных и реквизиты интернет-ресурса оператора фискальных данных для проверки подлинности кассового чека (в случае, если эти данные указаны на сервере ОФД). 

После закрытия документов продажи/возврата, внесения/выема денежных средств данные отправляются на сервер ОФД.

Рекламный текст, передаваемый от сервера ОФД, также печатается на чековой ленте.

Отчеты

Генерация отчетов осуществляется на основании данных продаж, хранящихся в файловой БД (см. "Утилита для просмотра информации в БД").

Для печати отчетов создается отдельный пункт меню с командой COMMAND_OPERATION.

Перенос наличности на следующую смену

Наличные, имеющиеся в кассе в конце смены, могут быть изъяты в рамках инкассации или переведены во входящий остаток следующей смены. Перенос наличных в следующую смену определяется параметром withdrawMoney в конфигурационном файле /linuxcash/cash/conf/softwarefn.ini в секции [KKM].

  • при значении true при закрытии смены будет выполняться операция инкассации (выем всей суммы),
  • при значении false при закрытии смены выполняется перенос наличности на следующую смену.

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

НаименованиеТип данныхВозможные значенияОписаниеПримечания
withdrawMoneyлогический
  • true
  • false

Выем наличности из кассы при снятии Z-отчета

По умолчанию false
Пример настройки
; Настройки сервиса программного ФН
...
; Настройки ККМ
[KKM]
 
; Выем наличности из кассы при снятии Z-отчета
; По умолчанию false
withdrawMoney = false

Утилита для просмотра информации в БД

При установке пакета artix-softwarefn в директорию /linuxcash/cash/bin/ устанавливается утилита   fmobserver для  просмотра информации в БД. 

Утилита позволяет: 

  • просматривать счетчики текущей смены,
  • запрашивать информацию о закрытой смене по номеру смены или дате закрытия,
  • получать информацию о необнуляемых счетчиках, 
  • запрашивать информацию о количестве неотправленных сообщений в очереди и дате первого неотправленного сообщения,
  • получать список неотправленных сообщений,
  • запрашивать информацию о неотправленном сообщении по id,
  • удалять неотправленные сообщения по id,
  • сбрасывать статус работы сервиса на 0 – online-режим,
  • обнулять и устанавливать токен.

Для запуска утилиты используется команда: 

./fmobserver <код доступа> [ОБЪЕКТ] [ПАРАМЕТР]

, где <код доступа> – пароль для подключения к утилите просмотра БД, <код доступа> выдается разработчиком ПО.

[ОБЪЕКТ] может принимать значение:

  • help – для вывода справки;

  • shiftcounters – для просмотра счетчиков текущей смены;
  • fiscalmemory – для запроса информации о закрытой смене;

  • protectedcounters – для получения необнуляемых счетчиков;

  • queue – для вывода количества неотправленных сообщений в очереди и даты первого неотправленного сообщения;
  • status – для работы со статусом;
  • token – для работы с токеном;
  • messages – для вывода списка сообщений в очереди;
  • message – для работы с сообщением из очереди.

[ПАРАМЕТР] указывается для объектов fiscalmemory, status, token, message и может принимать значение: 

  • целочисленный номер смены для просмотра информации о закрытой смене по номеру:

    Пример
    ./fmobserver <код доступа> fiscalmemory 1

    В результате в консоль будет выведена информация о смене номер 1: 

    Смена 1, 07.12.2018:
    {
    "CHANGE" : 0.0,
    "OPERATION_SELL" : {
    "PAYMENT_CASH" : 20.9
    }
    }
  • дата закрытия смены в формате дд.мм.гггг для получения информации о смене/сменах по дате:  

    Пример
    ./fmobserver <код доступа> fiscalmemory 07.12.2018

    В результате в консоль будет выведена информация о сменах, закрытых в указанную дату: 

    Результат
    Смена 1, 07.12.2018:
    {
    "CHANGE" : 0.0,
    "OPERATION_SELL" : {
    "PAYMENT_CASH" : 20.9
    }
    }
    Смена 2, 07.12.2018:
    {
    "CHANGE" : 0.0,
    "OPERATION_SELL" : {
    "PAYMENT_CASH" : 57.7
    }
    }
  • clean для сброса статуса / обнуления токена:

    Пример
    ./fmobserver <код доступа> status/token clean
  • id для вывода сообщения с указанным id:

    Пример
    ./fmobserver <код доступа> message 5 

    В консоль будет выведена информация о сообщении с указанным id:

    Пример
    { "command" : 1, "request" : { "amounts" : { "taken" : 15.2, "total" : 15.2 }, "cashier" : { "code" : 1453094908, "name" : "Мастер" }, "dateTime" : "2019-01-23T15:04:57", "domain" :
    { "type" : 0 }, "extensionOptions" : { "auxiliary" : {  } }, "frShiftNumber" : 8, "items" : [ { "commodity" : { "auxiliary" : {  }, "name" : "МОЛОКО БМК 1.5% 1Л П/П", "price" : 15.2,
    "quantity" : 1000, "sectionCode" : "1", "sum" : 15.2, "taxes" : [ { "inTotalSum" : true, "percent" : 0, "sum" : 0.0, "taxType" : 100, "taxationType" : 100 } ] }, "modifier" :
    { "auxiliary" : {  }, "name" : "", "sum" : 0.0, "taxes" : [  ] }, "type" : 1 } ], "offlineTicketNumber" : 1548230697, "operation" : 2, "payments" : [ { "sum" : 15.2, "type" : 0 } ],
    "printedTicket" : "Сер. номер ККМ 00000112\nККТ ID 1973\nИИН/БИН 130140014574\n           ЧЕК ПРОДАЖИ #6           \n         КАССИР: 11 Мастер
    \n------------------------------------\n1             МОЛОКО БМК 1.5% 1Л П/П\n   1.000шт *     15.20 =       15.20\n------------------------------------\nПОЗИЦИЙ:
    0001\nИТОГО: 15.20", "state" : 0, "taxes" : [  ] } }
  • id delete для удаления сообщения с указанным id:

    Пример
    ./fmobserver <код доступа> message 6 delete

    Если сообщение с таким id существует, то в консоль будет выведена информация о том, что сообщение удалено:

    Пример
    Сообщение удалено

    Если сообщения с таким id не существует, то в консоль будет выведена информация о том, что сообщение не удалено:

    Пример
    Сообщение не удалено

    Логирование работы утилиты производится в  /linuxcash/logs/current/fmobserver.log .

Автономный режим работы

Сервис softwarefn переходит в автономный режим работы, если:

  • отсутствует связь с сервером ОФД,
  • используется неверный токен.

Неотправленные документы сохраняются в очередь сообщений в таблицу messages файловой БД. После возврата в online-режим сообщения отправляются на сервер, начиная с самого раннего, после чего удаляются из очереди. Настройки работы сервиса в автономном режиме задаются в конфигурационном файле /linuxcash/cash/conf/softwarefn.ini в секции [DataSending].

НаименованиеТип данныхОписаниеПримечания
operationTimeoutчисловойВремя выполнения операции (отправка и получение данных) в мс

По умолчанию 5000 мс (минимальное рекомендуемое значение)

reconnectionTimeoutчисловой

Таймаут между попытками переподключения к серверу в offline-режиме в мс

По умолчанию 60000 мс (минимальное рекомендуемое значение)
offlineModeLimitчисловойОграничение продолжительности автономного режима работы в часахПо умолчанию 72 часа
Пример настройки
; Настройки параметров отправки данных
[DataSending]
; Время выполнения операции(отправка и получение данных)
; По умолчанию 5000 мс(минимальное рекомендуемое значение)
operationTimeout = 5000

; Таймаут между попытками переподключения к серверу
; в offline-режиме работы сервиса программного ФН
; По умолчанию 60000 мс(минимальное рекомендуемое значение)
reconnectionTimeout = 0

; Ограничение продолжительности автономного режима (часы), по умолчанию 72 часа
offlineModeLimit = 72

При превышении времени пребывания в автономном режиме сервис блокируется.

Во время работы сервиса в автономном режиме на экране отображается уведомление об оставшемся до блокировки кассы времени:

  • при отсутствии связи с ОФД:
  • при неверном токене:

При восстановлении связи с сервером и наличии в очереди неотправленных сообщений сервис будет работать в автономном режиме, а уведомление примет вид:

После отправки последнего сообщения из очереди, при наличии связи с сервером, сервис переходит в online-режим, а уведомление будет автоматически закрыто при следующем запросе к серверу.

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

Если время нахождения в автономном режиме превышено, то при добавлении товара в чек/закрытии чека на экран будет выведено предупреждение:

При попытке закрыть смену в режиме блокировки сервиса на экран будет выведена ошибка:

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

Контроль времени совершения операций

Во избежание расхождения во времени при совершении операций в кассовом ПО Артикс реализован контроль даты и времени последнего обращения к серверу ОФД.

Если время совершения текущей операции меньше времени последнего запроса, то сервис перейдет в режим блокировки, а на экран будет выведена ошибка:

  • при добавлении товара в чек / закрытии чека:
  • при закрытии смены:

Работа с кассой может быть продолжена только после выхода из состояния блокировки .

В кассовом ПО Artix реализована возможность проверки только даты выполнения запроса. Для этого необходимо в конфигурационном файле /linuxcash/cash/conf/softwarefn.ini вручную добавить секцию [Checks] с настройкой checkOnlyRequestDate:

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

Проверка только даты выполнения запроса

По умолчанию false

Пример настройки
[Checks]
; Проверка только даты выполнения запроса. Время выполнения запроса при проверке игнорируется.
; По умолчанию false
;checkOnlyRequestDate = false

Блокировка работы кассовой программы

Работа кассовой программы может быть заблокирована в результате:

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

Блокировка сервиса softwarefn при работе с сервером ОФД может быть произведена при:

  • возникновении ошибок при первом подключении к серверу ОФД,
  • получении от сервера ОФД сообщения с требованием о приостановлении операций на кассе. В этом случае на экран будет выведено сообщение: "ККМ заблокирована по требованию органов налоговой службы:<Сообщение от сервера>",
  • превышении времени работы в автономном режиме,
  • некорректном времени на кассе.

Выход из состояния блокировки

Для выхода из состояния блокировки сервиса необходимо: 

  1. Остановить сервис softwarefn командой:

    service softwarefn stop
  2. Устранить причину блокировки.
  3. Сбросить статус сервиса утилитой fmobserver :

    Пример
    ./fmobserver <код доступа> status clean
  4. Запустить сервис softwarefn командой:

    service softwarefn start

Логирование работы сервиса

В логах и ОФД не отображаются сообщения о передаче значений для:

  • настроек organizationTitle, organizationAddress, organizationInn, заданных в конфигурационном файле /linuxcash/cash/conf/softwarefn.ini в секции [Service],
  • настройки serialNumber, заданной в конфигурационном файле /linuxcash/cash/conf/softwarefn.ini в секции [ККМ],
  • turnover_without_tax – обязательного поля, используемого в запросе к серверу ОФД.

Правила ведения логов, события, которые подлежат записи, их подробность и полнота задаются в файле /linuxcash/cash/conf/Artix/softwarefn.conf. Логи работы сервиса записываются в файл /linuxcash/logs/current/softwarefn.log.

После установки сервиса логирование всех модулей осуществляется по умолчанию на уровне INFO. 

Допускается использование одного из уровней: 

  • TRACE, 
  • DEBUG, 
  • INFO,
  • WARN,
  • ERROR.

Самый детальный уровень – TRACE, самый строгий – ERROR. В зависимости от выбранного уровня в лог записывается информация, которая соответствует уровню.

Пример настройки
[Log4Qt]
Properties\log4j.appender.root = org.apache.log4j.FileAppender
Properties\log4j.appender.root.file = /linuxcash/logs/current/softwarefn.log
Properties\log4j.appender.root.appendFile = true
Properties\log4j.appender.root.layout = org.apache.log4j.TTCCLayout
Properties\log4j.appender.root.layout.DateFormat = ISO8601
Properties\log4j.rootLogger = "INFO, root"

Требования безопасности

Доступ пользователей к кассовому ПО осуществляется только при наличии логина/пароля, определяющего уровень доступа.

Исходный программный код скрыт, что обеспечивает его неизменность и, соответственно, невозможность внесения изменений в функционал ККМ.

Данные передаются на сервер ОФД в бинарном виде.

Реализация маркированных товаров

Для реализации маркированных товаров необходимо воспользоваться плагином markedgoods.

Сканер кодов маркировки должен быть подключен к COM-порту. В противном случае сканирование кода маркировки будет работать некорректно.

Реализация табачной продукции

Для реализации табачной продукции можно воспользоваться плагином motp или markedgoods.

Маска для проверки кода маркировки табачной продукции должна быть задана в виде:

  • (01)?(?<barcode>\d{14})(21)?.{7}(.93)?.{8}(.(.{14}|.{11}))? – для продажи блоков и пачек сигарет в республике Казахстан.

На сервер softwarefn код маркировки в поле exciseStamp передается частично:

  • для блоков сигарет – до первого разделительного символа,
  • для пачек сигарет – первый 21 символ.
  • No labels