Перейти до вмісту

Керівництво програміста "АртСофт - Універсальний драйвер фіскальних реєстраторів для України"

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні

SEO title: АртСофт Універсальний драйвер РРО — документація програміста, COM-інтерфейс, фіскальні реєстратори та інтеграція з K2 ERP SEO description: Документація АртСофт Універсальний драйвер РРО у форматі MediaWiki: встановлення, порядок роботи, COM-об’єкт ArtSoft.FiscalPrinter, продаж, повернення, звіти, емулятор, властивості, обробка помилок, підтримувані фіскальні реєстратори та сценарії інтеграції з K2 ERP. SEO keywords: АртСофт Універсальний драйвер РРО, ArtSoft FiscalPrinter, ArtSoft.FiscalPrinter, драйвер РРО, фіскальний реєстратор, РРО, COM, касове ПЗ, X-звіт, Z-звіт, емулятор фіскального реєстратора, Datecs, Екселліо, Марія, ІКС, MINI-ФП, K2 ERP, інтеграція РРО з ERP Alternative to: самописні драйвери РРО; ручна інтеграція з фіскальними реєстраторами; окреме касове ПЗ без ERP; ручне перенесення продажів; застарілі касові інтеграції; 1С; BAS



АртСофт Універсальний драйвер РРО — універсальний драйвер для інтеграції фіскальних реєстраторів України з касовими, обліковими та ERP-системами через COM-інтерфейс, яка може використовуватися як альтернатива для: самописні драйвери РРО; ручна робота з протоколами фіскальних реєстраторів; окремі касові програми без ERP; ручне перенесення чеків; старі касові інтеграції; 1С; BAS.

Категорії застосування: ArtSoft, АртСофт, РРО, фіскальні реєстратори, касове ПЗ, COM, інтеграції K2 ERP, K2 ERP, K2 Cloud ERP, українське ПЗ, автоматизація торгівлі.


Призначення документації
Ця сторінка є покращеною MediaWiki-версією документації програміста до ПЗ «АртСофт — Універсальний драйвер фіскальних реєстраторів для України». Вона зберігає зміст оригінального документа, але має зручніші розділи, навігацію, кольорові технічні примітки, попередження та акценти для інтеграції з K2 ERP.

Перевага K2 ERP
K2 ERP може використовувати драйвер ArtSoft як частину касового та фіскального контуру: продажі, повернення, фіскальні чеки, X/Z-звіти, службові операції, складські документи, оплати й управлінська аналітика можуть бути пов’язані в одному ERP-процесі.

Технічна примітка
Оригінальна документація описує COM-інтерфейс драйвера, порядок підключення РРО, друк чеків, роботу зі звітами, емулятором і кодами помилок. Перед промисловим запуском інтеграції потрібно перевірити конкретну модель РРО, версію прошивки, параметри підключення, ліцензію драйвера та сценарії продажу/повернення.

Україна, 02094 м. Київ, вул. Вінстона Черчилля, 16 "Б",

тел. (044) 531-37-23 (067) 537-86-92

веб-сайт: www.artsoft.ua e-mail: soft@artsoft.ua

Керівництво програміста "АртСофт - Універсальний драйвер фіскальних реєстраторів для України"

Версія драйвера 7.3

Київ 1999 – 2026

Вступ

АртСофт "Універсальний драйвер реєстраторів" — драйвер, призначений для обміну даними з реєстраторами розрахункових операцій (РРО) з одного боку та з обліковими або касовими програмами з іншого.

Основне завдання драйвера — надати простий і зручний механізм для керування фіскальними реєстраторами. Драйвер дозволяє розробникам використовувати високорівневі команди управління реєстратором, позбавляючи їх складної низькорівневої роботи з реалізації протоколу взаємодії РРО та персонального комп’ютера.

Суть драйвера
Драйвер виступає універсальним програмним посередником між касовою або обліковою програмою та фіскальним реєстратором. Замість роботи з різними протоколами РРО розробник працює з єдиним COM-об’єктом ArtSoft.FiscalPrinter.

Підтримувані моделі фіскальних реєстраторів

Драйвер підтримує широкий перелік фіскальних реєстраторів, зокрема пристрої родин:

Технічна примітка
Перед впровадженням потрібно перевірити не лише модель РРО, а й версію прошивки. Для різних моделей і версій можуть відрізнятися підтримувані команди, поведінка знижок, звітів, оплат, дисплея покупця та службових операцій.

