Принятые сокращения

ФР -- фискальный регистратор.

УДФР -- универсальный драйвер фискального регистратора.

Введение

Универсальный драйвер фискального регистратора (ФР) позволяет использовать интерфейс взаимодействия Абонемент с драйверами ФР нижнего уровня поставляемыми R-keeper. Таким образом, позволяя объединить усилия и минимизировать количество ошибок, при разработке драйверов.

!!!ВАЖНО!!!
При подключении фискального регистратора необходимо использовать не urunpos.ini (fr.ini) из поставки, содержащий все возможные параметры, а основывать конфигурационный файл на приведенном примере для конкретного ФР.

Список поддерживаемых ФР аналогичен R-keeper 7.

 

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

ФР АТОЛ54 работающие согласно 54 ФЗ

ФР АТОЛ не поддерживающие 54 ФЗ

ФР ШТРИХ поддерживающие 54 ФЗ

ФР ШТРИХ не поддерживающие 54 ФЗ

ФР СПАРК (115-Ф) поддерживающий 54 ФЗ

ФР ПРИМ (08-Ф) поддерживающий 54 ФЗ

ФР DATECS DP 25

 

Настройка

Для того, чтобы использовать универсальный драйвер ФР, необходимо:

1.      Подложить URunPos.dll (вер. не ниже 2.0.0.210)URunPos.ini и BarCodeGen.dll  в папку exe абонемента. (файлы можно найти в поставке Абонемент версии 134 и выше, по пути: *\_INTERFACE\POS\)

2.      В abonementmanager.ini прописать, в секции [Pos]:

RunPosDllName=URunPos.dll

3.      Скопировать соответствующие используемому ФР dll и init.xml (файл параметров драйвера) из _INTERFACE\POS\DRIVERS\RK_FiscReg

4.      В URunPos.ini внести в поля «DriverName»  и «ParamXMLFile» имена файла dll и параметров драйвера ФР.

5.      Настроить init.xml для подключённого ФР.

6.      Изменить остальные настройки URunPos.ini, если требуется.

 

Также с версии URunPos.dll 2.0.0.230 и выше поддержан следующий метод подключения:
Файл urunpos.ini содержит строки:

	[MERGE]
	fr=fr.ini
	fr2=fr2.ini

В таком случае, настройки УДФР описанные в статье прописываются в указанных fr.ini и fr2.ini.

При таком подключении фискальным регистратором по умолчанию будет являться первый незакомментированный параметр в секции [MERGE] urunpos.ini.

В случае использования нескольких ФР на одном рабочем месте, в соответствующий параметр киоска вносится fr или fr2, соответственно. (Названия парметров и файлов могут быть произвольными и приведены как пример)

 


ВАЖНО!
В Абонемент, каждое рабочее место, на котором регистрируются платежи должно быть настроено как отдельный киоск. Особенно в случае, если к данному рабочему месту подключён ФР.
 
В противном случае велика вероятность получить ошибку вида:
lock conflict on no wait transaction
deadlock
update conflicts with concurrent update
concurrent transaction number is 71234666
At procedure 'SP_BILL_CREATE' line: 101, col:41
 
Данная ошибка может возникать, в случае, если 2 или более рабочих места настроены на работу как один киоск Абонемент. В таком случае, при одновременном открытии чека на данных рабочих местах возникнет ошибка.

ВАЖНО!

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


ВАЖНО!

"Ошибка ФР: Исчерпан ресурс хранения ФН" означает, что в ФН присутствуют фискальные документы не отправленные в ОФД более 30 суток. В связи с чем ФН не позволяет производить регистрацию новых фискальных документов. Требуется обеспечить связь ФР с ОФД. Работа с ФР будет разблокирована, после отправки данных документов.


 

Примеры настроек драйвера для различных ФР:

АТОЛ 54 ФЗ ЧЕРЕЗ DTO10

Для работы с ФР АТОЛ через DTO10, требуется чтобы следующие файлы были перенесены в папку ехе:

URunPos.dll (вер. не ниже 2.5.0.28)URunPos.ini, BarCodeGen.dll, fpRU_AtolDTO.dll (вер. 7.49.14.0 и выше), fptr10.dll (из папки установленного тест драйвера ДТО10 (x86)) и соответствующий init.xml

 

Настройки файлов конфигурации:

URunPos.ini

[Main]
;Драйвер ФР R_keeper
DriverName = fpRU_AtolDTO.dll
;ХМL настроек драйвера ФР R_keeper
ParamXMLFile = init.xml

;Обязательный параметр для данного драйвера!
DefaultTaxValue=-1

;Номер документа (-1 = брать из ФР)
DocNumber =-1

;Текст заголовка
TextHeader =

;Код налога по умолчанию
TaxIndexDef = 0

;Корректировка номера последнего документа +- LastDocNumberAdjustment
LastDocNumberAdjustment = 0

;Добавлять скидки на каждую позицию
AddItemDiscount = 0

;Номер ящика (для Атол - должен быть = 1)
CashDrawerNumber = 1
;Открывать ящик после оплаты
OpenCashDrawerAfterEndFiscal = 1

