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

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

Система програм 1С:Підприємство підтримує обмін даними з різними моделями фіскальних реєстраторів за узгодженою технологією (рис.1).Вступ. Внесення/вилучення суми. Друк звіту за касову зміну з гасінням (<span lang="en-us">Z-</span>звіт) і без гасіння (<span lang="en-us">X</span>-звіт). Завершення роботи

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

Вступ

Внесення/вилучення суми

Друк звіту за касову зміну з гасінням (Z-звіт) і без гасіння (X-звіт)

Завершення роботи

 

Вступ

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

Конфигурация 1С:Пр дприятие Обработка обслуживания Внешняя компонента Обработка обслуживания Обработка обслужииаиия і і 1 і Внешняя компонента Драйвер Внешняя компонента ш АРМ ПО  л л л Ъ Устройство 1 Устройство / Устройство / Устройство / л М Л

Рис.1

Конфігурація системи програм "1С:Підприємство 8" взаємодіє з обробками обслуговування фіскальних реєстраторів.

Обробки обслуговування фіскальних реєстраторів взаємодіють із зовнішніми компонентами для фіскальних реєстраторів (драйверами для інтеграції з "1С:Підприємство 8").

Зовнішній компонент (далі за текстом "драйвер") може взаємодіяти:

  • безпосередньо з моделлю фіскального реєстратора;
  • з програмним забезпеченням (АРМ), що постачається разом із фіскальним реєстратором;
  • з драйвером фіскального реєстратора низького рівня, написаним за технологією OLE for POS (OPOS).

Загальні вимоги до драйвера:

Драйвер повинен:

  • бути розроблений у вигляді зовнішнього компонента (опис механізму створення зовнішніх компонентів наведено в документі "Документація з технології створення зовнішніх компонентів" на диску ІТС у розділі "Технологія створення зовнішніх компонентів" Методичної підтримки 1C:Підприємства 8.1.);
  • забезпечити можливість реалізації функціоналу в повному обсязі для підключуваного виду обладнання
  • надавати набір властивостей і методів для налаштування та керування драйвером відповідно до опублікованих на диску ІТС у розділі "Робота з торговим обладнанням" Методичної підтримки 1С:Підприємства 8.1 вимог до виду обладнання, поданого на сертифікацію
  • надавати російськомовні та англомовні назви властивостей і методів (наприклад, Порт- Port, Швидкість - Speed,ЗакритиЧек() - CloseCheck(), НадрукуватиФіскРядок() - PrintFiscalString() та ін.);
  • підтримувати множинні підключення (відповідно до ідеології COM-технології), а також підтримувати роботу з кількома пристроями, якщо дозволяють бізнес-процеси, у яких використовується це обладнання;
  • у разі виникнення помилки в роботі надавати докладний опис помилки, що сталася, який дає змогу користувачу зрозуміти причину виникнення помилки та спосіб її усунення;
  • у разі виникнення позаштатних ситуацій (некоректні дії користувача, відсутність запитуваного методу або функції, передавання некоректних значень та ін.) коректно їх обробляти. Не повинно бути аварійних завершень роботи драйвера та інших некоректних дій драйвера, які можуть призвести до порушення нормальної роботи користувача.

Опис роботи з драйвером

Початок роботи з драйвером

Система 1С:Підприємство (надалі "система") ініціалізує з'єднання з драйвером і завантажує його. Далі встановлюються конфігураційні параметри, необхідні для роботи. Підключення до пристрою виконується на початку операції з пристроєм торгового обладнання.

Внесення/вилучення суми

Друк фіскального/нефіскального чека

Система надсилає команду на відкриття нового чека. Залежно від переданого параметра чек відкривається у фіскальному або нефіскальному режимі. Якщо чек уже відкрито, то, залежно від значення переданого параметра "АнулюватиВідкритийЧек", драйвер анулює (скасовує) попередній чек або повертає помилку, що чек уже був відкритий.