Підтримувані моделі фіскальних реєстраторів
Модель реєстратора Версія реєстратора
Марія 301МТМ Т3; Т3+; Т7; Т10; Т10+; Т11; Т10M; Т11M
Марія-304Т 304T-1; 304T-2; 304Т-3; 304Т-3М; 304Т-4; 304Т-5; 304Т-5M; 304Т-6; 304Т-6M
Марія-304Т1 304T1-1; 304T1-2; 304Т1-3; 304Т1-5; 304Т1-6
Марія-304Т2 304T2-1; 304T2-2; 304T2-3; 304Т2-5; 304Т2-6
Марія-304Т3 304Т3-3; 304Т3-5; 304Т3-6
КСТ-М М-1; M-2; M-3
КСТ-Т4 Т4-6
DATECS FP 3530Т 1.00 UA; 1.10 UA; 1.31 UA; 2.00 UA; 5.2; 5.00; 5.01; 5.03
DATECS FP–3141Т 2.01; 2.03; 2.04
DATECS FP–Т260 2.00 UU; 2.01; 2.01UU; 2.02; 2.03; 4.2; 4.00; 4.01; 5.02
DATECS СМР-10 3.00; 3.01; 3.20
DATECS СМР-10M 4.01; 4.02
DATECS СМР-10L 5.00
DATECS FP–Т88 4.00; 4.01; 5.02; 5.03
DATECS FP–320 FP-320 4.01; FP-320 4.02; 5.02; 5.03
DATECS FP-510 4.00; 4.02
DATECS FP–101 SMART 4.02; 4.03; 5.03
DATECS FP-7197 FP-7197 4.01
KBM FP-S651 1.00 UA; 3.00 UA
KBM FP-СMP10 1.00 UA
ЕКСЕЛЛІО FPU-550 1.00 UA; 3.00 UA; 4.00 UA; 5.00 UA
ЕКСЕЛЛІО FPU-550ES 1.00 UA; 2.00 UA; 3.00 UA; 4.00 UA
ЕКСЕЛЛІО FP-280 1.00 UA; 2.00 UA; 3.00 UA; 4.00 UA
ЕКСЕЛЛІО FPР-350 1.00 UA; 2.00 UA; 3.00 UA; 4.00 UA
ЕКСЕЛЛІО FPU-260 1.00 UA
ЕКСЕЛЛІО LP-1000 2.00 UA; 4.00 UA; 5.00 UA
ЕКСЕЛЛІО FP-700 1.00 UA; 2.00 UA; 3.00 UA; 4.00 UA; 5.00 UA
ЕКСЕЛЛІО FP-2000 1.00 UA; 2.00 UA; 3.00 UA; 4.00 UA; 5.00 UA
IKС-483 LT ОП-01; ОП-02; ОП-06
IKС-Е260Т ЕП-01; ЕП-02; ЕП-05; ЕП-06
ІКС E-810T ЕП-08; ЕП-09; ЕП-11; ЕП-12
ІКС-С651Т MZ-08; MZ-09; MZ-11; MZ-12
ІКС-А8800 MF-08; MF-09
ІКС-Е07 Е7-09; Е7-12
MG-T808TL MG-08; MG-09
MG-Р800TL GР-09
MG N707TS MG-07; MG-07.01; MG-07.02; MG-07.03
MG-Р777TL MG-77; MG-77.01; MG-77.02
MG-T787TL MG-87; MG-87.01; MG-87.02
ФР7 ФР-08; ФР-09
FR90T 315.02; 315.03
FR90X 315.02; 315.03
FR90M 315.02; 315.03
FR90.XM 318.01; 318.02; 318.03
MIНI-ФП4 257.01; 257.02
MIНI-ФП6 257.03; 257.04; 257.05
MINI-Т 400ME 4101-4; 4101-6; 4101-7; 4101-8; 4101-9
MINI-Т 51.01 5101-2; 5101-3; 5101-4
MINI-Т 61.01 6101-2; 6101-3; 6101-4
МІНІ-ФП54.01 5401F1; 5401F2; 5401F3
МІНІ-ФП81.01 8101F1; 8101F2; 8101F3
МІНІ-ФП82.01 8201F1; 8201F2; 8201F3
ВІКІНГ-Р10 1001F1
ВІКІНГ-Р20 2001F1
ВІКІНГ-Р21 2101F1
LeoCAS-200 L200.01; L200.02; L200.03; L200.04; L201.05
LeoCAS-201 L201.01; L201.02; L201.04; L201.05