;Пауза перед отправкой данных на печать (мс)
FRSleep = 10

;Показывать предупреждение если данные не отправлены в ОФД определённое количество дней
OFDWarningDays = 15

;Привязка наличного фискального типа оплаты к соответствующему типу оплаты ФР
CashSumTypeIndex = 0
;Привязка электронного фискального типа оплаты к соответствующему типу оплаты ФР
CardSum1TypeIndex = 1
;Привязка авансового фискального типа оплаты к соответствующему типу оплаты ФР
CardSum2TypeIndex = 2
;Привязка безналичного фискального типа оплаты к соответствующему типу оплаты ФР
CardSum3TypeIndex = 1
;Привязка типа оплаты Передача в кредит к соответствующему типу оплаты ФР
CardSum4TypeIndex = 3


;Штриховой код, за секцию отвечает BarCodeGen.dll
[Barcode]
;ширина минимального элемента в точках для Type?QRCode
Width = 2
;высота в точках
Height = 100
;Тип = "EAN-13"|"Code-39"|"Code-128"|"QRCode"
Type = Code-39
;Позиция текста "No"|"Top"|"Bottom"|"Top&Bottom"
;для Type?QRCode
TextPosition = Bottom
;Уровень коррекции "7%"|"15%"|"25%"|"30%"
;необязательный, начиная с 12 версии, только для Type=QRCode
CorrectionLevel = 15%

init.xml

<xmlConfig>  <Parameters>  <LogLevel>5</LogLevel>
    <LogRotateSize>5</LogRotateSize>
    <LogRotateCount>5</LogRotateCount>
    <MsgLanguage>ENG</MsgLanguage>
    <ConnectType>0</ConnectType>
    <COMnum>18</COMnum>
    <COMbaud>115200</COMbaud>
    <IPaddress>127.0.0.1</IPaddress>
    <IPport>1000</IPport>
    <BluetoothMAC></BluetoothMAC>
    <FNinstalled>1</FNinstalled>
    <UseFNserialN>0</UseFNserialN>
    <OFDunSendWarn>86400</OFDunSendWarn>
    <OFDunSendErr>0</OFDunSendErr>
  </Parameters>
</xmlConfig>
 

 

Примечание. Работа с налогами в ФР АТОЛ

Cм. соответствующую статью

 

АТОЛ 54 ФЗ (22Ф, 77Ф, 55Ф, 25Ф, Fprint 22 ПТК, …)

Для работы с ФР АТОЛ, требуется чтобы следующие файлы были перенесены в папку ехе:

URunPos.dll (вер. не ниже 2.0.0.230)URunPos.ini, BarCodeGen.dll, fpAtol54.dll (вер. 7.13.81.0 и выше) и соответствующий init.xml

 

Также требуется перевести ФР в протокол АТОЛ 2.4. согласно инструкции.

 

Настройки файлов конфигурации:

URunPos.ini

[Main]
;Драйвер ФР R_keeper
DriverName = fpAtol54.dll
;ХМL настроек драйвера ФР R_keeper
ParamXMLFile = init.xml

;Номер документа (-1 = брать из ФР)
DocNumber =-1

;Текст заголовка
TextHeader =

;Код налога по умолчанию
TaxIndexDef = 4

;Корректировка номера последнего документа +- LastDocNumberAdjustment
LastDocNumberAdjustment = 0

;Добавлять скидки на каждую позицию
AddItemDiscount = 0

;Номер ящика (для Атол - должен быть = 1)
CashDrawerNumber = 1
;Открывать ящик после оплаты
OpenCashDrawerAfterEndFiscal = 1

;Пауза перед отправкой данных на печать (мс)
FRSleep = 10

;Показывать предупреждение если данные не отправлены в ОФД определённое количество дней
OFDWarningDays = 15

;Привязка безналичного фискального типа оплаты к соответствующему типу оплаты ФР
CardSum3TypeIndex=2
;Привязка типа оплаты Передача в кредит к соответствующему типу оплаты ФР
CardSum4TypeIndex=4

;Штриховой код, за секцию отвечает BarCodeGen.dll
[Barcode]
;ширина минимального элемента в точках для Type?QRCode
Width = 2
;высота в точках
Height = 100
;Тип = "EAN-13"|"Code-39"|"Code-128"|"QRCode"
Type = Code-39
;Позиция текста "No"|"Top"|"Bottom"|"Top&Bottom"
;для Type?QRCode
TextPosition = Bottom
;Уровень коррекции "7%"|"15%"|"25%"|"30%"
;необязательный, начиная с 12 версии, только для Type=QRCode
CorrectionLevel = 15%

init.xml

