sparrowhobby.ru
Советы юриста

Работа с драйвером ФР - Штрих-М - на уровне протокола

Вопрос:

Работа с драйвером ФР Штрих-М на уровне протокола. Для работы со своими фискальными регистраторами компания «Штрих-М» написала свой драйвер «Штрих-М: Драйвер ФР». А для интеграции с программами семейства 1С компании «Штрих-М» пришлось подготовить дополнительный драйвер, который довольно сложно называется: «ПО «ШТРИХ-М: Драйвер ФР» в соответствии с «требованиями к разработке драйверов для фискальных регистраторов» компании 1С». Это предыстория.

А история в том, что, используя драйвер 1С, невозможно выполнить некоторые команды, которые имеет стандартный драйвер «Штрих-М». Например, вывести штрих код. Для решения таких ситуаций, когда возможностей драйвера 1С не хватает, есть несколько решений.

Отказаться от драйвера 1С и полностью перейти на драйвер Штрих-М. В нужные моменты отключать драйвер 1С, подключать драйвер Штрих-М , выполнять нужные команды, отключать драйвер Штрих-М , подключать драйвер 1С.

Использовать низкоуровневые команды с помощью метода DeviceControlHEX. Пункты 1 и 2 мне показались достаточно неудобными, поэтому переходим к пункту 3.

Сначала описание метода, которое дает 1С. DeviceControlHEX (DeviceID, TxData, RxData): WordBool УправлениеУстройствомХекс (ИДУстройства, ВхДанные, ВыхДанные. Команда аналогична команде DeviceControl. Передает низкоуровневую команду устройству. Отличие заключается в том, что входные и выходные данные передаются в виде HEX-строки.

DeviceID: WideString [IN. Последовательность байт команды, передаваемой в ФР. (см. описание протокола). Например, для команды гудок последовательность будет такая (в шестнадцатеричном виде): 13 1E 00 00 00 .

То есть, последовательность начинается с кода команды (в данном случае 13 ), за ним следуют параметры команды (в данном случае пароль оператора: 1E 00 00 00 ). Последовательность задается в виде строки в HEX-формате (разделенные пробелами двузначные шестнадцатеричные числа). RxData: Integer [OUT] ВыхДанные [ВЫХ] Строка с последовательностью байт ответа ФР.

Также возвращается в HEX-формате. Возвращаемое значение: Метод возвращает True в случае успешного выполнения операции, в случае ошибки False.

Теперь можно потренироваться в употреблении этого метода. Приведу пример печати штрих-кода EAN13 с помощью данного метода. Для этого заглянем в мануал под названием Протокол работы ФР . Там написано.

Команда: C2H. Длина сообщения: 10 байт. Пароль оператора (4 байта. Штрих-код (5 байт) 000000000000 999999999999. Ответ: С2H. Длина сообщения: 3 байта. Код ошибки (1 байт. Порядковый номер оператора (1 байт) 1 30. Получаем такую функцию, для печать штрих-кода.

13.06.2017

Юридическая консультация онлайн

Ответы на вопросы

Наумов Н. Ф.
09.06.2017

Добрый день.

sparrowhobby.ru

Похожие вопросы

© 2011-2016 sparrowhobby.ru - Бесплатные консультации юриста.