Краткое описание драйвера OPOS для ФП СПАРК-115Ф
Скачать документ |
|
|
|
Общие сведения |
|
|
|
Драйвер предназначен для работы с фискальными регистраторами "Спарк" по стандарту OPOS. Драйвер реализует версию OPOS 1.7. |
|
|
|
Поддерживаются ФР "Спарк" следующих версий: |
|
|
|
Параметр DeviceName, передаваемый в метод Open, должен иметь значение "Spark" |
|
|
|
Используемые ключи реестра |
|
|
|
Программа установки драйвера производит запись в реестр следующих ключей и значений: |
|
|
|
Key |
HKEY_LOCAL_MACHINE\SOFTWARE\OLEforRetail\ServiceOPOS\FiscalPrinter\Spark |
Value |
Default = "SparkService2.FPSparkOPOSService" |
|
Имя класса сервиса OPOS |
|
|
Key |
HKEY_LOCAL_MACHINE\SOFTWARE\OLEforRetail\ServiceOPOS\FiscalPrinter\Spark\Settings\General |
Value |
NumDevices= "1" |
|
Количество фискальных принтеров, имеющихся в системе |
|
|
Key |
HKEY_LOCAL_MACHINE\SOFTWARE\OLEforRetail\ServiceOPOS\FiscalPrinter\Spark\Settings\1 |
|
Конфигурация первого имеющегося в системе принтера (Тип всех значений – REG_SZ) |
|
|
Value |
CashierID= "Cashier" |
|
Кассир |
|
|
Value |
ENABLELOG= "1" |
|
Вести ли лог работы драйвера |
|
|
Value |
EXTCFGFILE= "c:\Program Files\KKS\KKS FP Spark OPOS driver\extcfg.ini" |
|
Путь к файлу конфигурации, специфической для приложений |
|
|
Value |
HLLOGFILE= " " |
|
Путь к файлу лога высокого уровня (вызовы методов OPOS). По умолчанию лог будет вестись в файле |
|
|
Value |
LLLOGFILE= " " |
|
Путь к файлу лога низкого уровня (команды, посылаемые на принтер). По умолчанию лог будет вестись в файле |
|
|
Value |
ENABLEDAILY= "0" |
|
Вести ли лог работы драйвера в отдельных файлах за каждые сутки. Если значение HLLOGFILE не задано, то лог будет вестись в файлах: |
|
|
Value |
LIFETIMEDAILY = "0" |
|
Количество суток хранения файлов ежедневного лога. По умолчанию – 7 суток. Допустимые значения: от 1 до 60 суток. |
|
|
Value |
Password = "000000" |
|
Пароль управления принтера |
|
|
Value |
Port= "1" |
|
Номер com-порта, к которому подключен принтер |
|
|
Value |
POSID= "1" |
|
Номер кассы |
|
|
Value |
TranscodeTable= "1" |
|
0 – строковые значения преобразуются при печати на спарке из кодовой таблицы WIN1251 |
|
|
Value |
USEEXTCFG= "1" |
|
0 – Не использовать файл с конфигурацией, специфической для приложений |
|
|
Value |
OFDIPADDRESS= "" |
|
URL или IP-адрес сервера оператора фискальных данных (ОФД) |
|
|
Value |
OFDPORT= "" |
|
Порт сервера ОФД |
|
|
Файл конфигурации специфической для приложений |
|
|
|
Это обычный ini-файл. Ниже приводится описание его секций и значений. |
|
|
|
Section |
[VERSION] |
|
Информация о версии файла. |
|
|
|
Parameter MAJORVERSION=1 |
|
– старшая часть версии конфигурационного файла; |
|
|
|
Parameter MINORVERSION=0 |
|
– младшая часть версии конфигурационного файла |
|
|
Section |
[CORRESPONDENCE] |
|
Информация о соответствии платежных средств, используемых в приложении, и платежных средств принтера. |
|
|
|
Parameter NUMENTRIES |
|
Количество пар платежных средств, для которых установлено соответствие. Допустимы значения от "1"до "8". |
|
|
|
Parameter ENTRY%dCLIENT |
|
%d – число в диапазоне от 0 до NUMENTRIES-1 Наименование платежного средства клиентского приложения. |
|
|
|
Parameter ENTRY%dSPARK |
|
%d – число в диапазоне от 0 до NUMENTRIES-1 Наименование платежного средства Спарк. |
|
|
Section |
[SETTINGS] |
|
Parameter EXTENDEDMODE |
|
1 – работать в расширенном режиме 0 – не работать в расширенном режиме |
|
|
|
Parameter SPACELINEHANDLING |
|
0 – строки, переданные параметром в PrintRecMessage, состоящие целиком из пробелов, печатаются 1 – строки, переданные параметром в PrintRecMessage, состоящие целиком из пробелов, не печатаются. |
|
|
|
Parameter HANDLEUNIFORMROWS |
|
(начиная с версии драйвера 1.0.0.14) 1 – Если при вызове метода PrintRecMessage параметром ему передается строка, состоящая из одинаковых символов, по длине больше, чем может напечатать принтер, "лишние" символы отбрасываются; 0 – все символы печатаются, т.о. строка расползется на 2. Параметр используется только в расширенном режиме (EXTENDEDMODE = 1). |
|
|
Section |
[MODE] |
|
Parameter SPARK800 |
|
1 – работать со спарк-800; 0 – работать с остальными моделями ФП Спарк |
|
|
Section |
[INIT] |
|
Действия, выполняемые при инициализации драйвера (начиная с версии драйвера 1.0.0.20). |
|
|
|
Параметр PROGRAMPAYMENTMEANS 1 – Программировать параметры платежных средств принтера при инициализации драйвера; 0 – Не программировать, независимо от значений параметров, описанных ниже. |
|
|
|
Во всех параметрах, описываемых ниже параметрах вместо [%N] необходимо поставить номер соответствующего платежного средства принтера (допустимые значения: 1 – 8). |
|
|
|
Parameter PM[%N]DOPROGRAMMING |
|
Выполнять программирование параметров для платежного средства номер [%N] Значения: 1 – выполнять, 0 – не выполнять. |
|
|
|
Parameter PM[%N]CODEPAGE |
|
Кодовая страница, в которой указывается наименование платежного средства номер [%N] Значения: 1 – кодовая страница DOS 866, 0 – кодовая страница Windows 1251 |
|
|
|
Parameter PM[%N]NAME |
|
Наименование платежного средства принтера номер [%N] Значения: Строка длиной до 14 символов |
|
|
|
Parameter PM[%N]CARD |
|
Является ли платежное средство номер [%N] платежной картой (для таких платежных средств при оплате требуется передача дополнительной информации с помощью вызова метода DirectIO) Значения: 1 – является, 0 – не является. |
|
|
|
Parameter PM[%N]OPENDRAWER |
|
Открытие денежного ящика при оплате платежным средством номер [%N] Значения: 1 – открывать денежный ящик, 0 – не открывать |
|
|
|
Parameter PM[%N]ENABLECHANGE |
|
Разрешать при оплате платежным средством номер [%N] ввод суммы оплаты, предложенной клиентом Значения: 1 – разрешать, 0 – не разрешать |
|
|
|
Parameter PM[%N]CHECKTOTAL |
|
Подсчет итога кассовой выручки для платежного средства номер [%N]. Все платежные средства, у которых значение этого параметра равно 1, попадают в значение регистра ИТОГО В КАССЕ, печатаемого на X и Z-отчетах. По умолчанию такое средство только одно – восьмое. Значения: 1 – подсчитывать итог, 0 – не подсчитывать |
|
|
|
(Начиная с версии драйвера 1.0.0.43) |
|
|
|
Parameter PROGRAMTAXES |
|
Программировать ставки налогов при начале смены. Значения: 1 – программировать, 0 – не программировать |
|
|
|
Parameter TAXFILENAME |
|
Имя файла, содержащего информацию о налогах и цепочках. Формат файла с информацией о налогах/цепочках: Файл является обычным текстовым файлом в кодировке win1251 Каждая единица информации располагается в отдельной строке Строки 1-4 содержат информацию о налоговых ставках Строки 5-12 содержат информацию о налоговых цепочках в формате, используемом ФР Спарк |
|
|
Особенности некоторых методов драйвера |
|
|
|
Метод PrintRecTotal |
|
|
|
В качестве параметра Description необходимо передавать строку, содержащую номер платежного средства ФР Спарк – одну из строк "1","2","3","4","5","6","7","8". |
|
|
|
Неподдерживаемые свойства |
|
|
|
Свойства CapXXX, возвращающие False |
|
|
|
CapAdditionalHeader CapAdditionalLines CapAdditionalTrailer CapAmountNotPaid CapChangeDue CapCheckTotal CapCoverSensor CapDoubleWidth CapDuplicateReceipt CapFiscalReceiptStation CapFixedOutput CapItemList CapMultiContractor CapOnlyVoidLastItem CapOrderAdjustmentFirst CapPackageAdjustment CapPercentAdjustment CapPostPreLine CapPowerLossReport CapReceiptNotPaid CapRemainingFiscalMemory CapSetCurrency CapSetStoreFiscalID CapSetTrailer CapSlpEmptySensor CapSlpFiscalDocument CapSlpFullSlip CapSlpNearEndSensor CapSlpPresent CapSlpValidation CapTotalizerType CapTrainingMode CapValidateJournal |
|
Неподдерживаемые методы |
|
|
|
BeginFiscalDocument BeginFixedOutput BeginInsertion BeginItemList BeginRemoval BeginTraining EndFiscalDocument EndFixedOutput EndInsertion EndItemList EndRemoval EndTraining GetTotalizer PrintDuplicateReceipt PrintFiscalDocumentLine PrintFixedOutput PrintPeriodicTotalsReport PrintPowerLossReport PrintRecItemFuel PrintRecItemFuelVoid PrintRecMessage PrintRecNotPaid PrintRecPackageAdjustment PrintRecPackageAdjustVoid PrintRecSubtotalAdjustVoid PrintRecTaxID PrintReport SetCurrency SetStoreFiscalID SetTrailerLine VerifyItem |
|
Неподдерживаемые параметры метода GetData |
|
|
|
FPTR_GD_CURRENT_TOTAL FPTR_GD_GRAND_TOTAL FPTR_GD_NOT_PAID FPTR_GD_MID_VOID FPTR_GD_REFUND FPTR_GD_REFUND_VOID FPTR_GD_NUMB_CONFIG_BLOCK FPTR_GD_NUMB_CURRENCY_BLOCK FPTR_GD_NUMB_HDR_BLOCK FPTR_GD_NUMB_RESET_BLOCK FPTR_GD_NUMB_VAT_BLOCK FPTR_GD_FISCAL_DOC FPTR_GD_FISCAL_DOC_VOID FPTR_GD_FISCAL_REC FPTR_GD_FISCAL_REC_VOID FPTR_GD_NONFISCAL_DOC FPTR_GD_NONFISCAL_DOC_VOID FPTR_GD_NONFISCAL_REC FPTR_GD_RESTART FPTR_GD_SIMP_INVOICE FPTR_GD_TENDER FPTR_GD_LINECOUNT |
|
Описание команд, посылаемых через метод DirectIO. |
|
|
|
LONG DirectIO (LONG Command, LONG* pData, BSTR* pString); |
|
Параметр Command допускает три возможных значения 1 – в этом случае через параметр pString передается команда, непосредственно передаваемая на принтер, через параметр pData возвращается код ошибки. 2 – в этом случае метод DirectIO используется для передачи дополнительной информации и настройки режимов работы драйвера. 3 – в этом случае метод DirectIO используется для передачи дополнительной информации и настройки режимов работы драйвера с фискальным накопителем (ФН). |
|
|
|
Допустимы следующие комбинации значений параметров pData и pString: |
|
|
|
*pData = 1 |
|
pString передает номер кредитной карты, который будет напечатан на чеке при следующей операции оплаты (PrintRecTotal) |
|
|
|
*pData = 3 |
|
pString передает номер документа авторизации, который будет напечатан на чеке при следующей операции оплаты (PrintRecTotal) |
|
|
|
*pData = 5 |
|
pString передает значение "1" - чтобы разрешить ведение лога работы драйвера или "0" - чтобы запретить ведение лога. |
|
|
|
*pData = 7 |
|
pString передает имя файла лога высокого уровня. |
|
|
|
*pData = 9 |
|
pString передает имя файла лога низкого уровня. |
|
|
|
*pData = 11 |
|
pData возвращает значение байта состояния принтера. |
|
|
|
Для Command = 2 дополнительно доступны следующие значения pData: |
|
|
|
*pData = 43 |
|
pData возвращает значение расширенной ошибки принтера. |
|
|
|
*pData = 44 |
|
pData возвращает признак, указывающий, истекла ли смена. Параметр pString возвращает дату и время открытия смены, и ее допустимую длительность в часах. |
|
|
|
*pData = 45 |
|
pData возвращает байты PSTATUS и PPIOCD объединенного статуса принтера. |
|
|
|
*pData = 47 |
|
pString передает адрес электронной почты или номер телефона покупателя. Корректность получаемых данных не проверяется. |
|
|
|
*pData = 48 |
|
pString возвращает номер текущей подверсии прошивки принтера в символьном виде. |
|
. |
|
Для Command = 3 дополнительно доступны следующие значения pData: |
|
|
|
*pData = 101 |
|
pString возвращает значение строки состояния ФН в шестнадцатеричном виде. |
|
|
|
*pData = 103 |
|
pString возвращает значение строки статуса информационного обмена ФН в шестнадцатеричном виде. |
|
|
|
*pData = 104 |
|
pString возвращает значение заводского номера ФН. |
|
|
|
*pData = 201 |
|
pString возвращает значение строки статуса информационного обмена ФН в шестнадцатеричном виде, а pData возвращает данные информационного обмена (побайтно): состояние фазы жизни, тип текущего документа, состояние смены, сведения о данных документа |
|
|
|
*pData = 210 |
|
pData возвращает номер последнего фискального документа. |
|
|
|
Расширенный режим работы драйвера |
|
Общие сведения |
|
Данный режим поддерживается, начиная с версии 1.0.0.5. |
|
|
|
|
|
|
|
Цель введения данного режима – обеспечить поддержку для программ, печатающих произвольную текстовую информацию на фискальном чеке. Произвольная информация выводится на чек как товарные позиции с нулевой ценой. |
|
|
|
Свойства и методы OPOS, поддерживаемые в расширенном режиме |
|
|
|
Цель введения данного режима – обеспечить поддержку для программ, печатающих произвольную текстовую информацию на фискальном чеке. Произвольная информация выводится на чек как товарные позиции с нулевой ценой. |
|
|
|
В расширенном режиме следующие свойства имеют специфические значения: |
|
|
|
CapAdditionalLines = TRUE MessageLength = 42 |
|
Значение свойства MessageLength не зависит от модели фискального принтера и всегда равняется 42. Если передаваемое в метод PrintRecMessage значение не может быть распечатано на одной строке, оно разбивается на 2 строки, каждая из которых выводится на фискальный принтер как товарная позиция с нулевой ценой |
|
|
|
Дополнительно поддерживаются методы: |
|
|
|
PrintRecMessage |
|
Особенности работы в расширенном режиме |
|
|
|
В расширенном режиме работы при инициализации драйвера сбрасываются следующие настройки печати чека: Печать счетчика покупок Печать " * " перед суммой |
|
|
|
При вызове метода PrintRecTotal не происходит немедленной подачи команд оплаты на принтер, драйвер только запоминает переданные параметры. |
|
|
|
Печать строк, переданных параметром в метод PrintRecMessage и команд оплаты происходит в методе EndFiscalReceipt. |
|
|
|
Параметр Description, передаваемый в метод PrintRecSubtotalAdjustment не игнорируется. Строка, переданная через этот параметр, печатается на чеке как товарная позиция с нулевой ценой. |
|
|
|
В расширенном режиме свойство PrinterState после вызова метода PrintRecTotal всегда имеет значение FPTR_PS_FISCAL_RECEIPT_ENDING, независимо от того, покрыла ли оплата итог чека или нет. |
|
|
|
В процессе оформления фискального чека возможны не более 8 вызовов PrintRecTotal. |
|
|
|
Возможно не более 1024 вызовов функции PrintRecMessage внутри одного чека. |
|
|
|
Отключается режим использования налоговых цепочек. |
|
|
Хотите оптимизировать расходы и улучшить свое предприятие? Закажите автоматизацию вашего бизнеса на сайте Группы Компаний ККС.