<xmlConfig>
  <parameters>  
    <loglevel>3</loglevel><!--Параметры логирования-->
    <logrotatesize>1</logrotatesize><!--Параметры логирования-->
    <logrotatecount>1</logrotatecount><!--Параметры логирования-->
    <logdestination>1</logdestination><!--Параметры логирования-->
    <msglanguage>ENG</msglanguage><!--Язык сообщений-->
    <portname>COM1</portname><!--Название COM-порта для подключения-->
    <portconfiguration>baud=9600</portconfiguration><!--Скорость сообщения по COM-порту-->
    <cashierpassword>28</cashierpassword><!--Пароль использумого кассира в ФР-->
    <adminpassword>29</adminpassword><!--Пароль администратора в ФР-->
    <sysadminpassw>30</sysadminpassw><!--Пароль сис.администратора в ФР-->
    <invertdraweropened>0</invertdraweropened><!--Инвертировать сигнал открытия денежного ящика-->
    <communicatpassw>0</communicatpassw><!--Пароль доступа ФР-->
    <usesectionas>Direct</usesectionas><!--Что использовать в качестве id налога-->
    <paperwidth>0</paperwidth><!--Ширина бумаги (в символах). 0 - запрашивать у ФР. Если печать идёт не на всю ширину, нужно задать жёстко (например 40 для широкой ленты)-->
    <ofdstatusunsendwarningtime>86400</ofdstatusunsendwarningtime><!--Время с первого неотправленного документа в ОФД до выведения предупреждающего сообщения (в секундах) (0 - никогда)-->
    <ofdstatusunsenderrortime>1296000</ofdstatusunsenderrortime><!--Время с первого неотправленного документа в ОФД до выведения сообщения об ошибке (в секундах) (0 - никогда)-->
  </parameters>
</xmlConfig>

 

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

    <portname>COM1</portname><!--Название COM-порта для подключения-->
    <portconfiguration>baud=9600</portconfiguration><!--Скорость сообщения по COM-порту-->

 

 

Примечание. Работа с налогами в ФР АТОЛ

Cм. соответствующую статью

 

Изменения в связи с ФФД 1.05

Для корректной работы с ФФД 1.05 и функционалом привнесённым в 135 версии Абонемент требуется:

Обновить URunPos.dll до версии 2.1.0.5, fpAtol54.dll до версии 7.47.162.0

На тестовом ФР Атол 22-Ф тип оплаты "Аванс (Предоплатой)" имел код 3, что соответствует значению по умолчанию:

CardSum2TypeIndex = 3

Поэтому изменений в настройках не требуется.

Для работы с расширенной фискализацией реализации услуг по Абонементу привнесённой в 139 версии требуется:

Обновить URunPos.dll до версии 2.4.0.9, fpAtol54.dll до версии 7.52.190.0

На тестовом ФР Атол 22-Ф тип оплаты "Передача в кредит" имел код 4, что не соответствует значению по умолчанию. Соответственно в fr.ini необходимо добавить:

CardSum4TypeIndex=4

 

ШТРИХ 54 ФЗ ( Штрих М-02Ф, Ритейл 01Ф, РР-02Ф, «MSTAR-TK», …)

Для работы с ФР Штрих, требуется чтобы следующие файлы были перенесены в папку ехе:

URunPos.dll (вер. не ниже 2.0.0.230)URunPos.iniBarCodeGen.dll, fpShtr54.dll (вер. не ниже v.7.32.33.0) и соответствующий init.xml

 

В последнее время, после обновления ФР семейства ШТРИХ-М, стала часто встречаться ошибка вида (в логах драйвера нижнего уровня fpShtr54.dll):

[ERR] FR error: Ошибка 09h: ФП - Некорректная длина команды

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

По данным вопросам заказчикам необходимо обращаться в ЦТОс которым у них заключен договор для выявления причины установки несовместимой версии ФН.

 

Настройки файлов конфигурации:

 

URunPos.ini

[Main]
;Драйвер ФР R_keeper
DriverName = fpShtr54.dll
;ХМL настроек драйвера ФР R_keeper
ParamXMLFile = init.xml

;Номер документа (-1 = брать из ФР)
DocNumber =-1

;Текст заголовка
TextHeader =

;Код налога по умолчанию
TaxIndexDef = 4

;Корректировка номера последнего документа +- LastDocNumberAdjustment
LastDocNumberAdjustment = 0

;Добавлять скидки на каждую позицию
AddItemDiscount = 0

;Номер ящика (для Штрих - должен быть = 0)
CashDrawerNumber = 0
;Открывать ящик после оплаты
OpenCashDrawerAfterEndFiscal = 1

;Пауза перед отправкой данных на печать (мс) для штрихов до 54 ФЗ
;(иначе неправильно происходит печать нефискальных документов --
;особенность драйвера нижнего уровня)
FRSleep = 100

;Показывать предупреждение если данные не отправлены в ОФД определённое количество дней
OFDWarningDays = 15

; Оплата - АВАНС = 14
CardSum2TypeIndex = 14
; Оплата - Передача в кредит = 15
CardSum4TypeIndex = 15

;Штриховой код, за секцию отвечает BarCodeGen.dll
[Barcode]
;ширина минимального элемента в точках для Type?QRCode
Width = 2
;высота в точках
Height = 100
;Тип = "EAN-13"|"Code-39"|"Code-128"|"QRCode"
Type = Code-39
;Позиция текста "No"|"Top"|"Bottom"|"Top&Bottom"
;для Type?QRCode
TextPosition = Bottom
;Уровень коррекции "7%"|"15%"|"25%"|"30%"
;необязательный, начиная с 12 версии, только для Type=QRCode
CorrectionLevel = 15%

 

 

