Довідковий матеріал

Вимоги до розробки драйверів для сканерів штрихкодів

Система програм 1С:Підприємство підтримує обмін даними з різними моделями сканерів штрихкодів за узгодженою технологією (рис.1).Вступ. . Зовнішні події від драйвера

Вимоги до розробки драйверів для сканерів штрихкодів

Вступ

Зовнішні події від драйвера

 

Оновлено: 14.02.2008

Вступ

Система програм 1С:Підприємство підтримує обмін даними з різними моделями сканерів штрихкодів за узгодженою технологією (рис.1).

Конфигурация 1С:Пр дприятие Обработка обслуживания Внешняя компонента Обработка обслуживания Обработка обслуживания і і 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*
[IN]

Масив значень для налаштування підключення 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 Задає чутливість клавіатурного введення під час роботи з периферійним пристроєм через клавіатурний порт
ПрефіксШК (BarcodePrefix) Необов'язково BSTR Установлює префікс штрихкоду
СуфіксШК (BarcodeSuffix) Обов'язкове BSTR Установлює суфікс штрихкоду

Зовнішні події від драйвера

Під

часпідключеннядрайверповертаєпараметр "Ідентифікаторпристрою". Цейпараметрнадалі використовуєтьсядрайверомдлязазначенняджерелаподії (пристрою) підчаснадсиланняподії, атакожконфігураціямидлявизначенняпов'язаноїзподієюобробкиобслуговування. Ідентифікаторпристроюповиненбутиунікальнимдлякожногопідключення, дляцьогопропонуєтьсявестизіставлення«Підключенийпристрій-Ідентифікаторпристрою», додаючиновірядкипідчаспідключеннядопристроютавилучаючипідчасвідключеннявіднього. ТобтодрайверпривикликуметодуПідключити() повиненсформуватиновийідентифікаторпристрою (пропонуєтьсяяк іменівикористовувати GUID черезпростотуйогоотриманняпрограмнимшляхом) тапередативихідномупараметрі.

У разі настання подій у драйвері до системи можна надсилати повідомлення про виникнення зовнішньої події. Під час надсилання повідомлення про зовнішню подію необхідно вказати: джерело події (Ідентифікатор пристрою), найменування (тип) події та дані.

Опис аргументів подій

Ім'я події – "ЧитанняШтрихкоду" ("BarcodeReading")

Дані – значення зчитаного штрихкоду без префікса та суфікса. Для передавання даних використовується тип даних "Рядок" (BSTR).

Ім'я події – "ПомилкаВДрайвері" ("Error")

Дані – опис помилки.

Подія настає, якщо в процесі роботи драйвера виникли помилки.

Записатися телефоном