Petroglif

Протокол взаимодействия Papyrus и оборудования

Введение

Для взаимодействия устройства и Papyrus в драйвере устройства должна быть реализована экспортируемая функция RunCommand (const char * pCmd, const char * pInputData, char * pOutputData, size_t outSize). В параметре pCmd передается команда в символьном виде, которую должно выполнить устройство. В pInputData -- параметры передаваемой команды. В главе “Основные команды” описаны команды и параметры, которые должны поддерживать все устройства из данного руководства. Также отдельный класс устройств имеет свой набор команд и параметров, о чем подробнее написано в главе “Команды для работы с устройствами”. Получив файл драйвера, необходимо сделать о нем запись в ini-файле каталога Papyrus . Об это подробно написано в главе “Завершающая стадия. Запись в ini-файл”.

Экспортируемая функция

Синтаксис
RunCommand (const char * pCmd, const char * pInputData, char * pOutputData, size_t outSize)

Входные параметры (устанавливает Papyrus )

pCmd
Имя команды на выполнение.
pInputData
Перечень параметров, необходимых для выполнения команды. Параметры представляют собой пары “ПАРАМЕТР=значение”, разделенные “”.
outSize
Размер строки pOutputData.
Выходные параметры (устанавливает драйвер)
pOutputData
Результат выполнения команды. Это может быть пустая строка, перечень возвращаемых параметров, код ошибки.
Возвращаемые значения
0
Успешное выполнение команды.
1
Ошибка выполнения команды (в pOutputData передается код ошибки).
2
Недостаточный размер выходного буфера pOutputData.
Коды ошибок, передаваемые в pOutputData (для некоторых классов устройств существуют дополнительные коды ошибок, которые перечислены в разделах описания этих классов)
300
Не достаточно параметров для работы устройства.
301
Передана неизвестная команда.
302
Ошибка инициализации.
303
Соединение не установлено.

Порядок взаимодействия Papyrus и устройства

На каждую посланную драйверу команду должен прийти ответ.
Напрмер, Papyrus отправил команду на соединение
RunCommand («CONNECT», «PORT=1234», pOutputData, outSize).
В случае, если команда выполнена успешно, драйвер возвращает код возврата =0 и команду вида:
RunCommand («CONNECT», 0, 0, outSize).
Если же возникла ошибка, то драйвер возвращает код =1 и команду вида:
RunCommand («CONNECT», 0, «303», outSize),
где 303 -- код ошибки. Если возникшая ошибка описана в данном руководстве, то передается указанный код. В противном случае, передается тот код, который описан в протоколе устройства.
Papyrus может запросить описание последней возникшей ошибки. Тогда он отправит команду вида:
RunCommand («GETLASTERRORTEXT», 0, pOutputData, outSize).
На это, исходя из предыдущего примера, драйвер ответит командой вида:
RunCommand («GETLASTERRORTEXT», 0, «Соединение не установлено», outSize).
Если размера буфера pOutputData, указанного в outSize, не хватает для передачи ответа, то драйвер возвращает код =2.

Команды

ОБЩИЕ КОМАНДЫ

INIT
Команда инициализации устройства. (стр. link)
RELEASE
Освобождение устройства. Устройство обнуляет все параметры, которые были переданы ему на этапе инициализации. (стр. link)
CONNECT
Команда на установку соединения с устройством. (стр. link)
DISCONNECT
Команда на закрытие соединения с устройством. (стр. link)
SETCONFIG
Papyrus передает устройству пары “ПАРАМЕТР=значение”. (стр. link)
GETCONFIG
Papyrus запрашивает значения перечисленных параметров. (стр. link)
GETLASTERRORTEXT
Papyrus запрашивает текст описания последней ошибки. (стр. link)

ВЕСЫ

SENDPLU
Загружает на весы информацию о товаре. (стр. link)
GETDATA
Получает данные с весов. (стр. link)

СИНХРОННЫЕ КАССЫ

