1С:Предприятие 8.2 /
Работа с торговым оборудованием /
Общее
Требования к разработке драйверов для считывателей магнитных карт
Обновлено: 14.02.2008
Введение
Система программ 1С:Предприятие поддерживает обмен данными с различными моделями считывателей магнитных карт по согласованной технологии (рис.1).
Рис.1
Конфигурация системы программ « 1С:Предприятие 8» взаимодействует с обработками обслуживания считывателей магнитных карт.
Обработки обслуживания считывателей магнитных карт взаимодействуют с внешними компонентами для считывателей магнитных карт (драйверами для интеграции с «1С:Предприятие 8»).
Внешняя компонента (далее по тексту «драйвер») может взаимодействовать:
- непосредственно с моделью считывателя магнитных карт;
- с программным обеспечением (АРМ), поставляемым вместе со считывателем магнитных карт;
- с драйвером считывателя магнитных карт низкого уровня, написанным по технологии OLE for POS (OPOS).
Общие требования к драйверу:
Драйвер должен:
- быть разработан в виде внешней компоненты (описание механизма создания внешних компонент приведено в документе « Документация по технологии создания внешних компонент » на диске ИТС в разделе « Технология создания внешних компонент » Методической поддержки 1C:Предприятия 8.1.);
- обеспечить возможность реализации функционала в полном объеме для подключаемого вида оборудования
- предоставлять набор свойств и методов для настройки и управления драйвером в соответствии с опубликованными на диске ИТС в разделе « Работа с торговым оборудованием » Методической поддержки 1С:Предприятия 8.1 требованиями к виду представленного на сертификацию оборудования
- предоставлять русскоязычные и англоязычные названия свойств и методов (например, Порт- Port, Скорость - Speed, Подключить() - Open(), СобытиеОбработано() - EventProcessed() и др.);
- поддерживать множественные подключения (в соответствии с идеологией COM-технологии), а также поддерживать работу с несколькими устройствами, если позволяют бизнес-процессы, в которых используется данное оборудование;
- при возникновении ошибки в работе предоставлять подробное описание произошедшей ошибки, позволяющее пользователю понять причину возникновения ошибки и способ ее устранения;
- при возникновении внештатных ситуаций (некорректные действия пользователя , отсутствие запрашиваемого метода или функции, передача некорректных значений и др.) корректно обрабатывать их. Не должно быть аварийных завершений работы драйвера и прочих некорректных действий драйвера, которые могут привести к нарушению нормальной работы пользователя.
Описание работы с драйвером
Начало работы с драйвером
Система 1С:Предприятие (в дальнейшем "система") инициализирует соединение с драйвером и загружает его. Далее устанавливаются конфигурационные параметры, необходимые для работы. Подключение к устройству выполняется при начале операции с устройством торгового оборудования. После подключения устройства система готова к приему событий от драйвера.
После отправки события драйвер должен приостановить отправку следующего и ожидать команды сверху о возможности продолжения отправки событий. Если результат обработки события положительный, то драйвер инициирует отправку следующего события, в противном случае требуется перепосылка последнего события, того, после которого драйвер приостановился. То есть из старых событий необходимо хранить только последнюю сформированную строку для отправки (при этом в драйвере при поступлении новые данные должны буферизироваться и высылаться по мере освобождения системы). Пример последовательности такой:
• Отправка События 1;
• Получен ответ СобытиеОбработано(Истина);
• Отправка События 2;
• Получен ответ СобытиеОбработано(Истина);
• Отправка События 3;
• Получен ответ СобытиеОбработано(Ложь);
• Отправка События 3;
• Получен ответ СобытиеОбработано(Ложь);
• Отправка События 3;
• Получен ответ СобытиеОбработано(Истина);
• Отправка События 4;
• Получен ответ СобытиеОбработано(Истина);
Завершение работы
Отключение от устройства выполняется при окончании операции с устройством.
Соединение с драйвером закрывается только при завершении работы системы.
Описание свойств
Описание свойств | ||||
---|---|---|---|---|
Название (alias) | Тип | Доступность | Описание | |
Чтение | Запись | |||
Описание методов
Описание методов | |||||
---|---|---|---|---|---|
Название (alias) | Параметры | Описание | |||
Имя | Тип | Описание | |||
ПолучитьНомерВерсии (GetVersion) | - | - | - | BSTR | Возвращает номер версии драйвера |
ПолучитьОшибку(GetLastError) | ОписаниеОшибки (ErrorDescription) | BSTR [OUT] | Описание ошибки | LONG | Возвращает код и описание последней произошедшей ошибки |
Подключить (Open) | МассивЗначений (Valuesarray) | IDispatch* | Массив значений для настройки подключения | BOOL | Подключает СМК |
ИДУстройства (DeviceID) | BSTR [OUT] | Идентификатор устройства | |||
Отключить (Close) | ИДУстройства (DeviceID) | BSTR [IN] | Идентификатор устройства | BOOL | Отключает СМК |
СобытиеОбработано (EventProcessed) | ИДУстройства (DeviceID) | BSTR [IN] | Идентификатор устройства | BOOL | Оповещает драйвер о том, что событие системой было получено. Параметр " ФлагСостояния " указывает на успешность обработки. |
ФлагСостояния (StateFlag) | BOOL [IN] | Флаг обработки события | |||
ТестУстройства (DeviceTest) | МассивЗначений (Valuesarray) | IDispatch* [IN] | Массив значений для настройки подключения | BOOL | Выполняет пробное подключение и опрос устройства. При успешном выполнении подключения в описании возвращается описание устройства. При отрицательном результате возвращается описание возникшей проблемы при подключении. |
ДополнительноеОписание (additionalDescription) | BSTR [OUT] | Описание результата выполнения теста |
Дополнительное описание:
"МассивЗначений" (пример значений для устройства, подключаемого на последовательном порту)
Тип данных "1С:Предприятия 8" - Массив.
Наименование параметра | Наличие в структуре | Типы данных | Описание параметра |
---|---|---|---|
Порт (Port) | Обязательное | LONG | Номер последовательного порта (1 соответствует порту COM1) |
Скорость (Speed) | Необязательно | LONG | Скорость последовательного порта, на которой подключается устройство (передается непосредственно значение 9600, 19200, 57600, 115200 и т.д.) |
Четность (Parity) | Необязательно | LONG | Задает значение, определяющее метод контроля четности при работе с периферийным устройством по COM-порту (Значения: 0 - "Нет", 1 - "Нечетность", 2 - "Четность", 3 - "Установлен", 4 - "Сброшен") |
БитыДанных (DataBits) | Необязательно | LONG | Задает значение, определяющее количество бит данных при работе с периферийным устройством по COM-порту (Значения: 7, 8) |
СтопБиты (StopBits) | Необязательно | LONG | Задает значение, определяющее количество стоповых бит при работе с периферийным устройством по COM-порту (Значения: 1, 2) |
Чувствительность (Sensitivity) | Необязательно | LONG | Задает чувствительность клавиатурного ввода при работе с периферийным устройством через клавиатурный порт |
ПрефиксМК (CodePrefix) | Необязательно | BSTR | Устанавливает префикс кода магнитной карты |
СуффиксМК (CodeSuffix) | Обязательное | BSTR | Устанавливает суффикс кода магнитной карты |
Внешние события от драйвера
Во время подключения драйвер возвращает параметр "Идентификатор устройства". Данный параметр используется в дальнейшем драйвером для указания источника события (устройства) при отправке события, а также конфигурациями для определения связанной с событием обработки обслуживания. Идентификатор устройства должен быть уникальным для каждого подключения, для этого предлагается вести сопоставление «Подключенное устройство – Идентификатор устройства», добавляя новые строки при подключении к устройству и удаляя при отключении от него. Т.е. драйвер при вызове метода Подключить() должен сформировать новый идентификатор устройства (предлагается в качестве имени использовать GUID в виду простоты его получения программным путем) и передать в выходном параметре.
При наступлении событий в драйвере в систему можно посылать сообщение о возникновении внешнего события. При посылке сообщения о внешнем событии необходимо указать: источник события (Идентификатор устройства), наименование (тип) события и данные.
Описание аргументов событий
Имя события – "ЧтениеКодаМагнитнойКарты" ("CodeReading")
Данные – значение считанного кода магнитной карты без префикса и суффикса. Для передачи данных используется тип данных "Строка" (BSTR).
Имя события – "ОшибкаВДрайвере" ("Error")
Данные – описание ошибки.
Событие наступает, если в процессе работы драйвера возникли ошибки.
Другие материалы по теме:
флагсостояния, отправка, массивзначений, работа с торговым оборудованием, идентификатор устройства, технология создания внешних компонент, 232, устройство, внешняя компонента, 1с:предприятия 8, истина, торговое оборудование, драйвер, ошибки, система, обработка, настройки, наименование, предприятие, работы, данные, значение
Материалы из раздела: 1С:Предприятие 8.2 / Работа с торговым оборудованием / Общее
Другие материалы по теме:
Требования к разработке драйверов для сканеров штрихкодов
Общесистемные механизмы и принципы
Требования к разработке драйверов для терминалов сбора данных
Нас находят: требования к считывателю тахографических карт, считыватель магнитных карт взаимодействие, силикон лабс и драйвера считывателей магнитных карт, подключение считывателя магнитных карт к программе, Параметр ValuesArray предназначен для передачи драйверу значений для настройки подключения оборудования, обработка для считывателя магнитных карт, Обработка внешнего события от считывателя банковских карт в 1с 8, обработка 1C для считывателя магнитных карт, настройка считывателя магнитных карт 1с 8 2, магниты с драйверов
Мы на Facebook