Основні переваги

  1. Робота драйвера на Windows 7 і вище.
  2. Універсальність роботи з підтримуваними моделями фіскальних реєстраторів.
  3. Швидке та легке підключення необмеженої кількості реєстраторів до одного ПК.
  4. Простий перехід на будь-яку модель реєстратора, що підтримується.
  5. Робота з реєстраторами у термінальному режимі або через TCP/IP.
  6. Самостійне керування кодами артикулів та програмуванням артикулів.
  7. Самостійний контроль властивостей артикулів.
  8. Універсальна обробка помилок реєстраторів.
  9. Протоколювання роботи драйвера та реєстратора.
  10. Наявність вбудованого емулятора фіскального реєстратора.

Перевага для інтеграції з K2 ERP
Універсальний драйвер дозволяє K2 ERP працювати з різними моделями РРО через уніфікований інтерфейс. Це спрощує підтримку касового контуру, особливо для мережевих компаній, магазинів, аптек, ресторанів, складів із точками видачі та омніканальних продажів.

Підтримуване середовище

Драйвер може використовуватися в системах Microsoft Windows з будь-якими мовами програмування та засобами розробки, що підтримують технологію COM.

Приклади середовищ:

  • Microsoft Visual C++;
  • Microsoft Visual Basic;
  • Visual FoxPro;
  • Microsoft Visual C#;
  • Microsoft Office з VBA;
  • Visual Basic Script;
  • Delphi;
  • C++ Builder;
  • 1С:Підприємство;
  • BAS;
  • інші системи, що підтримують COM.

Потокова модель драйвера: Single-threaded apartments або STA.

Драйвер не є Singleton-об’єктом. Це дозволяє одночасно використовувати необмежену кількість копій COM-об’єкта для одночасної роботи з багатьма реєстраторами, зокрема з використанням багатопоточності.

Встановлення ПЗ «АртСофт Універсальний драйвер РРО» у системах Windows

Для інсталяції драйвера необхідно запустити файл:

ArtSoftUniversalDriver.exe

Виберіть мову встановлення АртСофт Універсального драйвера.

Уважно прочитайте ліцензійну угоду. Щоб продовжити встановлення, виберіть «Я приймаю умови угоди». У разі незгоди з угодою виберіть «Я не приймаю умови угоди», після чого подальше встановлення буде припинено.

Виберіть шлях для встановлення драйвера. За замовчуванням драйвер встановлюється в каталог:

C:\Program Files\ArtSoft\FiscalPrinter

Щоб продовжити встановлення, натисніть «Встановити». Щоб перервати інсталяцію, натисніть «Скасувати». Щоб змінити шлях встановлення програми або шляхи для ярликів, натисніть «Назад».

Після завершення встановлення натисніть «Готово». АртСофт Універсальний драйвер встановлено в системі і він готовий до використання.

Технічна примітка
Якщо драйвер використовується на термінальному сервері, інсталяцію потрібно виконувати на сервері. Якщо РРО підключені локально до робочих місць, потрібно окремо перевірити сценарій доступу до COM-порту або TCP/IP-підключення.

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

Увага
Універсальний драйвер АртСофт має захист від несанкціонованого використання. Захист полягає у прив’язці драйвера до заводського номера фіскального реєстратора та моделі фіскального реєстратора. Один інсталяційний файл може містити необмежену кількість ліцензій.

Для придбання програми потрібно оформити заявку на сайті компанії artsoft.ua.

Перед початком роботи

Перед початком роботи необхідно виконати такі дії:

  1. Встановити АртСофт Універсальний драйвер на ПК, до якого підключено реєстратор. У разі роботи з термінальним сервером драйвер встановлюється на сервер.
  2. Визначити тип підключення реєстратора: RS-232 або TCP/IP, а також параметри підключення.
  3. Встановити та перевірити необхідні параметри підключення за допомогою сервісного програмного забезпечення виробника реєстратора.
  4. Протестувати зв’язок реєстратора з ПК за допомогою сервісного програмного забезпечення.
  5. Запрограмувати необхідні для роботи реєстратора параметри: шапку чека, податкові ставки, типи оплат, операторів та паролі операторів за замовчуванням.
  6. Перевірити підключення зовнішнього дисплея реєстратора, якщо він не вбудований.
  7. Перевірити наявність касової стрічки у реєстраторі.
  8. Перевірити, чи не заблокований реєстратор через роботу понад 24 години без Z-звіту.
  9. Перевірити, чи не заблокований реєстратор через ненадсилання даних до податкової інспекції протягом 72 годин.
  10. Перевірити роботу АртСофт Універсального драйвера за допомогою тестових прикладів із комплекту драйвера.
  11. Після успішного налагодження і перевірки використовувати драйвер в обліковій програмі.