CHECKSESSOVER
Проверка на то, что сессия длиться больше 24 часов. (стр. link)
XREPORT
Печать X-отчета. (стр. link)
ZREPORT
Печать Z-отчета. (стр. link)
OPENBOX
Открыть денежный ящик. (стр. link)
OPENCHECK
Открыть чек. (стр. link)
CLOSECHECK
Закрыть и распечатать чек. (стр. link)
PRINTFISCAL
Печать фискальной строки. (стр. link)
PRINTTEXT
Печать текста. (стр. link)
ANNULATE
Аннулировать документ. (стр. link)
INCASHMENT
Внесение/изъятие наличности. (стр. link)
GETCHECKPARAM
Получить параметры текущего документа. (стр. link)
CLEARSLIPBUF
Отчистить буфер подкладного документа. (стр. link)
FILLSLIPBUF
Заполнение буфера подкладного документа строками для печати. (стр. link)
PRINTSLIPDOC
Печать подкладного документа. (стр. link)
GETECRSTATUS
Вернуть статус ККМ (состояние печатающего устройства). (стр. link)
CONTINUEPRINT
Продолжить печать документа. (стр. link)

PRICE CHECKERS

SENDBARCODE
Устройство передает Papyrus штрихкод товара. (стр. link)
PRINTTEXT
Передает на устройство информацию о запрошенном товаре. (стр. link)
NEXTLINE
Перевести курсор на следующую строку. (стр. link)
CLEAR
Отчистить экран. (стр. link)
SETPIXELPOS
Установить начальную позицию пикселя текста. (стр. link)
SETCURSORPOS
Установить начальную позицию курсора. (стр. link)

ДИСПЛЕИ ПОКУПАТЕЛЕЙ

PUTLINE
Вывести текст. При этом указанная строка сначала должна быть очищена самим устройством. (стр. link)
CLEARDISPLAY
Очистить экран. (стр. link)

Основные команды

INIT

Команда инициализации устройства.
Входные параметры
Отсутствуют.
Выходные параметры
pOutputData
В случае успешного выполнения команды - пустая строка, иначе - код ошибки.

RELEASE

Освобождение устройства. Устройство обнуляет все параметры, которые были переданы ему на этапе инициализации.
Входные параметры
Отсутствуют.
Выходные параметры
pOutputData
В случае успешного выполнения команды - пустая строка, иначе - код ошибки.

CONNECT

Команда на установку соединения с устройством.
Входные параметры
pInputData
PORT и BAUDRATE (номер порта/IP-адрес и скорость обмена). В зависимости от того, к какому классу принадлежит устройстово, передается либо один параметр, либо два. Подробнее на стр. link, link, link, link.
Выходные параметры
pOutputData
В случае успешного выполнения команды - пустая строка, иначе - код ошибки.

DISCONNECT

Команда на закрытие соединения с устройством.
Входные параметры
Отсутствуют.
Выходные параметры
pOutputData
В случае успешного выполнения команды - пустая строка, иначе - код ошибки.

SETCONFIG

Papyrus передает устройству пары “ПАРАМЕТР=значение”, которые определены в системе и соответствуют конкретному классу устройств. Если параметр драйверу устройства не известен, то драйвер пропускает его.
Входные параметры
pInputData
Зависит от конкретного класса устройств. Возможные параметры и их значения перечислены в разделах описания работы с конкретными устройствами. Подробнее на стр. link, link.
Выходные параметры
pOutputData
В случае успешного выполнения команды - пустая строка, иначе - код ошибки.

GETCONFIG

Papyrus запрашивает значения параметров. На этот запрос драйвер должен вернуть все параметры, перечисленные в данном документе в разделе описания работы с данным классом устройств. Возвращаемые параметры перечисляются через “” в виде пар “ПАРАМЕТР=значение”.
Входные параметры
Отсутствуют.
Выходные параметры
pOutputData
В случае успешного выполнения команды пары “ПАРАМЕТР=значение”, иначе - код ошибки. Возможные параметры и их значения перечислены в разделах описания работы с конкретными устройствами. Подробнее на стр. link, link.

GETLASTERRORTEXT

Papyrus запрашивает текст описания последней ошибки.
Входные параметры
Отсутствуют.
Выходные параметры
pOutputData
Текст ошибки.

