Начиная с версии 4.6.235 кассового ПО Artix для формирования чеков продажи используется шаблон |
Передача данных на сервер ОФД Казахстана обеспечивается сервисом artix-softwarefn
(программный ФН ALTYN KASSA (kz)).
Обновление ПО Artix необходимо выполнять при выключенном сервисе Для корректной работы сервиса
После обновления кассового ПО работа с прежней БД невозможна, для корректной работы файловая база данных должна быть создана заново. |
Для обеспечения передачи данных на сервер ОФД (Казахстан) необходимо установить пакет artix-softwarefn
командой:
aptitude install artix-softwarefn |
Запуск и управление сервисом softwarefn
осуществляется при помощи утилиты service
. Для этого необходимо выполнить команду:
service softwarefn [команда] |
[команда]
может принимать значение:
start
– запуск сервиса,stop
– остановка сервиса,restart
– перезапуск сервиса,status
– получение статуса сервиса.После установки пакета создается конфигурационный файл /linuxcash/cash/conf/softwarefn.ini
, в котором настраиваются параметры подключения к серверу ОФД (Казахстан) (см.ниже).
В протокол ОФД версии 2.0.2 добавлены обязательные поля:
|
Перед обновлением необходимо:
softwarefn
.После обновления необходимо:
softwarefn.ini
.Задать меру количества предмета расчета (см. выше).
При запросе к серверу ОФД значение будет передаваться в поле |
softwarefn
.Для подключения ККМ к серверу ОФД необходимо:
/linuxcash/cash/conf/softwarefn.ini
указать:host
– IP-адрес сервера ОФД,port
– порт для подключения к серверу ОФД,deviceId
– идентификатор устройства, выданный при регистрации в ОФД,token
– токен.softwarefn
.Подключение к серверу ОФД осуществляется через любые каналы передачи данных, использующие протокол соединения TCP/IP (GSM, LTE, Wi-Fi, Wi-Max, Ethernet). Настройки подключения и параметры ККМ задаются в конфигурационном файле /linuxcash/cash/conf/softwarefn.ini
в секциях [Connection]
и [KKM]
.
Секция | Наименование | Тип данных | Описание | Примечания |
---|---|---|---|---|
Connection | host | строковый | 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 | логический |
| Использовать цену на товар из чека продажи в чеке возврата по чеку продажи | По умолчанию false |
;[HW.FR] ... ; Использовать цену на товар из чека продажи в чеке возврата по чеку продажи ; Только для ФР "Программный ФН" ; По умолчанию выключено ;useSalePriceInBackBySale = false |
Параметры защиты канала связи при передаче данных на сервер ОФД и информация об организации задаются в конфигурационном файле /linuxcash/cash/conf/softwarefn.ini
в секции [Service]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
organizationTitle | строковый | Название организации или ФИО индивидуального предпринимателя | ||
organizationAddress | строковый | Юридический адрес организации | ||
organizationInn | строковый | ИИН/БИН организации | ||
useSSL | логический |
| Параметры защиты канала связи | По умолчанию false |
; Настройки служебной информации [Service] ... ;Название организации или ФИО индивидуального предпринимателя organizationTitle = "" ;Юридический адрес организации organizationAddress = "" ;ИИН/БИН организации organizationInn = "" ; Параметры защиты канала связи ; По умолчанию false ;useSSL = false |
Для передачи ИИН/БИН необходимо:
Активировать плагин customerInn
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/customerInn.ini
в секции [plugins]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
customerInn | строковый |
| Плагин для ввода ИНН покупателя | По умолчанию off |
[plugins] ; Плагин для ввода ИНН покупателя ;customerInn = off |
COMMAND_CUSTOMER_INN
. О настройке действий подробнее можно прочитать в разделе "Настройка действий".COMMAND_CUSTOMER_INN
в список команд для выбранных ролей. О настройке ролей подробнее можно прочитать в разделе "Пользователи и роли".Для печати ИИН/БИН покупателя в чеке внести изменения в шаблон отчета 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
.
Секция | Наименование | Тип данных | Описание |
---|---|---|---|
KKM | taxationType | строковый | Система налогообложения:
|
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 |
В ККМ используются следующие типы оплат:
Подключение и настройка ККМ
Для подключения к серверу ОФД необходимо последовательно выполнить следующие действия:
Текст оповещения об автономном режиме – текст для печати оповещения об автономном режиме на чеке.
Начиная с версии 4.6.235 кассового ПО Artix текст оповещения об автономном режиме печатается только для:
|
При запуске кассы выполняется ряд регламентных работ по инициализации и подключению модулей, которые необходимы для функционирования кассовой программы.
Подключение кассы к серверу ОФД начинается с запроса на инициализацию. При этом производится первичный обмен данными с сервером ОФД, который подтверждает, что устройство зарегистрировано в ОФД, и в настройках указан правильный токен.
В свою очередь касса получает с сервера всю необходимую информацию для работы: текущее состояние счетчиков (X-отчет), рекламные тексты, регистрационную информацию и параметры налогообложения, установленные на серверной стороне.
Если при первом запуске сервиса softwarefn
отсутствует связь между кассой и сервером ОФД, то ККМ не будет инициализирована и на экран будет выведен диалог:
Для продолжения работы с кассой необходимо восстановить связь с сервером ОФД и повторить попытку инициализации, нажав клавишу "Enter".
Открытие смены в кассовом ПО Artix синхронизировано с открытием смены в ККМ. Кассовая смена открывается при закрытии первого фискального документа.
Полное описание функционала приведено в разделе "Кассовая смена".
После закрытия документа продажи/возврата печатается чек, содержащий следующую информацию:
QR-код в формате "url?i=<Фискальный_Признак>&f=<Код_ККМ>&s=<Сумма_Чека>&t=<Дата_Время_Чека>
". Где url
– адрес для просмотра чеков, который указан в настройках Программного ФН (см. "Подключение и настройка ККМ").
После закрытия документов продажи/возврата, внесения/выема денежных средств данные отправляются на сервер ОФД.
Рекламный текст, передаваемый от сервера ОФД, также печатается на чековой ленте.
Генерация отчетов осуществляется на основании данных продаж, хранящихся в файловой БД (см. "Утилита для просмотра информации в БД").
Для печати отчетов создается отдельный пункт меню с командой
COMMAND_OPERATION
.
Наличные, имеющиеся в кассе в конце смены, могут быть изъяты в рамках инкассации или переведены во входящий остаток следующей смены. Перенос наличных в следующую смену определяется параметром
withdrawMoney
в конфигурационном файле
/linuxcash/cash/conf/softwarefn.ini
в секции [KKM]
.
true
при закрытии смены будет выполняться операция инкассации (выем всей суммы),false
при закрытии смены выполняется перенос наличности на следующую смену.При использовании выема наличности при закрытии смены на сервере ОФД необходимо использовать обязательную инкассацию в кассовом ПО. |
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
withdrawMoney | логический |
| Выем наличности из кассы при снятии Z-отчета | По умолчанию false |
; Настройки сервиса программного ФН ... ; Настройки ККМ [KKM] ; Выем наличности из кассы при снятии Z-отчета ; По умолчанию false withdrawMoney = false |
При установке пакета artix-softwarefn
в директорию
/linuxcash/cash/bin/
устанавливается утилита
fmobserver
для просмотра информации в БД.
Утилита позволяет:
Для запуска утилиты используется команда:
./fmobserver <код доступа> [ОБЪЕКТ] [ПАРАМЕТР] |
, где <код доступа
> – пароль для подключения к утилите просмотра БД, <код доступа>
выдается разработчиком ПО.
[ОБЪЕКТ]
может принимать значение:
help
– для вывода справки;
shiftcounters
– для просмотра счетчиков текущей смены;fiscalmemory
– для запроса информации о закрытой смене;
protectedcounters
– для получения необнуляемых счетчиков;
queue
– для вывода количества неотправленных сообщений в очереди и даты первого неотправленного сообщения;status
– для работы со статусом;token
– для работы с токеном;messages
– для вывода списка сообщений в очереди;message
– для работы с сообщением из очереди.[ПАРАМЕТР]
указывается для объектов fiscalmemory
, status
, token
, message
и может принимать значение:
целочисленный номер смены для просмотра информации о закрытой смене по номеру:
В результате в консоль будет выведена информация о смене номер 1:
|
дата закрытия смены в формате дд.мм.гггг
для получения информации о смене/сменах по дате:
./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 | числовой | Время выполнения операции (отправка и получение данных) в мс | По умолчанию |
reconnectionTimeout | числовой | Таймаут между попытками переподключения к серверу в offline-режиме в мс | По умолчанию 60000 мс (минимальное рекомендуемое значение) |
offlineModeLimit | числовой | Ограничение продолжительности автономного режима работы в часах | По умолчанию 72 часа |
; Настройки параметров отправки данных [DataSending] ; Время выполнения операции(отправка и получение данных) ; По умолчанию 5000 мс(минимальное рекомендуемое значение) operationTimeout = 5000 ; Таймаут между попытками переподключения к серверу ; в offline-режиме работы сервиса программного ФН ; По умолчанию 60000 мс(минимальное рекомендуемое значение) reconnectionTimeout = 0 ; Ограничение продолжительности автономного режима (часы), по умолчанию 72 часа offlineModeLimit = 72 |
При превышении времени пребывания в автономном режиме сервис блокируется.
Во время работы сервиса в автономном режиме на экране отображается уведомление об оставшемся до блокировки кассы времени:
При восстановлении связи с сервером и наличии в очереди неотправленных сообщений сервис будет работать в автономном режиме, а уведомление примет вид:
После отправки последнего сообщения из очереди, при наличии связи с сервером, сервис переходит в online-режим, а уведомление будет автоматически закрыто при следующем запросе к серверу.
Настройками программы предусмотрена возможность установить задержку уведомления об отсутствии связи с ОФД, задается в минутах в настройках программного ФН через Менеджер оборудования. При отсутствии связи с ОФД уведомление кассиру будет отображаться спустя указанное в настройке время. |
Если время нахождения в автономном режиме превышено, то при добавлении товара в чек/закрытии чека на экран будет выведено предупреждение:
При попытке закрыть смену в режиме блокировки сервиса на экран будет выведена ошибка:
Закрытые в автономном режиме документы будут напечатаны с уведомлением, текст и размер шрифта задается в настройках программного ФН через Менеджер оборудования.
Во избежание расхождения во времени при совершении операций в кассовом ПО Артикс реализован контроль даты и времени последнего обращения к серверу ОФД.
Если время совершения текущей операции меньше времени последнего запроса, то сервис перейдет в режим блокировки, а на экран будет выведена ошибка:
Работа с кассой может быть продолжена только после выхода из состояния блокировки .
В кассовом ПО Artix реализована возможность проверки только даты выполнения запроса. Для этого необходимо в конфигурационном файле
|
Работа кассовой программы может быть заблокирована в результате:
Блокировка сервиса softwarefn
при работе с сервером ОФД может быть произведена при:
Для выхода из состояния блокировки сервиса необходимо:
Остановить сервис softwarefn
командой:
service softwarefn stop |
Сбросить статус сервиса утилитой fmobserver
:
./fmobserver <код доступа> status clean |
Запустить сервис
softwarefn
командой:
service softwarefn start |
В логах и ОФД не отображаются сообщения о передаче значений для:
|
Правила ведения логов, события, которые подлежат записи, их подробность и полнота задаются в файле /linuxcash/cash/conf/Artix/softwarefn.conf
. Логи работы сервиса записываются в файл /linuxcash/logs/current/softwarefn.log
.
Допускается использование одного из уровней:
Самый детальный уровень – 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 код маркировки в поле
|