ВАЖНО

Для ФР Штрих обязательно необходимо установить параметр:


;Код налога по умолчанию
TaxIndexDef = 4 (либо "2","3","4", но не "0" - значение вне диапазона)

Иначе, в случае, если код налога для услуги или платежа оставлен в значении по умолчанию =0, возникнет ошибка ФР, мешающая работе в программе;

Не касается кассовой секции.

 

init.xml

<xmlConfig>
    <Parameters>
        <LogLevel>3</LogLevel><!--Параметры логирования-->
        <LogRotateSize>1</LogRotateSize><!--Параметры логирования-->
        <LogRotateCount>1</LogRotateCount><!--Параметры логирования-->
        <MsgLanguage>RUS</MsgLanguage><!--Язык сообщений ФР-->
        <Protocol>0</Protocol><!--Используемый протокол: 0 = old (стандартный), 1 = alternative (протокол ККТ 2.0)-->  
       <PhysicLayer>0</PhysicLayer><!--Communivate via COM port = 0, Communivate via TCP/IP (Ethernet / WiFi) = 1-->  
       <COMnum>1</COMnum><!--Номер СОМ-порта, в случае работы по СОМ-порту-->  
       <COMbaud>115200</COMbaud><!--Скорость СОМ, в случае работы по СОМ-порту--->  
       <TCPaddress>192.168.1.100</TCPaddress><!--Адрес ФР, в случае работы по ТСР-->  
       <TCPport>12345</TCPport><!--Порт для связи с ФР, в случае работы по ТСР-->  
       <PasswOperat>1</PasswOperat><!--Пароль для действий кассира-->  
       <PasswAdmin>30</PasswAdmin><!--Пароль для действий администратора-->  
       <PassBefCut>5</PassBefCut><!--Количество пустых строк перед отрезкой-->  
       <DoubleWFont>4</DoubleWFont><!--Параметры шрифтов-->  
       <DoubleHFont>1</DoubleHFont><!--Параметры шрифтов-->  
       <LineLength>40</LineLength><!--Длина строки для нефискальной информации-->  
       <BoldLineLength>0</BoldLineLength><!--Длина строки полужирным шрифтом для нефискальной информации (в Абонемент не используется)-->  
       <OFDStatusUnsendWarningTime>86400</OFDStatusUnsendWarningTime><!--Время с первого неотправленного документа в ОФД до выведения предупреждающего сообщения (в секундах) (0 - никогда)-->  
       <OFDStatusUnsendErrorTime>1296000</OFDStatusUnsendErrorTime><!--Время с первого неотправленного документа в ОФД до выведения сообщения об ошибке (в секундах) (0 - никогда)-->  
   </Parameters>
</xmlConfig>

 

Примечание. Работа с налогами в ФР ШТРИХ

Для ФР ШТРИХ поддержана произвольная установка налога для услуги независимо от секции. (Подробнее про коды налогов см. соответствующую статью)

Т.е. обе настройки: "Код налога ФР" и "Кассовая секция" независимы и имеют силу для любой услуги и платежа.

 

Изменения в связи с ФФД 1.05

Для корректной работы с ФФД 1.05 и функционалом привнесённым в 135 версии Абонемент требуется:

Обновить URunPos.dll до версии 2.1.0.5, fpShtr54.dll до версии 7.47.86.0

На тестовом ФР Ритейл-01Ф тип оплаты "Аванс (Предоплатой)" имел код 14, что не соответствует значению по умолчанию.

Соответственно, в fr.ini в секции [Main] необходимо прописать:

CardSum2TypeIndex = 14

Для работы с расширенной фискализацией реализации услуг по Абонементу привнесённой в 139 версии требуется:

Обновить URunPos.dll до версии 2.4.0.9, fpAtol54.dll до версии 7.49.102.0

На тестовом ФР Ритейл-01Ф тип оплаты "Передача в кредит" имел код 15, что не соответствует значению по умолчанию. Соответственно в fr.ini необходимо добавить:

CardSum4TypeIndex=15

 

ККТ Спарк 115-Ф

Для работы с ФР Спарк 115-Ф, требуется чтобы следующие файлы были перенесены в папку ехе:

URunPos.dll (вер. не ниже 2.0.0.230)URunPos.iniBarCodeGen.dll, fpSpark54.dll  и соответствующий init.xml

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

Настройки файлов конфигурации:

 

URunPos.ini

[Main]
;Драйвер ФР R_keeper
DriverName = fpSpark54.dll
;ХМL настроек драйвера ФР R_keeper
ParamXMLFile = init.xml

;Номер документа, -1 - брать из ФР
DocNumber = -1

;Текст заголовка чека (!!! оставить пустым для СПАРК)
TextHeader =
;Печатать логотип в чеке (!!! не печатать для СПАРК - возникает ошибка при попытке печати чека возврата прихода "Нев. команда регистрации аннулирования [200]")
IsPrintLogo=0