Команды для работы с устройствами

Весы

(Возможно, потребуются еще команды и параметры. Пока не совсем ясно где и какие параметры обязательны.)

Параметры общих команд

CONNECT

Входные параметры
PORT
(число/строка) Обязательный параметр. Номер COM-порта или IP-адрес.
BAUDRATE
(число) Обязательный параметр. Скорость обмена. Возможные значения смотри ниже.
Выходные параметры
Отсутствуют.
Значения параметра BAUDRATE
0
Скорость обмена 2400 бод.
1
Скорость обмена 4800 бод.
2
Скорость обмена 9600 бод.
3
Скорость обмена 14400 бод.
4
Скорость обмена 19200 бод.
5
Скорость обмена 38400 бод.
6
Скорость обмена 56000 бод.
7
Скорость обмена 57600 бод.
8
Скорость обмена 115200 бод.
9
Скорость обмена 128000 бод.
10
Скорость обмена 256000 бод.

Papyrus посылает:
RunCommand («CONNECT», «PORT=1234;BAUDRATE=1», pOutputData, outSize)

SETCONFIG

Входные параметры
LOGNUM
(число) Обязательный параметр. Логический номер устройства.
PROTOCOLVER
(число) Обязательный параметр. Версия протокола обмена.
PREFIXBC
(число) Обязательный параметр. Префикс штрихкода.
STRIPWP
(число) Обязательный параметр. Игнорировать весовой префикс. Возможные значения смотри ниже.
READNUMTRIES
(число) Обязательный параметр. Количество попыток чтения из порта.
READNUMDELAY
(число) Обязательный параметр. Задержка между попытками чтения из порта (мс).
WRITENUMTRIES
(число) Обязательный параметр. Количество попыток записи в порт.
WRITENUMDELAY
(число) Обязательный параметр. Задержка между попытками записи в порт (мс).
Выходные параметры
Отсутствуют.
Значения параметра STRIPWP
0
Не игнорировать префикс.
1
Игнорировать префикс.

Papyrus посылает:
RunCommand («SETCONFIG», «LOGNUM=1; PROTOCOLVER=20; PREFIXBC=7; STRIPWP=0; READNUMTRIES=400; READNUMDELAY=5; WRITENUMTRIES=400; WRITENUMDELAY=5», pOutputData, outSize)

Дополнительные команды

SENDPLU

Загружает на весы информацию о товаре.
Входные параметры
GOODNUMBER
(число) Обязательный параметр. Номер товара.
GROUPCODE
(число) Обязательный параметр. Номер группы товаров.
GOODNAME
(строка) Обязательный параметр. Наименование товара. (кодировка CP886)
PRICE
(число) Обязательный параметр. Цена реализации товара в копейках.
EXPIRY
(строка) Обязательный параметр. Дата окончания срока годности в формате дд.мм.гг.
BARCODE
(число) Обязательный параметр. Штрихкод.
ADDMESSAGE
(строка) Необязательный параметр. Дополнительная информация о товаре. (кодировка CP886)
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («SENDPLU», «GOODNUMBER=12; GROUPCODE=1; GOODNAME=Конфеты "Белочка"; PRICE=6400; EXPIRY=12.12.12; BARCODE=123456789», pOutputData, outSize)

GETDATA

Получает данные с весов.
Входные параметры
Отсутствуют.
Выходные параметры
GOODNUMBER
(число) Обязательный параметр. Номер товара.
WEIGHT
(число) Обязательный параметр. Вес товара в граммах.

Papyrus посылает:
RunCommand («GETDATA», 0, pOutputData, outSize)
Драйвер отвечает:
RunCommand («GETDATA», 0, «GOODNUMBER=12; WEIGHT=450», outSize)

Синхронные кассы

Параметры общих команд

CONNECT

