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

Рис.1
Конфігурація системи програм «1С:Підприємство 8» взаємодіє з обробками обслуговування контрольно-касових машин у режимі «offline».
Обробки обслуговування контрольно-касових машин у режимі «offline» взаємодіють із зовнішніми компонентами для контрольно-касових машин у режимі «offline» (драйверами для інтеграції з «1С:Підприємство 8»).
Зовнішній компонент (далі за текстом «драйвер») може взаємодіяти:
- безпосередньо з моделлю контрольно-касової машини у режимі «offline»;
- з програмним забезпеченням (АРМ), що постачається разом із контрольно-касовою машиною у режимі «offline»;
- з низькорівневим драйвером контрольно-касової машини у режимі «offline», написаним за технологією OLE for POS (OPOS).
Загальні вимоги до драйвера:
Драйвер повинен:
- бути розроблений у вигляді зовнішнього компонента (опис механізму створення зовнішніх компонентів наведено в документі «Документація з технології створення зовнішніх компонентів» на диску ІТС у розділі «Технологія створення зовнішніх компонентів» Методичної підтримки 1C:Підприємства 8.0.);
- забезпечувати можливість реалізації функціоналу в повному обсязі для підключуваного виду обладнання
- надавати набір властивостей і методів для налаштування та керування драйвером відповідно до опублікованих на диску ІТС у розділі «Робота з торговельним обладнанням» Методичної підтримки 1С:Підприємства 8.1 вимог до виду обладнання, представленого на сертифікацію
- надавати російськомовні та англомовні назви властивостей і методів (наприклад, Таймаут - Timeout, ВыгрузитьТовары() - UploadGoods() та ін.);
- підтримувати множинні підключення (відповідно до ідеології COM-технології), а також підтримувати роботу з кількома пристроями, якщо це допускають бізнес-процеси, у яких використовується це обладнання;
- у разі виникнення помилки в роботі надавати докладний опис помилки, що сталася, який дає змогу користувачеві зрозуміти причину виникнення помилки та спосіб її усунення;
- у разі виникнення позаштатних ситуацій (некоректні дії користувача, відсутність запитуваного методу або функції, передавання некоректних значень тощо) коректно їх обробляти. Не повинно бути аварійних завершень роботи драйвера та інших некоректних дій драйвера, які можуть призвести до порушення нормальної роботи користувача.
Опис роботи з драйвером
Початок роботи з драйвером
Система 1С:Підприємство (надалі "система") ініціалізує з'єднання з драйвером і завантажує його. Далі встановлюються конфігураційні параметри, необхідні для роботи. Підключення до пристрою виконується на початку операції з пристроєм торговельного обладнання.
Завершення роботи
Відключення від пристрою виконується після закінчення операції з пристроєм.
З'єднання з драйвером закривається лише під час завершення роботи системи.
Опис властивостей
| Опис властивостей | ||||
|---|---|---|---|---|
| Назва (alias) | Тип | Доступність | Опис | |
| Читання | Запис | |||
Опис методів
| Опис методів | |||||
|---|---|---|---|---|---|
| Назва (alias) | Параметри | Повернене значення | Опис | ||
| Ім'я | Тип | Опис | |||
| ПолучитьНомерВерсии (GetVersion) | - | - | - | BSTR | Повертає номер версії драйвера |
| ПолучитьОшибку(GetLastError) | ОписаниеОшибки (ErrorDescription) |
BSTR [OUT] | Опис помилки | LONG | Повертає код і опис останньої помилки, що сталася |
| Подключить (Open) | МассивЗначений (Valuesarray) |
IDispatch* |
Масив значень для налаштування підключення | BOOL | Підключає ККМ Offline |
| ИДУстройства (DeviceID) | BSTR [OUT] | Ідентифікатор пристрою | |||
| Отключить (Close) | ИДУстройства (DeviceID) | BSTR [IN] | Ідентифікатор пристрою | BOOL | Відключає ККМ Offline |
| ВыгрузитьТовары (UploadGoods) | ИДУстройства (DeviceID) | BSTR [IN] | Ідентифікатор пристрою | BOOL | Вивантажує товари до ККМ |
| ТаблицаТоваров (Goods) |
IDispatch*[IN] |
Таблиця значень з інформацією про товари | |||
| ЗагрузитьОтчет (DownloadReport) | ИДУстройства (DeviceID) | BSTR [IN] | Ідентифікатор пристрою | BOOL | Завантажує звіт про продані товари з ККМ |
|
ТаблицаПродаж (Report) |
IDispatch*[OUT] | Таблиця значень з інформацією про продажі | |||
| ОтчетЗагружен (LoadSuccess) | ИДУстройства (DeviceID) | BSTR [IN] | Ідентифікатор пристрою | BOOL | Драйверу встановлюється прапорець у «Істина», якщо звіт було успішно оброблено, та у «Хибність» у протилежному разі. |
|
ФлагСостояния(StateFlag) |
BOOL [IN] | Ознака успішності обробки звіту | |||
| ОчиститьБазу (PurgeBase) | ИДУстройства (DeviceID) | BSTR [IN] | Ідентифікатор пристрою | BOOL | Очищає базу товарів ККМ |
| ТестУстройства (DeviceTest) | МассивЗначений (Valuesarray) |
IDispatch* [IN] |
Масив значень для налаштування підключення |
BOOL |
Виконує пробне підключення та опитування пристрою. У разі успішного виконання підключення в описі повертається опис пристрою. У разі негативного результату повертається опис проблеми, що виникла під час підключення. |
| ДополнительноеОписание (additionalDescription) | BSTR [OUT] |
Опис результату виконання тесту | |||
Додатковий опис :
"МассивЗначений" (приклад значень для пристрою, підключеного до послідовного порту)
| Найменування параметра | Наявність у структурі | Типи даних | Опис параметра |
|---|---|---|---|
| Порт (Port) | Необов'язково | LONG | Номер послідовного порту (1 відповідає порту COM1). |
| Швидкість (Speed) | Необов'язково | LONG | Швидкість послідовного порту, на якій підключається пристрій (передається безпосередньо значення 9600, 19200, 57600, 115200 тощо) |
| Таймаут (Timeout) | Необов'язково | LONG | Час, протягом якого компонента має очікувати відповіді від пристрою під час виконання операцій. |
"ТаблицаТоваров"
|
Ім'я |
Тип |
Опис |
|---|---|---|
| PLU | LONG | PLU товару |
| Штрихкод (BarCode) | BSTR | Штрихкод товару |
| Номенклатура (Name1) | BSTR | Найменування номенклатури |
| ХарактеристикаНоменклатуры (Name2) | BSTR | Характеристика номенклатури |
| СерияНоменклатуры (Name3) | BSTR | Серія номенклатури |
| ЕдиницаИзмерения (Name4) | BSTR | Одиниця виміру номенклатури |
| Ціна (Price) | DOUBLE | Ціна |
| Залишок (Remainder) | DOUBLE | Залишок товарів |
| ВесовойТовар (IsWeightGoods) | BOOL | Ознака вагового товару |
"ТаблицаПродаж"
| Ім'я | Тип | Опис |
|---|---|---|
| PLU | LONG | PLU товару |
| Ціна (Price) | DOUBLE | Ціна, за якою продано товар |
| Кількість (Quantity) | DOUBLE | Кількість проданого товару |
| Знижка (Discount) | DOUBLE | Відсоток наданої знижки |
| Сума (amount) | DOUBLE | Сума проданого товару (кінцева ціна з урахуванням усіх знижок/націнок) |