Рекомендований тестовий додаток:

C:\Program Files\ArtSoft\FiscalPrinter\Samples\Delphi7\clientDelphi.exe

Критично важливо
Фіскальний реєстратор може блокувати роботу без підключеного дисплея покупця, без касової стрічки, після тривалої роботи без Z-звіту або через ненадсилання даних до податкової. Перед підключенням до K2 ERP потрібно переконатися, що РРО справний, не заблокований і коректно працює через сервісне ПЗ виробника.

Створення COM-об’єкта у Windows

Ім’я об’єкта для створення у клієнтській програмі:

ArtSoft.FiscalPrinter

Приклад для Visual Basic:

fp = CreateObject("ArtSoft.FiscalPrinter")

Приклад для 1С:Підприємство 7.7:

fp = СоздатьОбъект("ArtSoft.FiscalPrinter");

Ініціалізація роботи

Для початку роботи з бібліотекою необхідно:

  1. Викликати функцію start із зазначенням конкретного типу фіскального реєстратора.
  2. Виконати функцію openPort із зазначенням імені послідовного COM-порту та швидкості підключення.
  3. Для реєстраторів із TCP/IP-підключенням використати функцію openPortEx.
  4. Переконатися, що фіскальний реєстратор увімкнений і підключений до ПК або мережі.

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

Для завершення роботи з фіскальним реєстратором необхідно:

  1. Дочекатися завершення останньої функції.
  2. Викликати closePort.
  3. Викликати stop.

Завершення роботи призводить до відключення послідовного порту або закриття TCP/IP-з’єднання.

Швидкий старт інтеграції з K2 ERP

Типовий сценарій K2 ERP + ArtSoft FiscalPrinter

  1. K2 ERP формує документ продажу або касову операцію.
  2. ERP визначає товари, кількість, ціну, податкову групу, знижки та тип оплати.
  3. Інтеграційний модуль створює COM-об’єкт ArtSoft.FiscalPrinter.
  4. Виконується start з потрібною моделлю РРО.
  5. Відкривається COM-порт або TCP/IP-з’єднання.
  6. Відкривається фіскальний чек.
  7. Передаються товарні позиції.
  8. Передається оплата.
  9. Чек закривається.
  10. Номер чека, результат операції та помилки повертаються в K2 ERP.
  11. Дані використовуються для документів, складу, фінансів і управлінської аналітики.

Фіскальний чек продажу та повернення

Чек продажу

Для отримання фіскального чека продажу необхідно:

  1. Відкрити фіскальний чек викликом функції beginFiscalReceipt із зазначенням типу чека «чек продажу» та імені касира.
  2. За потреби додати додаткову інформацію до товару: штрихкод, акцизну марку, код УКТЗЕД.
  3. Виконати необхідну кількість продажів, використовуючи функції printRecItem і printText.
  4. Виконати оплату через printRecTotal, printRecTotalEx або printRecTotalCard.
  5. Закрити фіскальний чек функцією endFiscalReceipt.

Чек повернення

Відмінність чека повернення від чека продажу полягає у вказанні типу чека «чек повернення» у функції beginFiscalReceipt.

Інші виклики функцій відповідають чеку продажу.

Технічна примітка
Для успішного друку чека повернення в реєстраторі повинна бути достатня сума готівкових коштів. Для деяких моделей РРО може враховуватися також безготівковий залишок або інші внутрішні правила реєстратора.

Нефіскальний чек

Для отримання нефіскального чека необхідно:

  1. Відкрити нефіскальний чек функцією beginNonFiscal.
  2. Друкувати необхідну кількість коментарів функцією printNonFiscalText.
  3. Закрити нефіскальний чек функцією endNonFiscal.