Входные параметры
PORT
(число) Обязательный параметр. Номер COM-порта.
BAUDRATE
(число) Обязательный параметр. Скорость обмена. Возможные значения смотри ниже.
Выходные параметры
Отсутствуют.
Значения параметра BAUDRATE
0
Скорость обмена 2400 бод.
1
Скорость обмена 4800 бод.
2
Скорость обмена 9600 бод.
3
Скорость обмена 14400 бод.
4
Скорость обмена 19200 бод.
5
Скорость обмена 38400 бод.
6
Скорость обмена 56000 бод.
7
Скорость обмена 57600 бод.
8
Скорость обмена 115200 бод.
9
Скорость обмена 128000 бод.
10
Скорость обмена 256000 бод.

Papyrus посылает:
RunCommand («CONNECT», «PORT=1234; BAUDRATE=1», pOutputData, outSize)

SETCONFIG

Входные параметры
LOGNUM
(число) Обязательный параметр. Логический номер устройства.
AUTOCASHNULL
(число) Обязательный параметр. Автоматическое обнуление наличности. Возможные значения смотри ниже.
SESSIONID
(число) Обязательный параметр. Номер текущей сессии.
CSHRNAME
(строка) Обязательный параметр. Имя кассира. (кодировка CP886)
ADMINNAME
(строка) Обязательный параметр. Имя администратора. (кодировка CP886)
ADMINPASSWORD
(строка) Обязательный параметр. Пароль администратора. (кодировка CP886)
FLAGS
(число) Обязательный параметр. Флаги. Передаются в десятичном виде. Возможные значения смотри ниже.
PRINTLOGO
(число) Обязательный параметр. Печатать логотип. Возможные значения смотри ниже.
Выходные параметры
Отсутствуют.
Значения параметра AUTOCASHNULL
0
Не обнулять.
1
Обнулять.
Значения параметра FLAGS
0x00000008
Не активировать первую строку чека.
0x00000010
Открывать денежный ящик при пробивке чека.
0x00000100
Округлять в чеке % скидки до целого.
0x08000000
Не использовать отрезчик чеков.
Значения параметра PRINTLOGO
0
Не печатать логотип на документах.
1
Печатать логотип.

Papyrus посылает:
RunCommand («SETCONFIG», «LOGNUM=1; SESSIONID=2; AUTOCASHNULL=1; CSHRNAME=Кассир; ADMINNAME=Старший кассир; ADMINPASSWORD=Пароль; FLAGS=24; PRINTLOGO=0», pOutputData, outSize)

Дополнительные команды

CHECKSESSOVER

Проверка на то, что сессия длиться больше 24 часов.
Входные параметры
Отсутствуют.
Выходные параметры
0
Cессия длится меньше 24 часов.
1
Cессия длится больше 24 часов.

Papyrus посылает:
RunCommand («CHECKSESSOVER», 0, pOutputData, outSize)
Драйвер отвечает:
RunCommand («CHECKSESSOVER», 0, «0» (или «1»), outSize)

XREPORT

Печать X-отчета.
Входные параметры
Отсутствуют.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («XREPORT», 0, pOutputData, outSize)

ZREPORT

Печать Z-отчета.
Входные параметры
Отсутствуют.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («ZREPORT», 0, pOutputData, outSize)

OPENBOX

Открыть денежный ящик.
Входные параметры
DRAWERNUM
(число) Обязательный параметр. Номер денежного ящика.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («OPENBOX», «DRAWERNUM=1», pOutputData, outSize)

OPENCHECK

Открыть чек.
Входные параметры
CHECKTYPE
(число) Обязательный параметр. Тип документа. Возможные значения смотри ниже.
CHECKNUM
(число) Обязательный параметр. Текущий номер документа.
Выходные параметры
Отсутствуют.
Значения параметра CHECKTYPE
0
Сервисный.
1
Чек на продажу.
2
Чек на возврат.
3
Внесение в кассу.
4
Изъятие наличности.

Papyrus посылает:
RunCommand («OPENCHECK», «CHECKTYPE=1; CHECKNUM=12», pOutputData, outSize)

CLOSECHECK