;Код налога по умолчанию
TaxIndexDef = 0
;Коды налогов
;0 = НДС НЕ ОБЛ.
;1 = НДС 18/118
;2 = НДС 10/110
;3 = НДС 0
;4 = НДС 18 - не работает с Абонемент
;5 = НДС 10 - не работает с Абонемент

;Добавлять скидки на каждую позицию
AddItemDiscount = 0

;Номер ящика
CashDrawerNumber = 0
;Открывать ящик после оплаты
OpenCashDrawerAfterEndFiscal = 1

;Показывать предупреждение если данные не отправлены в ОФД определённое количество дней
OFDWarningDays = 15

;Коды типов оплат:
;Оплата =8 - наличные
CashSumTypeIndex = 8
;Оплата =1 Электронные
CardSum1TypeIndex = 1
;Оплата =5 АВАНС
CardSum2TypeIndex = 5

;Оплата =7 - "запрещено"

;Пауза перед отправкой данных на печать (мс) для штрихов до 54 ФЗ
FRSleep = 10

;Штриховой код, за секцию отвечает BarCodeGen.dll
[Barcode]
;ширина минимального элемента в точках для Type?QRCode
Width = 2
;высота в точках
Height = 100
;Тип = "EAN-13"|"Code-39"|"Code-128"|"QRCode"
Type = Code-39
;Позиция текста "No"|"Top"|"Bottom"|"Top&Bottom"
;для Type?QRCode
TextPosition = Bottom
;Уровень коррекции "7%"|"15%"|"25%"|"30%"
;необязательный, начиная с 12 версии, только для Type=QRCode
CorrectionLevel = 15%

 

ВАЖНО

Обратите внимание на следующее:

;Код налога по умолчанию
TaxIndexDef = 0

;Коды налогов
;0 = НДС НЕ ОБЛ.
;1 = НДС 18/118
;2 = НДС 10/110
;3 = НДС 0
;4 = НДС 18 - не работает с Абонемент
;5 = НДС 10 - не работает с Абонемент

В случае ФР Спарк 115-Ф, на котором производилось тестирование, налоги были установлены указанным образом. Необходимо это учитывать, при заполнении карточек услуг и платежей.

Также необходимо обратить внимание на следующее:

;Коды типов оплат:
;Оплата =8 Наличные
;Оплата =1 Электронные
;Оплата =2 карта-2
;Оплата =3 карта-3
;Оплата =4 карта-4
;Оплата =5 ТАР
;Оплата =6 ЧЕК
;Оплата =7 - "запрещено"

На тестируемом ФР код платежа «Наличные» был равен 8, соответственно, а «Электронные» равный 1. В таком случае, необходимо установить:

CashSumTypeIndex = 8
CardSum1TypeIndex = 1

init.xml

<?xml version="1.0" encoding="utf-8"?>  
<xmlConfig>  
  <Parameters>  
    <LogLevel>5</LogLevel><!--Параметры логирования-->  
    <LogRotateSize>1</LogRotateSize><!--Параметры логирования-->  
    <LogRotateCount>5</LogRotateCount><!--Параметры логирования-->  
    <MsgLanguage>ENG</MsgLanguage><!—Язык сообщений ФР-->  
    <PasswKKT>111111</PasswKKT><!—Пароль доступа ФР-->  
    <PasswCachier>11111</PasswCachier><!—Пароль кассира-->  
    <TCPaddress>127.0.0.1</TCPaddress><!—Сетевой адрес, на котором запущена SparkServ -->  
    <TCPport>7200</TCPport><!—Порт на котором запущена SparkServ-->  
    <PhysicalLayer>TCP</PhysicalLayer><!—Параметр не имеет силы-->  
    <COMnum>9</COMnum><!—Параметр не имеет силы-->  
    <COMspeed>57600</COMspeed><!—Параметр не имеет силы-->  
    <OFDStatusUnsendWarningTime>0</OFDStatusUnsendWarningTime><!--Время с первого неотправленного документа в ОФД до выведения предупреждающего сообщения (в секундах) (0 - никогда)-->  
    <OFDStatusUnsendErrorTime>2592000</OFDStatusUnsendErrorTime><!--Время с первого неотправленного документа в ОФД до выведения сообщения об ошибке (в секундах) (0 - никогда)-->  
  </Parameters>  
</xmlConfig>  
 

Примечание. Работа с налогами и секциями в ФР СПАРК

ФР Спарк 115-Ф позволяет установку произвольного налога для каждой позиции чека. (Подробнее про коды налогов см. соответствующую статью)

Кассовые секции не используются.

Примечание. Работа на одном ФР СПАРК  с нескольких рабочих мест

За счёт использования утилиты SparkSrv появляется возможность использовать один ФР Спарк с другого рабочего места, путём подключения к утилите по соответствующему адресу и порту.

Примечание. ФР СПАРК и нулевой чек

ФР СПАРК не позволяет пробитие нулевого чека. Необходимо отключить пробитие нулевого чека на всех киосках, к которым подключаются ФР СПАРК.

ВАЖНО

В ФР СПАРК ошибка "Ошибка ФР 54: Запрещено по программируемому флагу №5" означает, что флаг доступных к возврату типов платежей для данного платежа снят.

 

Изменения в связи с ФФД 1.05