Нефіскальний чек призначений для друку додаткової довільної інформації.

X-звіт

Для друку денного звіту без обнулення, X-звіту, достатньо викликати функцію printXReport.

Z-звіт

Для друку денного звіту з обнуленням, Z-звіту, достатньо викликати функцію printZReport.

Звіти за період

Для друку періодичних звітів достатньо викликати функцію printPeriodicReport із зазначенням типу звіту та необхідних параметрів.

Друк копії чека

Для друку копії чека достатньо викликати функцію printDuplicateReceipt.

Службове внесення або вилучення

Для службового внесення або вилучення грошей достатньо виконати функцію printRecCash.

Властивості та обробка помилок

Майже всі функції роботи з фіскальним реєстратором повертають результат виконання логічного типу:

VARIANT_BOOL

Результат може приймати значення:

  • True — функція виконана успішно;
  • False — виникла помилка.

Для детального аналізу помилки використовується властивість LastError, яка містить код результату виконання останньої функції.

Ім’я властивості або функції Тип Опис
LastError Ціле число, тільки для читання Універсальний код останньої помилки для всіх реєстраторів. Код дорівнює нулю у разі успішного виконання функції.
LastErrorEx Ціле число, тільки для читання Код помилки конкретної моделі фіскального реєстратора. Містить код із розширеної таблиці кодів або нуль у разі успішного виконання.
LastErrorText BSTR-рядок, тільки для читання Текст останньої універсальної помилки для всіх моделей фіскальних реєстраторів. Порожній рядок у разі успішного виконання.
LastErrorExText BSTR-рядок, тільки для читання Текст останньої помилки для конкретної моделі фіскального реєстратора. Порожній рядок у разі успішного виконання.
SmenNum Ціле число, тільки для читання Номер зміни фіскального реєстратора, тобто номер Z-звіту.
SN BSTR-рядок, тільки для читання Заводський номер фіскального реєстратора. Властивість доступна після успішного підключення до реєстратора.
CASH Дійсне число, тільки для читання Сума готівки у касі.
LastReceiptNum Ціле число, тільки для читання Номер останнього фіскального чека.
LOWLEVELDATA BSTR-рядок, тільки для читання Низькорівневі дані від РРО, отримані після виконання функції lowLevelCommand або іншої команди РРО.

Рекомендація для розробника
Після кожного виклику функції, яка повернула False, потрібно зчитати LastError, LastErrorText, а для детальнішої діагностики — LastErrorEx і LastErrorExText. Це дозволяє правильно обробляти як універсальні помилки, так і специфічні помилки конкретної моделі РРО.

Емулятор фіскального реєстратора

Емулятор фіскального реєстратора

Універсальний драйвер містить вбудований емулятор фіскального реєстратора. Емулятор призначений для тестування підключення облікових програм до реєстраторів з використанням цього драйвера без фізичної наявності РРО.

Емулятор дозволяє:

  • тестувати касові сценарії без фізичного реєстратора;
  • друкувати чеки на стандартні принтери операційної системи;
  • перевіряти виведення на дисплей покупця;
  • тестувати поведінку програми у випадку помилок;
  • налагоджувати інтеграцію до підключення реального обладнання.

Перевага для K2 ERP
Емулятор дозволяє тестувати інтеграційні сценарії K2 ERP з фіскальним контуром без фізичного РРО: відкриття чека, продаж, повернення, оплати, звіти, помилки, друк і дисплей покупця.

За основу взято зовнішній вигляд чека популярних реєстраторів із протоколом Datecs, зокрема Datecs 3530T та Екселліо. Зовнішній вигляд і вміст чека можуть відрізнятися на інших моделях реєстраторів.

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

Елемент Призначення
Кнопка призначена для увімкнення емулятора дисплея покупця.
Кнопка призначена для увімкнення друку інформації на принтер.
Кнопка призначена для відкриття форми налаштувань емулятора.
Кнопка призначена для включення режиму створення довільних помилок фіскального реєстратора.
Клавіші призначені для прокручування довгих чеків. Можливе використання коліщатка мишки або клавіш керування курсором.

У рядку статусу можна вибрати мову інтерфейсу програми. При цьому друк стандартних елементів чека та звітів виконується обраною мовою.

У рядку статусу відображається інформація про зазначені параметри підключення: COM-порт і швидкість або IP-адреса та порт. Ці дані служать для контролю правильної роботи зовнішньої програми.

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