"Друк рядка"

Після закінчення друку відбувається закриття чека. Якщо відкривався фіскальний чек, то під час закриття відбувається друк підсумків і суми оплати та чек відрізається. Якщо відкривався нефіскальний, то відбувається лише відрізання чека. Відрізання чека здійснюється за умови, що ця операція підтримується принтером, в іншому разі достатньо протягнути стрічку на кілька рядків, щоб чек перебував над лінією відриву.

Друк звіту за касову зміну з гасінням (Z-звіт) і без гасіння (X-звіт)

Завершення роботи

Відключення від пристрою виконується після закінчення операції з пристроєм.

З'єднання з драйвером закривається лише під час завершення роботи системи.

Опис властивостей

Опис властивостей

Назва (alias)

Тип

Доступність

Опис

Читання

Запис

Опис методів

Опис методів

Назва (alias)

Параметри

Повернене значення

Опис

Ім'я

Тип

Опис

ОтриматиНомерВерсії (GetVersion) - - - BSTR Повертає номер версії драйвера
ОтриматиПомилку(GetLastError) ОписПомилки
(ErrorDescription)
BSTR [OUT] Опис помилки LONG Повертає код і опис останньої помилки, що сталася
Підключити (Open) МасивЗначень
(Valuesarray)

IDispatch*
[IN]

Масив значень для налаштування підключення

BOOL Підключає фіскальний реєстратор
ІДПристрою (DeviceID) BSTR[OUT] Ідентифікатор пристрою
Відключити (Close) ІДПристрою (DeviceID) BSTR [IN] Ідентифікатор пристрою BOOL Відключає фіскальний реєстратор
НадрукуватиЗвітБезГасіння (PrintXReport) ІДПристрою (DeviceID) BSTR [IN] Ідентифікатор пристрою BOOL Друкує на ФР звіт за зміну без гасіння (не закриває касову зміну)
НадрукуватиЗвітЗГасінням (PrintZReport) ІДПристрою (DeviceID) BSTR [IN] Ідентифікатор пристрою BOOL Друкує на ФР звіт за зміну з гасінням (закриває касову зміну, потребує адміністративних привілеїв)
НадрукуватиЧекВнесенняВилучення (CashInOutcome) ІДПристрою (DeviceID) BSTR [IN] Ідентифікатор пристрою BOOL Друкує на ФР чек внесення/ вилучення (залежить від переданої суми). Сума >= 0 - внесення, Сума < 0 - вилучення.
Сума (amount) DOUBLE [IN] Сума внесення/вилучення
ВідкритиЧек (OpenCheck) ІДПристрою (DeviceID) BSTR [IN] Ідентифікатор пристрою BOOL Відкриває новий чек
ФіскальнийЧек (IsFiscalCheck) BOOL [IN] Ознака фіскального чека
ЧекПовернення (IsReturnCheck) BOOL [IN] Ознакачека повернення
АнулюватиВідкритийЧек (CancelOpenedCheck) BOOL [IN] Ознака автоматичного анулювання раніше відкритого чека
НомерЧека (CheckNumber) LONG [OUT] Номер нового чека
НомерЗміни (SessionNumber) LONG [OUT] Номер відкритої зміни
НадрукуватиФіскРядок (PrintFiscalString) ІДПристрою (DeviceID) BSTR [IN] Ідентифікатор пристрою BOOL Друкує рядок товарної позиції з переданими реквізитами. Знижки/націнки за рядком розраховуються за формулою "Сума - Ціна*Кількість". Якщо отримане значення відрізняється від 0, то в чеку друкується абсолютна (грошова) знижка(<0)/націнка(>0).
Найменування (Name) BSTR [IN] Найменування товару
Кількість (Quantity) DOUBLE [IN] Кількість товару
Ціна (Price) DOUBLE [IN] Ціна одиниці товару (у форматі <Рублі>,<Копійки>)
Сума (amount) DOUBLE [IN] Кінцева сума за позицією чека (з урахуванням усіх знижок/націнок; у форматі <Рублі>,<Копійки>)
Відділ (Department) LONG [IN] Відділ, за яким ведеться продаж
ПДВ (Tax) DOUBLE [IN] ПДВ у відсотках (від 0 до 99,99)
ЗакритиЧек (CloseCheck) ІДПристрою (DeviceID) BSTR [IN] Ідентифікатор пристрою BOOL Закриває чек
ГотівковаОплата (Cash) DOUBLE [IN] Сума готівкової оплати
ОплатаКарткою (PayByCard) DOUBLE [IN] Сума оплати карткою
ОплатаКредитом (PayByCredit) DOUBLE [IN] Сума оплати кредитом
СкасуватиЧек (CancelCheck) ІДПристрою (DeviceID) BSTR [IN] Ідентифікатор пристрою BOOL Скасовує раніше відкритий чек (потребує адміністративних привілеїв)
НадрукуватиНефіскРядок (PrintNonFiscalString) ІДПристрою (DeviceID) BSTR [IN] BOOL Виводить довільний рядок на чекову стрічку
РядокТексту (TextString) BSTR [IN] Рядок із довільним текстом
ВідкритиГрошовуШухляду (OpenCashDrawer) ІДПристрою(DeviceID) BSTR [IN] Логічний номер пристрою, до якого підключено грошову шухляду BOOL