Для корректной работы с ФФД 1.05 и функционалом привнесённым в 135 версии Абонемент требуется:

Обновить URunPos.dll до версии 2.1.0.5, fpSpark54.dll до версии 7.46.42.0

На тестовом ФР СПАРК 115-Ф тип оплаты "Аванс (Предоплатой)" имел код 5, что не соответствует значению по умолчанию.

Соответственно, в fr.ini в секции [Main] необходимо прописать:

CardSum2TypeIndex = 5

 

ККТ ПРИМ 08-Ф

Корректная работа ФР ПРИМ 08-Ф с Абонемент протестирована на версии Абонемент 1.129, и версии URunPos.dll (2.0.0.230).

Для работы с ФР ПРИМ 08-Ф, требуется чтобы следующие файлы были перенесены в папку ехе:
URunPos.dll (вер. не ниже 2.0.0.230), URunPos.ini, BarCodeGen.dll, fpRUS_PRIM08F.dll (вер. не ниже v.7.33.21.0)  и соответствующий init.xml и fr.ini (согласно новому способу подключения)
Настройки файлов конфигурации:

 

prim.ini  (бывший urunpos.ini)

[Main]
;Драйвер ФР R_keeper
DriverName = fpRUS_PRIM08F.dll
;ХМL настроек драйвера ФР R_keeper
ParamXMLFile = init.xml

;Номер документа (-1 = брать из ФР)
DocNumber = -1

;Текст заголовка чека
TextHeader =
;Код налога по умолчанию
TaxIndexDef = 0
;Коды налогов
;0 = Без НДС
;1 = НДС 0%
;2 = НДС 10/110%
;3 = НДС 18/118%
;4 = НДС 10%
;5 = НДС 18%

;Добавлять скидки на каждую позицию
AddItemDiscount = 0

;Показывать предупреждение если данные не отправлены в ОФД определённое количество дней
OFDWarningDays = 15

;Коды типов оплат:
;Оплата =0 - наличные
CashSumTypeIndex = 0
;Оплата =1 Электронные
CardSum1TypeIndex = 1

;Пауза перед отправкой данных на печать (мс) для штрихов до 54 ФЗ
FRSleep = 10

;Штриховой код, за секцию отвечает BarCodeGen.dll
[Barcode]
;ширина минимального элемента в точках для Type?QRCode
Width = 2
;высота в точках
Height = 100
;Тип = "EAN-13"|"Code-39"|"Code-128"|"QRCode"
Type = Code-39
;Позиция текста "No"|"Top"|"Bottom"|"Top&Bottom"
;для Type?QRCode
TextPosition = Bottom
;Уровень коррекции "7%"|"15%"|"25%"|"30%"
;необязательный, начиная с 12 версии, только для Type=QRCode
CorrectionLevel = 15%

ВАЖНО

Обратите внимание на следующие отрывки:

;Код налога по умолчанию
TaxIndexDef = 0
;Коды налогов
;0 = Без НДС
;1 = НДС 0%
;2 = НДС 10/110%
;3 = НДС 18/118%
;4 = НДС 10%
;5 = НДС 18%

В случае ФР ПРИМ 08-Ф, на котором производилось тестирование, налоги были установлены указанным образом. Необходимо это учитывать, при заполнении карточек услуг и платежей.

Также необходимо обратить внимание на следующий отрывок:

;Коды типов оплат:
;Оплата =0 - наличные
CashSumTypeIndex = 0
;Оплата =1 Электронные
CardSum1TypeIndex = 1

На тестируемом ФР код платежа «Наличные» был равен 0, а код платежа «Электронные» был равным 1. В таком случае, для корректной работы, необходимо установить CashSumTypeIndex и CardSum1TypeIndex как указано.

 

init.xml

<DriverParameters>
 <Parameter Name="LogLevel" IntegerValue="5" Desctiption="Log level: 0 - error only, ..., 5 - all"/>
 <Parameter Name="MsgLanguage" StringValue="RUS" Desctiption="Language of messages, the string matches with the extension of the localisation file, for example: ENG, RUS etc"/>
 
 <Parameter Name="COMnum" IntegerValue="1" Desctiption="COM-port number, 1..255" />
 <Parameter Name="BaudRate" IntegerValue="9600" Desctiption="COMport baudrate: 9600, 19200, 38400, 57600 or 115200"/>
 
 <Parameter Name="Password" StringValue="AERF" Desctiption="Password for sending" />
 <Parameter Name="DrawerInv" IntegerValue="0" Desctiption="Is inverted signal from drawer opened state: 0 - No, 1 - Yes" />
 
 <Parameter Name="OFDunSendErr" IntegerValue="86400" Desctiption="OFD unsending hours for error, 0 - not implemented" />
 <Parameter Name="OFDunSendWrn" IntegerValue="0" Desctiption="OFD unsending hours for warning, 0 - not implemented" />
 
 <UseFnSerial>0</UseFnSerial>
</DriverParameters>

 

Примечание. Работа с налогами и секциями в ФР ПРИМ

ФР ПРИМ 08-Ф позволяет установку произвольного налога для каждой позиции чека. (Подробнее про коды налогов см. соответствующую статью)
Кассовые секции не используются.

 