Ініціалізація

start

VARIANT_BOOL start(LONG PrinterModel)

Призначення: функція призначена для початку роботи драйвера фіскальних реєстраторів.

Параметр: PrinterModel — ціле число, тип фіскального реєстратора.

Значення Моделі фіскальних реєстраторів
0 Усі реєстратори у протоколі Datecs: Datecs FP3530T, ЕКСЕЛЛІО FPU-550, ЕКСЕЛЛІО FPU-550ES, ЕКСЕЛЛІО FP-280, ЕКСЕЛЛІО FPU-260, ЕКСЕЛЛІО LP-1000, ЕКСЕЛЛІО FP-700, ЕКСЕЛЛІО FP-2000, ЕКСЕЛЛІО FPР-350, KBM FP-S651, KBM FP-СMP10
1 Усі реєстратори у протоколі Криптон
2 Марія, КСТ
3 ІКС, MG, ФР7
4 MINI-ФП
5 MINI-Т, МІНІ-ФП, Вікінг
6 MG, FR90 через TCP/IP
7 LeoCAS-200, LeoCAS-201
100 Емулятор фіскального реєстратора

Результат:

  • True — функція виконана успішно;
  • False — виникла помилка.

stop

VARIANT_BOOL stop()

Призначення: функція завершує роботу драйвера фіскальних реєстраторів.

openPort

VARIANT_BOOL openPort(BSTR SerialPortName, LONG SerialPortBaud)

Призначення: функція відкриває послідовний COM-порт для роботи з фіскальним реєстратором.

Параметри:

  • SerialPortName — ім’я COM-порту, наприклад COM1;
  • SerialPortBaud — швидкість підключення.
Значення Швидкість
1 4800 бод
2 9600 бод
3 19200 бод
4 38400 бод
5 57600 бод
6 115200 бод

openPortEx

VARIANT_BOOL openPortEx(BSTR IP, LONG Port)

Призначення: функція відкриває TCP/IP-з’єднання з фіскальним реєстратором.

Параметри:

  • IP — IP-адреса фіскального реєстратора;
  • Port — порт підключення.

closePort

VARIANT_BOOL closePort()

Призначення: функція закриває COM-порт або TCP/IP-з’єднання з фіскальним реєстратором.

Продаж / повернення товару

beginFiscalReceipt

VARIANT_BOOL beginFiscalReceipt(LONG Type, BSTR cashierName)

Призначення: функція відкриває фіскальний чек продажу або повернення.

Параметри:

  • Type — тип чека:
    • 0 — чек продажу;
    • 1 — чек повернення;
  • cashierName — ім’я касира.

endFiscalReceipt

VARIANT_BOOL endFiscalReceipt()

Призначення: функція закриває фіскальний чек після повної оплати.

printRecItem

VARIANT_BOOL printRecItem(BSTR name, DOUBLE price, DOUBLE qty, LONG tax, DOUBLE SumDisc, DOUBLE PerDisc)

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

Параметри:

  • name — найменування товару;
  • price — ціна одиниці товару;
  • qty — кількість;
  • tax — податкова група;
  • SumDisc — сумова знижка або надбавка;
  • PerDisc — відсоткова знижка або надбавка.

Технічна примітка
Функція може автоматично генерувати код товару, програмувати товар у фіскальному реєстраторі та контролювати зміни найменування, ціни, податкової групи й подільності товару.

printText

VARIANT_BOOL printText(BSTR text)

Призначення: функція друкує довільний текст у фіскальному чеку.

printBarCode

VARIANT_BOOL printBarCode(BSTR text, LONG type)

Призначення: функція друкує штрихкод у чеку.

Значення Тип штрихкоду
0 EAN8
1 EAN13
2 CODE128
3 QR

printRecTotal

VARIANT_BOOL printRecTotal(DOUBLE sum, LONG type)

Призначення: функція виконує оплату фіскального чека.

Значення Тип оплати
0 Готівка
1 Кредит
2 Чек
3 Картка

printRecTotalEx

VARIANT_BOOL printRecTotalEx(DOUBLE sum, LONG type, BSTR rrn)

Призначення: функція виконує оплату чека з можливістю передати RRN-код транзакції.

printRecTotalCard

VARIANT_BOOL printRecTotalCard(DOUBLE sum, BSTR idEkv, BSTR idTerm, DOUBLE com, BSTR oper, BSTR epz, BSTR plat, BSTR avtor, BSTR rrn)