Закрыть и распечатать чек.
Входные параметры
PAYMCASH
(число) Сумма наличных, принятая от покупателя в рублях (при этом количество знаков после десятичной точки может быть любым).
PAYMCARD
(число) Сумма по карте, принятая от покупателя в рублях (при этом количество знаков после десятичной точки может быть любым).
Обязательно использование хотя бы одного параметра. В случае, если оплата произведена и по карте и наличными, то передаются оба параметра.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («CLOSECHECK», «PAYMCASH=10.5», pOutputData, outSize)

PRINTFISCAL

Печать фискальной строки.
Входные параметры
RIBBONPARAM
(число) Обязательный параметр. На какой носитель печатать. Возможные значения смотри ниже.
DEPARTMENT
(число) Обязательный параметр. Номер отдела.
QUANTITY
(число) Обязательный параметр. Количество товара в товарной позиции.
PRICE
(число) Обязательный параметр. Цена реализации товара в рублях (при этом количество знаков после десятичной точки может быть любым).
Выходные параметры
Отсутствуют.
Значения параметра RIBBONPARAM
0
Чековая лента.
1
Контрольная чековая лента.
2
Фискальная память.
3
Подкладной документ.

Papyrus посылает:
RunCommand («PRINTFISCAL», «RIBBONPARAM=0; DEPARTMENT=1; QUANTITY=5; PRICE=10», pOutputData, outSize)

PRINTTEXT

Печать текста.
Входные параметры
RIBBONPARAM
(число) Обязательный параметр. На какой носитель печатать. Возможные значения смотри ниже.
TEXT
(строка) Обязательный параметр. Строка, которую нужно напечатать. (кодировка CP886)
FONTSIZE
(число) Обязательный параметр. Номер шрифта. Возможные значения смотри ниже.
Выходные параметры
Отсутствуют.
Значения параметра RIBBONPARAM
0
Чековая лента.
1
Контрольная чековая лента.
2
Фискальная память.
3
Подкладной документ.
Значения параметра FONTSIZE
1
Очень мелкий.
2
Мелкий.
3
Средний.
4
Крупный.
5
Очень крупный.

Papyrus посылает:
RunCommand («PRINTTEXT», «RIBBONPARAM=0; TEXT="Скидка 5%"; FONTSIZE=3», pOutputData, outSize)

ANNULATE

Аннулировать документ.
Входные параметры
Отсутствуют.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («ANNULATE», 0, pOutputData, outSize)

INCASHMENT

Внесение/изъятие наличности.
Входные параметры
AMOUNT
(число) Обязательный параметр. Сумма изъятия/внесения в рублях (при этом количество знаков после десятичной точки может быть любым).
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («INCASHMENT», «AMOUNT=5000.55», pOutputData, outSize)

GETCHECKPARAM

Получить параметры текущего документа.
Входные параметры
Отсутствуют.
Выходные параметры
CASHAMOUNT
(число) Обязательный параметр. Сумма наличности в кассе в рублях (при этом количество знаков после десятичной точки может быть любым).
RIBBONPARAM
(число) Обязательный параметр. Какой носитель выбран для печати. Возможные значения смотри ниже.
CHECKNUM
(число) Обязательный параметр. Текущий номер документа.
Значения параметра RIBBONPARAM
0
Чековая лента.
1
Контрольная чековая лента.
2
Фискальная память.
3
Подкладной документ.

Papyrus посылает:
RunCommand («GETCHECKPARAM», 0, pOutputData, outSize)
Драйвер отвечает:
RunCommand («GETCHECKPARAM», «CASHAMOUNT=55.25; RIBBONPARAM=0; CHECKNUM=1», pOutputData, outSize)

CLEARSLIPBUF

Отчистить буфер подкладного документа.
Входные параметры
Отсутствуют.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («CLEARSLIPBUF», 0, pOutputData, outSize)

FILLSLIPBUF

Заполнение буфера подкладного документа строками для печати.
Входные параметры
STRNUM
(число) Обязательный параметр. Номер строки подкладного документа.
TEXT
(строка) Обязательный параметр. Строка, которую нужно напечатать. (кодировка CP886)
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («FILLSLIPBUF», «STRNUM=1; TEXT=Печать документа», pOutputData, outSize)