Примечание. ФР ПРИМ и нулевой чек

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

 

 

DATECS DP 25

Для работы с ФР Datecs DP 25, требуется чтобы следующие файлы были перенесены в папку ехе:

URunPos.dll (вер. не ниже 2.0.0.184)URunPos.iniBarCodeGen.dll, fpROU_DP25.dll и соответствующий init.xml

Настройки файлов конфигурации:

URunPos.ini

[Main]
;Драйвер ФР R_keeper
DriverName = fpROU_DP25.dll
;ХМL настроек драйвера ФР R_keeper
ParamXMLFile = init.xml
;ИНН
INN = 1234567890
;Номер документа
DocNumber = 1
;Имя продавца
Seller = Seller
;Код объекта
ObjCode = 0
;Название объекта
ObjName = Abonement
;ID оператора (кассира)
OperatorId = 0
;Код оператора (кассира)
OperatorCode = 0
;Имя оператора (кассира)
OperatorName = Abonement
;ID станции (кассы)
StationId = 0
;Код станции (кассы)
StationCode = 0
;Название станции (кассы)
StationName = Abonement
;Текст заголовка
TextHeader = 
;Код налога по умолчанию
TaxIndexDef = 0
;Пауза перед отправкой данных на печать (мс)
FRSleep = 10
;Тип оплаты
CashSumText = Cash
CardSum1Text = Card
CardSum2Text = Card_2
CardSum3Text = Card_3
CardSum4Text = Card_4
;Коды типов оплат:
;Оплата наличными
CashSumTypeIndex = 0
;Оплата картой 1
CardSum1TypeIndex = 1
;Оплата картой 2
CardSum2TypeIndex = 2
;Оплата картой 3
CardSum3TypeIndex = 3
;Оплата картой 4
CardSum4TypeIndex = 4

;Штриховой код
[Barcode]
;ширина минимального элемента в точках для Type?QRCode
Width = 2
;высота в точках
Height = 100
;Тип = "EAN-13"|"Code-39"|"Code-128"|"QRCode"
Type = Code-39
;Позиция текста "No"|"Top"|"Bottom"|"Top&Bottom"
;для Type?QRCode
TextPosition = Bottom
;Уровень коррекции "7%"|"15%"|"25%"|"30%"
;необязательный, начиная с 12 версии, только для Type=QRCode
CorrectionLevel = 15%

 

ВАЖНО

Для ФР Datecs обязательно необходимо установить параметр:

;Код налога по умолчанию
TaxIndexDef = 0

Так как в ФР код первого налога  = 0;

Также необходимо присутствие следующей секции:

;Коды типов оплат:
;Оплата наличными
CashSumTypeIndex = 0
;Оплата картой 1
CardSum1TypeIndex = 1
;Оплата картой 2
CardSum2TypeIndex = 2
;Оплата картой 3
CardSum3TypeIndex = 3
;Оплата картой 4
CardSum4TypeIndex = 4

Поскольку коды типов оплат в ФР Datecs также как и коды налогов начинаются с  =0.

Также стоит установить следующие параметры (передаваемые названия типов оплаты):

;Тип оплаты
CashSumText = Cash
CardSum1Text = Card
…

Иначе передаются значения по умолчанию в неподдерживаемой аппаратом кириллице.

init.xml

<DriverParameters>  
    <Parameter Name="LogLevel" IntegerValue="5" Desctiption="Log level: 0 - error only, ..., 5 - all"/><!--Параметры логирования-->  
    <Parameter Name="MsgLanguage" StringValue="ENG" Desctiption="Language of messages, the string matches with the extension of the localisation file, for example: ENG, RUS etc"/><!—Язык сообщений ФР-->  
    <Parameter Name="COMnum" IntegerValue="11" Desctiption="COM-port number, 1..255" /><!--Номер СОМ-порта -->  
    <Parameter Name="BaudRate" IntegerValue="0" Desctiption="COMport baudrate: 0 - auto, 1200, 2400, 4800, 9600, 19200, 38400, 57600 or 115200"/><!—Скорость сообщения по СОМ-порту -->  
    <Parameter Name="OperCode" IntegerValue="1" Desctiption="Operator code: 1..16" /><!--Код кассира-->  
    <Parameter Name="OperPassword" StringValue="1" Desctiption="Operator password" /><!--Пароль кассира-->  
</DriverParameters>  

 

Примечание

Тестирование ФР Datecs DP 25 производилось сотрудником дилеров - Bogdan Romascu из «UCS-Romania».

 

TO DO: Больше примеров

 

Работа УДФР с денежными ящиками

С версии 2.0.0.201 urunpos.dll доступны параметры в urunpos.ini: CashDrawerNumber = 0 - Номер денежного ящика (как правило, 0 - ящик по умолчанию), OpenCashDrawerAfterEndFiscal = 1 - открывать ящик по команде из Абонемент (1 - открывать всегда, 0 - открывать только по кнопке "Открыть денежный ящик").

Работает независимо от версии Абонемента: открытие ящика при оплате наличными, при снятии Х и Z-отчёта.