Призначення: функція використовується для оплати фіскального чека електронним платіжним засобом.

Параметри можуть містити:

  • ідентифікатор еквайра;
  • ідентифікатор платіжного терміналу;
  • суму комісії;
  • назву операції;
  • дані електронного платіжного засобу;
  • платіжну систему;
  • код авторизації;
  • RRN транзакції.

printRecSubtotalAdjustment

VARIANT_BOOL printRecSubtotalAdjustment(DOUBLE SumDis, DOUBLE PerDis)

Призначення: функція друкує знижку або надбавку на весь чек.

printRecVoid

VARIANT_BOOL printRecVoid()

Призначення: функція анулює поточний відкритий фіскальний чек.

printDuplicateReceipt

VARIANT_BOOL printDuplicateReceipt()

Призначення: функція друкує копію останнього фіскального чека.

printRecCash

VARIANT_BOOL printRecCash(DOUBLE Sum)

Призначення: функція друкує службовий чек внесення або вилучення готівки.

  • позитивна сума — внесення;
  • негативна сума — вилучення.

openCashDrawer

VARIANT_BOOL openCashDrawer()

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

Додаткова інформація в чеку

setA

VARIANT_BOOL setA(BSTR a, VARIANT_BOOL print)

Призначення: функція додає акцизну марку перед друком товарної позиції.

setB

VARIANT_BOOL setB(BSTR b, VARIANT_BOOL print)

Призначення: функція додає штрихкод перед друком товарної позиції.

setU

VARIANT_BOOL setU(BSTR u, VARIANT_BOOL print)

Призначення: функція додає код УКТЗЕД перед друком товарної позиції.

setR

VARIANT_BOOL setR(BSTR r)

Призначення: функція додає номер чека або фіскальний номер каси до чека повернення.

Нефіскальний чек

beginNonFiscal

VARIANT_BOOL beginNonFiscal()

Призначення: функція відкриває нефіскальний чек.

printNonFiscalText

VARIANT_BOOL printNonFiscalText(BSTR text)

Призначення: функція друкує текст у нефіскальному чеку.

endNonFiscal

VARIANT_BOOL endNonFiscal()

Призначення: функція закриває нефіскальний чек.

Друк звітів

printXReport

VARIANT_BOOL printXReport()

Призначення: функція друкує денний звіт без обнулення — X-звіт.

printZReport

VARIANT_BOOL printZReport()

Призначення: функція друкує денний звіт з обнуленням — Z-звіт.

Після виконання Z-звіту:

  • обнулюється оперативна інформація реєстратора;
  • підсумки заносяться до фіскальної пам’яті;
  • очищуються запрограмовані товари в реєстраторі;
  • очищується база артикулів драйвера.

Увага
Z-звіт є операцією з обнуленням. У промисловій інтеграції потрібно чітко визначити, хто і коли має право виконувати Z-звіт, як ця дія фіксується в K2 ERP, та як вона впливає на касову зміну, продажі, повернення й фінансову аналітику.

printReport

VARIANT_BOOL printReport(LONG type)

Призначення: функція друкує звіт фіскального реєстратора.

Значення Назва звіту
0 Звіт реалізованих товарів
1 Звіт запрограмованих товарів
2 Звіт за знижками
3 Звіт за податковими ставками
4 Звіт за товарними групами
5 Звіт за відділами
6 Звіт за операторами
7 Звіт контрольної стрічки

printPeriodicReport

VARIANT_BOOL printPeriodicReport(LONG type, BSTR begin, BSTR end)

Призначення: функція друкує періодичний звіт за заданими параметрами.

Робота з часом

getTime

BSTR getTime()

Призначення: функція читає поточний час фіскального реєстратора у форматі ГГХХСС.

setTime

VARIANT_BOOL setTime(BSTR time)

Призначення: функція програмує поточний час у фіскальному реєстраторі.

Технічна примітка
Фіскальні реєстратори можуть дозволяти зміну часу лише після виконання Z-звіту. Також може бути заборонено встановлення часу, меншого за час останнього Z-звіту.

Виведення на дисплей покупця

Драйвер підтримує виведення інформації на дисплей покупця, якщо така можливість підтримується моделлю реєстратора або підключеним обладнанням.