PRINTSLIPDOC

Печать подкладного документа.
Входные параметры
Отсутствуют.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («PRINTSLIPDOC», 0, pOutputData, outSize)

GETECRSTATUS

Вернуть статус ККМ (состояние печатающего устройства).
Входные параметры
Отсутствуют.
Выходные параметры
STATUS
(число) Обязательный параметр. Флаг статуса ККМ. Передается в десятичном формате. Возможные значения сморти ниже.
Значения параметра STATUS
0x00
Нет печати.
0x01
Нет бумаги.
0x02
Ожидание команды на продолжение печати.
0x04
Режим печати.
0x08
Открыт чек.

Papyrus посылает:
RunCommand («GETECRSTATUS», 0, pOutputData, outSize)
Драйвер отвечает:
RunCommand («GETECRSTATUS», «STATUS=9», pOutputData, outSize)
STATUS=9
Значит, что открыт чек и в принтере нет бумаги.

CONTINUEPRINT

Продолжить печать документа.
Входные параметры
Отсутствуют.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («CONTINUEPRINT», 0, pOutputData, outSize)

Дополнительные коды ошибок

Ниже перечислены специфические ошибки, коды которых должен знать драйвер. В случае возникновения, код ошибки передается в pOutputData.
400
Буфер подкладного документа пуст.
401
Некорректное состояние ЭКЛЗ.
402
ЭКЛЗ или ФП переполнена.
403
Ошибка ЭКЛЗ. Просьба обратиться в ЦТО.

Price Checkers

Основные команды

CONNECT

Входные параметры
PORT
(строка) Обязательный параметр. IP-адрес.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («CONNECT», «PORT=127.0.0.1», pOutputData, outSize)

GETCONFIG

Входные параметры
Отсутствуют.
Выходные параметры
DISPLAYWIDTH
(число) Обязательный параметр. Ширина дисплея в пикселях.
DISPLAYHEIGHT
(число) Обязательный параметр. Высота дисплея в пикселях.
LINECOUNT
(число) Обязательный параметр. Число строк, которое можно вывести на дисплей.
SYMBCOUNT
(число) Обязательный параметр. Количество символов в строке.

Papyrus посылает:
RunCommand («GETCONFIG», 0, pOutputData, outSize)
Драйвер отвечает:
RunCommand («GETCONFIG», «DISPLAYWIDTH=200; DISPLAYHEIGHT=50; LINECOUNT=2; SYMBCOUNT=20», pOutputData, outSize)

Дополнительные команды

SENDBARCODE

Устройство передает Papyrus штрихкод товара. После установки соединения Papyrus будет ожидать эту команду.
Входные параметры
Отсутствуют.
Выходные параметры
BARCODE
(число) Обязательный параметр. Штрихкод товара.

Драйвер посылает:
RunCommand («SENDBARCODE», 0, «BARCODE=132456789», outSize)

PRINTTEXT

Передает на устройство информацию о запрошенном товаре.
Входные параметры
TEXT
(строка) Обязательный параметр. Текст, описывающий товар. (кодировка CP886)
ALIGN
(число) Обязательный параметр. Выравнивание текста. Возможные значения смотри ниже.
FONT
(число) Обязательный параметр. Номер шрифта. Возможные значения смотри ниже.
Выходные параметры
Отсутствуют.
Значения параметра ALIGN
1
Слева вверху.
2
По центру вверху.
3
Справа вверху.
4
Слева по центру.
5
По центру.
6
Справа по центру.
7
Слева снизу.
8
Слева по центру.
9
Справа снизу.
10
Слева на текущей строке.
11
По центру на текущей строке.
12
Справа на текущей строке.
13
Сверху на текущей X-координате.
14
По центру на текущей X-координате.
15
Снизу на текущей X-координате.
16
Текущая позиция.
Значения параметра FONT
1
Очень мелкий.
2
Мелкий.
3
Средний.
4
Крупный.
5
Очень крупный.

Papyrus посылает:
RunCommand («PRINTTEXT», «TEXT=Кофеты "Лакомка" ВЕС 200 гр; ALIGN=0; FONT=1», pOutputData, outSize)