С версии Абонемента 128 доступна кнопка в ночном аудите, для открытия денежного ящика по запросу - "Открыть денежный ящик".

 

Работа УДФР с передачей пользователя Абонемент в качестве кассира в чек

С версии 128 Абонемента поддержана передача пользователя Абонемент в качестве кассира в фискальный документ для всех доступных кассовых операций.

 

Работа с двумя и более фискальными регистраторами, подключёнными к 1 рабочему месту

Для работы с двумя ФР на 1 рабочем месте, требуется:

Наличие в папке ехе Абонемента файлов: URunPos.dll, URunPos.ini и BarCodeGen.dll, а также dll соответствующих подключённым ФР.

Настройки универсального драйвера для каждого ФР задаются в отдельных ini файлах (например: atol1.ini и shtrih2.ini), аналогичным настройкам приведённым в данной статье.

В URunPos.ini  в таком случае, будет иметь следуюющее содержание:

[MERGE]
atol=atol1.ini
shtrih=shtrih2.ini

Соответственно в atol1.ini и в shtrih2.ini , как минимум параметры ParamXMLFile  должны различаться, т.е. необходимо наличие 2 файлов (например init_1.xml и init_2.xml), где будут указаны настройки соединения с конкретными ФР.

В настройках соответствующих киосков в настройках в Абонементе необходимо в поле «название устройства в ini файле» прописать названия параметров прописанных в urunpos.ini (В данном примере это - atol и shtrih)

 

Работа с одним фискальным регистратором на нескольких рабочих местах

 

Решение для работы с нескольких рабочих мест Абонемент на 1 ФР, поддерживаемом универсальным драйвером, описано  в отдельной статье.

 

Также, способ подключения ФР Спарк 115-Ф позволяет использовать 1 ФР на нескольких рабочих местах, без использования вышеобозначенного решения. (См. раздел СПАРК 115-Ф)

 

Печать логотипа в фискальных и нефискальных документах

С версии URunPos.dll  2.0.1.17 поддержана принудительная печать логотипа в фискальных и нефискальных документах распечатываемых из Абонемент.

Для этого требуется загрузить изображение в память ФР. 

Прописать следующие параметры в секции [Main] файла конфигурации (fr.ini):

[Main]
; Печатать логотип в фискальных документах
IsPrintLogo = 1
; Печатать логотип в нефискальных документах
IsUnfiscalPrintLogo = 1
; Идентификатор логотипа в ФР
LogoName = 1

Применимость к фискальным регистраторам:

Спарк 115-Ф - Не применимо. Графика загружается только в клише ФР и печатается для всех документов независимо от команды.

Атол (22-Ф) - изображение загружается через утилиту теста драйвера в меню программирование. Указываемое в ini файле LogoName = ID картинки в тесте драйвера -1.

Штрих 54ФЗ (Ритейл-01Ф) - изображение загружается через тест драйвера. Указываемое в ini файле LogoName = <номер первой строки для печати>-<номер последней строки для печати> (Например "LogoName = 1-200" - напечатать первые 200 строк изображения загруженного в фр).

С другими семействами ФР не тестировалось.

 

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

Если ФР подключён через универсальный драйвер, то:

Помимо проверки shelter.hw.ini на незакомментированность соответствующих виртуальному фискальнику строк,

также требуется закомментировать строку

RunPosDllName=URunPos.dll

В секции [Pos] в abonementmanager.ini

 

В случае универсального драйвера в shelter.hw.ini изменения вносится вообще не должны.

Т.е. в идеальном случае, на новых объектах изначально работающих на универсальном драйвере будет достаточно править 1 строку в abonementmanager.ini.

 

Тестирование драйвера ФР

После установки и настройки необходимо протестировать работу драйвера.

План тестирования: 

  1. Изъятие (с копейками и без). 
  2. Печать штрихового кода. 
  3. Z-отчет. 
  4. Возврат (с копейками и без). 
  5. Продажа, используя безналичную оплату (с копейками и без) (печать слипа в двух копиях) интеграция со Сбербанком (в качестве названий услуг/товаров использовать еще и символы: ",',<,>/,\) (продажа со скидкой и без: AddItemDiscount = 1/0) (с отправкой чека по e-mail и СМС и без). 
  6. Закрытие смены. 
  7. Открытие смены. 
  8. Печать нулевого чека. 
  9. Продажа, используя наличную оплату (с копейками и без, со сдачей и без) (в качестве названий услуг/товаров использовать еще и символы: ",',<,>/,\) (продажа со скидкой и без: AddItemDiscount = 1/0) (с отправкой чека по e-mail и СМС и без). 
  10. Продажа, используя комбинированную оплату (с копейками и без) (в качестве названий услуг/товаров использовать еще и символы: ",',<,>/,\) (продажа со скидкой и без: AddItemDiscount = 1/0) (с отправкой чека по e-mail и СМС и без). 
  11. Х-отчет. 
  12. Печать текстовой информации (использовать еще и символы: ",',<,>/,\). 
  13. Внесение (с копейками и без). 
  14. Печать на разных ФР. (Если к 1 рабочему месту подключены 2 или более ФР).