Дисплей може використовуватися для показу:

  • товарної позиції;
  • суми;
  • повідомлень;
  • стану операції;
  • інформації для покупця.

K2 ERP і ArtSoft

K2 ERP може використовувати рішення ArtSoft як частину касового та фіскального контуру українського бізнесу.

У такій архітектурі:

  • K2 ERP відповідає за облік, товари, залишки, документи, фінанси, склад, CRM, e-commerce та аналітику;
  • ArtSoft забезпечує програмний рівень взаємодії з фіскальними реєстраторами;
  • РРО виконує фіскальну частину операції;
  • користувач працює з єдиним бізнес-процесом, а не з розрізненими системами.

Перевага для українського бізнесу
Зв’язка K2 ERP і ArtSoft демонструє, як українська ERP та українське касове ПЗ можуть працювати разом: K2 ERP керує обліком, складом, документами й фінансами, а ArtSoft забезпечує взаємодію з фіскальними реєстраторами України.

Типовий сценарій інтеграції з K2 ERP

  1. У K2 ERP створюється документ продажу або касова операція.
  2. ERP визначає товари, кількість, ціну, податкову групу, знижки й оплату.
  3. K2 ERP через інтеграційний модуль створює COM-об’єкт ArtSoft.FiscalPrinter.
  4. Виконується start з потрібною моделлю РРО.
  5. Відкривається COM-порт або TCP/IP-з’єднання.
  6. Відкривається фіскальний чек.
  7. Передаються товарні позиції.
  8. Передається оплата.
  9. Чек закривається.
  10. Номер чека та результат операції повертаються в K2 ERP.
  11. Дані використовуються для документів, складу, фінансів і управлінської аналітики.

Приклад логіки продажу

1. Створити COM-об’єкт ArtSoft.FiscalPrinter
2. Викликати start(PrinterModel)
3. Відкрити порт openPort або openPortEx
4. Відкрити чек beginFiscalReceipt(0, "Касир")
5. Передати товари через printRecItem
6. Передати оплату через printRecTotal
7. Закрити чек endFiscalReceipt
8. Закрити порт closePort
9. Завершити роботу stop

Приклад логіки повернення

1. Створити COM-об’єкт ArtSoft.FiscalPrinter
2. Викликати start(PrinterModel)
3. Відкрити порт
4. Відкрити чек повернення beginFiscalReceipt(1, "Касир")
5. За потреби передати номер первинного чека через setR
6. Передати товар через printRecItem
7. Передати оплату або повернення
8. Закрити чек endFiscalReceipt
9. Закрити порт
10. Завершити роботу

Типові проблеми без універсального драйвера

Без універсального драйвера бізнес або розробник може стикатися з типовими проблемами:

  • потрібно окремо реалізовувати протоколи кожної моделі РРО;
  • складно підтримувати багато моделей фіскальних реєстраторів;
  • важче переходити на іншу модель РРО;
  • складніше працювати через TCP/IP;
  • немає єдиного механізму обробки помилок;
  • складніше тестувати інтеграцію без фізичного РРО;
  • зростає вартість підтримки касового контуру;
  • складніше інтегрувати РРО з ERP.

Переваги інтеграції з ERP

Інтеграція АртСофт Універсального драйвера РРО з ERP-системою дає бізнесу такі переваги:

  • автоматичний друк фіскальних чеків із ERP;
  • менше ручного дублювання даних;
  • зв’язок чека з документом продажу;
  • зв’язок чека з оплатою;
  • зв’язок продажу зі складом;
  • контроль повернень;
  • контроль касових змін;
  • друк X/Z-звітів із системного контуру;
  • єдина аналітика продажів і фіскалізації;
  • простіша підтримка різних моделей РРО.

Значення для української автоматизації торгівлі

АртСофт Універсальний драйвер РРО є важливим інструментом для української автоматизації торгівлі, оскільки дозволяє працювати з різними моделями фіскальних реєстраторів через єдиний програмний інтерфейс.

Для ERP-систем, касових програм, POS-рішень, магазинів, аптек, ресторанів, сервісних компаній та інтернет-магазинів це означає простіший і стабільніший шлях до фіскалізації продажів.

У поєднанні з K2 ERP драйвер може бути частиною повного цифрового контуру:

товар → продаж → чек → оплата → склад → документ → Z-звіт → фінанси → аналітика.

Див. також

Посилання

Примітки