Відкриває грошову шухляду, підключену до фіскального реєстратора.

ТестПристрою (DeviceTest) МасивЗначень
(Valuesarray)

IDispatch*
[IN]

Масив значень для налаштування підключення

BOOL

Виконує пробне підключення та опитування пристрою. У разі успішного виконання підключення в описі повертається опис пристрою. У разі негативного результату повертається опис проблеми, що виникла під час підключення.
ДодатковийОпис (additionalDescription)

BSTR
[OUT]

Опис результату виконання тесту

Додатковий опис :
"МасивЗначень" (приклад значень для пристрою, підключеного на послідовному порту)
Тип даних "1С:Підприємства 8" - Масив.

Найменування параметра Наявність у структуріТипи данихОпис параметра
Порт (Port) Обов'язково LONG Номер послідовного порту (1 відповідає порту COM1). властивість.
Швидкість (Speed) Необов'язково LONG Швидкість послідовного порту, на якій підключається пристрій (передається безпосередньо значення 9600, 19200, 57600, 115200 тощо).
ПарольКористувача (UserPassword) Обов'язково BSTR Пароль звичайного доступу до ФР (призначений для роботи з чеками продажу та внесення/вилучення).
ПарольАдміністратора (adminPassword) Обов'язково BSTR Пароль адміністратора (застосовується там, де потрібні підвищені привілеї, адміністративні, що розширюють права користувача). Під час виконання функцій, що потребують адміністративних привілеїв, "ПарольАдміністратора" порівнюється із заданим у ФР і в разі незбігу функція припиняє виконання та повертає помилку.
Таймаут (Timeout) Обов'язково LONG Час, протягом якого компонента має очікувати відповіді від пристрою під час виконання операцій.
РеєстраційнийНомерККМ (RegNumber) Обов'язково BSTR У властивості зберігається реєстраційний номер ККМ (тільки для читання, заповнюється під час підключення до ФР)
СерійНомерККМ (SerialNumber) Обов'язково BSTR У властивості зберігається серійний номер ККМ (тільки для читання, заповнюється під час підключення до ФР)
ТекстОплатиКарткою (PayByCardText) Необов'язково BSTR У властивості передається текст, що використовується для друку в чеку та описує тип оплати "Карткою"
ТекстОплатиКредитом (PayByCreditText) Необов'язково BSTR У властивості передається текст, що використовується для друку в чеку та описує тип оплати "Кредитом"
Записатися телефоном