NEXTLINE

Перевести курсор на начало следующей строки.
Входные параметры
Отсутствуют.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («NEXTLINE», 0, pOutputData, outSize)

CLEAR

Отчистить экран.
Входные параметры
Отсутствуют.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («CLEAR», 0, pOutputData, outSize)

SETPIXELPOS

Установить позицию пикселя текста.
Входные параметры
XCOORD
(число) Обязательный параметр. Номер пикселя по горизонтали.
YCOORD
(число) Обязательный параметр. Номер пикселя по вертикали.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («SETPIXELPOS», «XCOORD=20; YCOORD=1», pOutputData, outSize)

SETCURSORPOS

Установить позицию курсора.
Входные параметры
XCOORD
(число) Обязательный параметр. Номер позиции в строке.
YCOORD
(число) Обязательный параметр. Номер строки.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («SETCURSORPOS», «XCOORD=20; YCOORD=1», pOutputData, outSize)

Дисплеи покупателей

Основные команды

CONNECT

Входные параметры
PORT
(число) Обязательный параметр. Номер COM-порта.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («CONNECT», «PORT=1234», pOutputData, outSize)

GETCONFIG

Входные параметры
Отсутствуют.
Выходные параметры
STRLEN
(число) Обязательный параметр. Ширина строки в символах.

Papyrus посылает:
RunCommand («GETCONFIG», 0, pOutputData, outSize)
Драйвер отвечает:
RunCommand («GETCONFIG», «STRLEN=20», pOutputData, outSize)

Дополнительные команды

PUTLINE

Вывести текст. При этом указанная строка сначала должна быть очищена самим устройством.
Входные параметры
TEXT
(строка) Обязательный параметр. Текст для вывода на экран. (кодировка CP886)
VERTAB
(число) Обязательный параметр. Переместить курсор по вертикали. Возможные значения смотри ниже.
ALIGN
(число) Обязательный параметр. Выравнивание по горизонтали. Возможные значения смотри ниже.
Выходные параметры
Отсутствуют.
Значения параметра VERTAB
0
На строку вверх.
1
На строку вниз.
2
Текущая позиция.
Значения параметра ALIGN
0
Cлева.
1
Cправа.
2
По центру.
3
Текущая позиция.

Papyrus посылает:
RunCommand («PUTLINE», «TEXT=Конфеты "Лакомка"; VERTAB=3; ALIGN=1», pOutputData, outSize)

CLEARDISPLAY

Очистить экран.
Входные параметры
Отсутствуют.
Выходные параметры
Отсутствуют.

Papyrus посылает:
RunCommand («CLEARDISPLAY», 0, pOutputData, outSize)

Завершающая стадия. Запись в ini-файл

Получив файл драйвера устройства с экспортируемой функцией RunCommand(), необходимо поместить его в каталог PPY/BIN/DRV/ и отметить в файле ppdrv.ini, который находится в каталоге PPY/BIN/. Формат записи следующий:
идентификатор=имя_для_отображения,тип_файла_драйвера,имя_файла_с_расширением
Между элементами записи не должно быть пробелов.
Запись нужно сделать в соответствующей группе устройств. Название группы написано в квадратных скобках. Пояснение к названиям смотри ниже.
К примеру, так запись будет выглядеть для dll-файла синхронной ККМ “ПИРИТ”:

...
pirit-petrogl=DRV:Пирит (Петроглиф),dll,Pirit.dll
...
В примере:
SyncPOS
Запись сделана в группе устройств “синхронные ККМ”.
pirit-petrogl
Идентификатор.
DRV:Пирит (Петроглиф)
Строка, которая будет отображаться в Papyrus для идентификации устройства.
dll
Тип файла драйвера.
Pirit.dll
Имя файла драйвера с расширением.
Группы устройств
SyncPOS
Синхронные ККМ.
AsyncPOS
Асинхронные ККМ.
Scale
Весы.
CustomDisplay
Дисплеи покупателей.

OOO "Петроглиф"
Copyright © 2019