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

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

Матеріал з K2 ERP Wiki

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

VARIANT_BOOL openCashDrawer() Призначення: функція друкує денний звіт з обнуленням — Z-звіт.; !; Увага

Шаблон для позначення української альтернативи програмним продуктам 1С/BAS.; </noinclude>
{{SoftwareAlternative

 <includeonly>
{{{type|українська ERP-платформа}} }, яка має змогу використовуватися як альтернатива для: '''{{{alternative_to|1С; BAS ERP}}}''' виступає ключовою рисою '''{{{name|K2 ERP}}}'''.;

|name=K2 ERP |type=українська ERP-платформа |alternative_to=1С; BAS ERP; BAS бухгалтерський обліковий обліковий обліковий облік КОРП; UA-Бюджет |category=податковий обліковий обліковий обліковий облік, бухгалтерський обліковий обліковий обліковий облік, фінансовий обліковий обліковий обліковий облік, ERP

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


</syntaxhighlight>

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

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

endNonFiscal

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

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

7.;== Створення COM-об’єкта у Windows == Призначення: функція додає штрихкод перед друком товарної позиції.;== printZReport ==

10.;== printBarCode ==

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

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

Для завершення роботи з фіскальним реєстратором необхідно:
[[Файл:ArtSoft_Emulator_Settings_Window.png|217x333px]]

== stop ==

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

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

|- | 1 | 4800 бод |- | 2 | 9600 бод |- | 3 | 19200 бод |- | 4 | 38400 бод |- | 5 | 57600 бод |- | 6 | 115200 бод |}

2.; * Microsoft Visual C++;

  • Microsoft Visual Basic;
  • Visual FoxPro;
  • Microsoft Visual C#;
  • Microsoft Office з VBA;
  • Visual Basic Script;
  • Delphi;
  • C++ Builder;
  • 1С:організація;
  • BAS;
  • інші системи, що підтримують COM.; !; Ім’я об’єкта для створення у клієнтській програмі:
Параметри можуть містити:

[[Файл:ArtSoft_Universal_Driver_RRO_Logo.png|166x43px]]
== openPortEx ==
'''Параметри:'''

</div>

!; Створити COM-об’єкт ArtSoft.FiscalPrinter

'''Призначення:''' функція закриває COM-порт або TCP/IP-з’єднання з фіскальним реєстратором.; # Перевірити, чи не заблокований реєстратор через ненадсилання даних до податкової інспекції протягом 72 годин.; # Інтеграційний компонент створює COM-об’єкт <code>ArtSoft.FiscalPrinter</code>.; Для деяких моделей РРО має змогу враховуватися додатково безготівковий залишок або інші внутрішні правила реєстратора.; # Універсальність роботи з підтримуваними моделями фіскальних реєстраторів.; Тип оплати
'''Параметри:'''

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

== beginNonFiscal ==

{| class="wikitable"

# Встановити АртСофт Універсальний драйвер на ПК, до якого підключено реєстратор.; # Виконати функцію [[#openPort|openPort]] із зазначенням імені послідовного COM-порту та швидкості підключення.; # інформаційні дані використовуються для документів, складу, фінансів і управлінської аналітики.; У промисловій інтеграції потрібно чітко визначити, хто і коли має право виконувати Z-звіт, як ця дія фіксується в [[K2 ERP]], та як вона впливає на касову зміну, продажі та реалізація, повернення й фінансову аналітику.; Відкрити порт openPort або openPortEx

* тестувати касові сценарії без фізичного реєстратора;
* друкувати чеки на стандартні принтери операційної системи;
* перевіряти виведення на дисплей покупця;
* тестувати поведінку програми у випадку помилок;
* налагоджувати інтеграцію до підключення реального обладнання.;</div>
'''Перевага для українського бізнесу'''<br />
'''Призначення:''' функція друкує штрихкод у чеку.; = Встановлення ПЗ «АртСофт Універсальний драйвер РРО» у системах Windows =

</syntaxhighlight>

4.;
VARIANT_BOOL setA(BSTR a, VARIANT_BOOL print)

<div style="border:2px solid #ffb74d; background:#fff3e0; padding:14px; border-radius:8px; margin:18px 0;">
== printRecTotalCard ==
Результат має змогу приймати значення:
Порядок роботи з емулятором в цілому відповідає порядку роботи з реальним реєстратором.; # ERP визначає товари, кількість, ціну, податкову групу, знижки та тип оплати.;== setU ==
'''Типовий сценарій K2 ERP + ArtSoft FiscalPrinter'''<br />
VARIANT_BOOL setTime(BSTR time)
|-
| 0
| Готівка
|-
| 1
| Кредит
|-
| 2
| Чек
|-
| 3
| Картка
|}

'''Призначення:''' функція відкриває TCP/IP-з’єднання з фіскальним реєстратором.; паралельно з цим друк стандартних елементів чека та звітів виконується обраною мовою.; Перед підключенням до [[K2 ERP]] потрібно переконатися, що РРО справний, не заблокований і коректно функціонує через сервісне ПЗ виробника.; Відкрити чек повернення beginFiscalReceipt(1, "Касир")
'''Призначення:''' функція відкриває грошову скриньку, підключену до фіскального реєстратора.; |-
| SmenNum
| Ціле число, тільки для читання
| Номер зміни фіскального реєстратора, тобто номер Z-звіту.; Елемент

== setTime ==

== closePort ==
VARIANT_BOOL start(LONG PrinterModel)
<syntaxhighlight lang="cpp">

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

VARIANT_BOOL endFiscalReceipt() </syntaxhighlight> VARIANT_BOOL setB(BSTR b, VARIANT_BOOL print)

printPeriodicReport

</syntaxhighlight>

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

= Див.; # Самостійний контроль властивостей артикулів.;

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

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

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

тел.;</syntaxhighlight> У рядку статусу відображається відомості про зазначені параметри підключення: COM-порт і швидкість або IP-адреса та порт.; Універсальний драйвер фіскальних реєстраторів; додатково реалізовано але має зручніші розділи.; Призначення: функція анулює поточний відкритий фіскальний чек.; Значення

Для друку періодичних звітів достатньо викликати функцію printPeriodicReport із зазначенням типу звіту та необхідних параметрів.; # Відкрити нефіскальний чек функцією beginNonFiscal.; Один інсталяційний файл має змогу містити необмежену кількість ліцензій.; fp = СоздатьОбъект("ArtSoft.FiscalPrinter"); !; {| class="wikitable" style="width:100%;" </syntaxhighlight> C:\Program Files\ArtSoft\FiscalPrinter

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

# У [[K2 ERP]] створюється документ продажу або касова операційна дія.; У разі незгоди з угодою виберіть '''«Я не приймаю умови угоди»''', після чого подальше встановлення буде припинено.;<div style="border:2px solid #81c784; background:#f1f8e9; padding:14px; border-radius:8px; margin:18px 0;">
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
|-
| [[Файл:ArtSoft_Emulator_Display_Button.png|29x29px]]
| Кнопка призначена для увімкнення емулятора дисплея покупця.; Відкрити чек beginFiscalReceipt(0, "Касир")
{| class="wikitable mw-collapsible mw-collapsed" style="width:100%;"
<div style="border:2px solid #81c784; background:#f1f8e9; padding:14px; border-radius:8px; margin:18px 0;">

Україна, 02094 м.; # інформаційні дані використовуються для документів, складу, фінансів і управлінської аналітики.; # Перевірити наявність касової стрічки у реєстраторі.; VARIANT_BOOL openPort(BSTR SerialPortName, LONG SerialPortBaud)

'''Призначення:''' функція призначена для початку роботи драйвера фіскальних реєстраторів.; Можливе використання коліщатка мишки або клавіш керування курсором.;== Чек повернення ==
Потокова модель драйвера: '''Single-threaded apartments''' або '''STA'''.; Відкрити порт

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

{| class="wikitable"

[[Файл:ArtSoft_Install_Completed.png|326x266px]]

* обнулюється оперативна відомості реєстратора;
* підсумки заносяться до фіскальної пам’яті;
* очищуються запрограмовані товари в реєстраторі;
* очищується база артикулів драйвера.; Перед промисловим запуском інтеграції потрібно перевірити конкретну модель РРО, версію прошивки, параметри підключення, ліцензію драйвера та сценарії продажу/повернення.; Це спрощує підтримку касового контуру, особливо для мережевих компаній, магазинів, аптек, ресторанів, складів із точками видачі та омніканальних продажів.; # Перевірити роботу АртСофт Універсального драйвера за допомогою тестових прикладів із комплекту драйвера.; Захист полягає у прив’язці драйвера до заводського номера фіскального реєстратора та моделі фіскального реєстратора.; Закрити чек endFiscalReceipt

<div style="border:2px solid #ffb74d; background:#fff3e0; padding:14px; border-radius:8px; margin:18px 0;">

== Підтримуване середовище ==
'''Призначення:''' функція відкриває послідовний COM-порт для роботи з фіскальним реєстратором.; Значення
== setB ==
!; # Простий перехід на будь-яку модель реєстратора, що підтримується.;== printXReport ==
Якщо драйвер застосовують, коли потрібно на термінальному сервері, інсталяцію потрібно виконувати на сервері.; Нефіскальний чек призначений для друку додаткової довільної інформації.;== printNonFiscalText ==

'''Призначення:''' функція додає акцизну марку перед друком товарної позиції.; Властивість доступна після успішного підключення до реєстратора.; Щоб продовжити встановлення, виберіть '''«Я приймаю умови угоди»'''.;== Підтримувані моделі фіскальних реєстраторів ==
<div style="border:2px solid #ffb74d; background:#fff3e0; padding:14px; border-radius:8px; margin:18px 0;">
7.; Вона зберігає зміст оригінального документа забезпечується через Ця сторінка є собою покращеною MediaWiki-версією документації програміста до ПЗ '''«АртСофт.; Закрити чек endFiscalReceipt

Фіскальний реєстратор має змогу блокувати роботу без підключеного дисплея покупця, без касової стрічки, після тривалої роботи без Z-звіту або через ненадсилання даних до податкової.; (044) 531-37-23 (067) 537-86-92 Дисплей має змогу використовуватися для показу:

VARIANT_BOOL

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

Перевага K2 ERP

Драйвер має змогу використовуватися в системах Microsoft Windows з будь-якими мовами програмування та засобами розробки, що підтримують технологію COM.;
Майже всі функції роботи з фіскальним реєстратором повертають результат виконання логічного типу:
== openCashDrawer ==
== printReport ==
'''Призначення:''' функція додає номер чека або фіскальний номер каси до чека повернення.; |}

ArtSoft.FiscalPrinter

'''Призначення:''' функція відкриває фіскальний чек продажу або повернення.; Створити COM-об’єкт ArtSoft.FiscalPrinter
'''Призначення:''' функція читає поточний час фіскального реєстратора у форматі <code>ГГХХСС</code>.; |-
| [[Файл:ArtSoft_Emulator_Print_Button.png|26x26px]]
| Кнопка призначена для увімкнення друку інформації на принтер.; Зовнішній вигляд і вміст чека можуть відрізнятися на інших моделях реєстраторів.; Тип штрихкоду
!; Щоб змінити шлях встановлення програми або шляхи для ярликів, натисніть «Назад».; # Самостійне керування кодами артикулів та програмуванням артикулів.; За основу взято зовнішній вигляд чека популярних реєстраторів із протоколом Datecs, зокрема Datecs 3530T та Екселліо.;
  1. Дочекатися завершення останньої функції.; # Універсальна обробка помилок реєстраторів.; Передати оплату через printRecTotal
Універсальний драйвер містить вбудований емулятор фіскального реєстратора.;

VARIANT_BOOL beginNonFiscal() VARIANT_BOOL printNonFiscalText(BSTR text)

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

!; fp = CreateObject("ArtSoft.FiscalPrinter")

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

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

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

Z-звіт

  • позитивна сума — внесення;
  • негативна сума — вилучення.; Для початку роботи з бібліотекою необхідно:

printRecVoid

</syntaxhighlight>

</div>

== Чек продажу ==

Окремо варто відзначити навігацію, кольорові технічні примітки, попередження і акценти для інтеграції з [[K2 ERP]] виступає ключовою рисою України»'''.;[[Категорія:POS]]
<syntaxhighlight lang="cpp">

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

<syntaxhighlight lang="cpp">

* ідентифікатор еквайра;
* ідентифікатор платіжного терміналу;
* суму комісії;
* назву операції;
* інформаційні дані електронного платіжного засобу;
* платіжну систему;
* код авторизації;
* RRN транзакції.; # Передається оплата.; Це надає можливість правильно обробляти як універсальні помилки, так і специфічні помилки конкретної моделі РРО.; !; = Робота з часом =

!; Викликати start(PrinterModel)

<syntaxhighlight lang="cpp">
VARIANT_BOOL printXReport()
[[Категорія:Універсальний драйвер реєстраторів]]

[[Категорія:K2 Cloud ERP]]

Приклад для 1С:організація 7.7:

* <code>IP</code> — IP-адреса фіскального реєстратора;
* <code>Port</code> — порт підключення.; # Відкрити фіскальний чек викликом функції [[#beginFiscalReceipt|beginFiscalReceipt]] із зазначенням типу чека '''«чек продажу»''' та імені касира.; # Викликати функцію [[#start|start]] із зазначенням конкретного типу фіскального реєстратора.; # Перевірити, чи не заблокований реєстратор через роботу понад 24 години без Z-звіту.; Це надає можливість одночасно використовувати необмежену кількість копій COM-об’єкта для одночасної роботи з багатьма реєстраторами, зокрема з використанням багатопоточності.; # Встановити та перевірити необхідні параметри підключення за допомогою сервісного програмного забезпечення виробника реєстратора.; Викликати start(PrinterModel)
= Продаж / повернення товару =
<div style="border:2px solid #64b5f6; background:#e3f2fd; padding:14px; border-radius:8px; margin:18px 0;">

'''Призначення:''' функція друкує звіт фіскального реєстратора.; 5.; # Відкривається фіскальний чек.; |-
| LastErrorEx
| Ціле число, тільки для читання
| Код помилки конкретної моделі фіскального реєстратора.; = Вступ =
== printRecCash ==
АртСофт Універсальний драйвер РРО є собою важливим інструментом для української автоматизації торгівлі, оскільки надає можливість працювати з різними моделями фіскальних реєстраторів через єдиний програмний інтерфейс.;
VARIANT_BOOL printRecVoid()

</syntaxhighlight>

Призначення: функція друкує текст у нефіскальному чеку.; Передати товари через printRecItem Для детального аналізу помилки застосовується властивість LastError, яка містить код результату виконання останньої функції.; # Закрити нефіскальний чек функцією endNonFiscal.; |-
LastError Ціле число, тільки для читання Універсальний код останньої помилки для всіх реєстраторів.; # Виконується start з потрібною моделлю РРО.; Щоб перервати інсталяцію, натисніть «Скасувати».; Без універсального драйвера бізнес-середовище або розробник має змогу стикатися з типовими проблемами:

</syntaxhighlight>

Для друку копії чека достатньо викликати функцію printDuplicateReceipt.; # За потреби додати додаткову інформацію до товару: штрихкод, акцизну марку, код УКТЗЕД.; Для придбання програми потрібно оформити заявку на сайті компанії artsoft.ua.; # Викликати stop.; Замість роботи з різними протоколами РРО розробник функціонує з єдиним COM-об’єктом ArtSoft.FiscalPrinter.; BSTR getTime() 1.; VARIANT_BOOL beginFiscalReceipt(LONG Type, BSTR cashierName) </syntaxhighlight> Для інсталяції драйвера необхідно запустити файл:

</div>
|+ Підтримувані моделі фіскальних реєстраторів
'''Увага'''<br />
</div>
|-
| Марія 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
|}

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

!; |}

<syntaxhighlight lang="cpp">
[[Категорія:РРО]]
Рекомендований тестовий додаток:
5.; '''Технічна примітка'''<br />
[[Категорія:K2 ERP]]
|-
| 0
| EAN8
|-
| 1
| EAN13
|-
| 2
| CODE128
|-
| 3
| QR
|}

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

<div style="border:2px solid #ffb74d; background:#fff3e0; padding:14px; border-radius:8px; margin:18px 0;">
'''Призначення:''' функція додає код УКТЗЕД перед друком товарної позиції.; У разі роботи з термінальним сервером драйвер встановлюється на сервер.; VARIANT_BOOL setU(BSTR u, VARIANT_BOOL print)
Уважно прочитайте ліцензійну угоду.; # Відкривається фіскальний чек.; |-
| [[Файл:ArtSoft_Emulator_Settings_Button.png|22x22px]]
| Кнопка призначена для відкриття форми налаштувань емулятора.;[[K2 ERP]] має змогу використовувати драйвер [[ArtSoft]] як частину касового та фіскального контуру: продажі та реалізація, повернення, фіскальні чеки, X/Z-звіти, службові операції, складські документи, оплати й управлінська аналітичні інструменти можуть бути пов’язані в одному ERP-процесі.;== printDuplicateReceipt ==
<div style="border:2px solid #e57373; background:#ffebee; padding:14px; border-radius:8px; margin:18px 0;">
У такій архітектурі:
<div style="border:2px solid #e57373; background:#ffebee; padding:14px; border-radius:8px; margin:18px 0;">
<syntaxhighlight lang="cpp">
Універсальний драйвер АртСофт має захист від несанкціонованого використання.; # Закрити фіскальний чек функцією [[#endFiscalReceipt|endFiscalReceipt]].;<syntaxhighlight lang="text">

'''Параметри:'''
6.; # Відкривається COM-порт або TCP/IP-з’єднання.;<div style="border:2px solid #81c784; background:#f1f8e9; padding:14px; border-radius:8px; margin:18px 0;">

VARIANT_BOOL printPeriodicReport(LONG type, BSTR begin, BSTR end)
'''Критично істотно'''<br />
!; # Викликати [[#closePort|closePort]].; 4.; '''Призначення:''' функція друкує періодичний звіт за заданими параметрами.; додатково має змогу бути заборонено встановлення часу, меншого за час останнього Z-звіту.; Вікно емулятора автономно відкривається під час виконання функції [[#start|start]] із необхідним параметром.; '''Призначення:''' функція друкує службовий чек внесення або вилучення готівки.; АртСофт Універсальний драйвер встановлено в системі і він готовий до використання.; = Додаткова відомості в чеку =

Технічна примітка

</div>

</div>
[[Категорія:Каса]]
<div style="border:2px solid #81c784; background:#f1f8e9; padding:14px; border-radius:8px; margin:18px 0;">

1.; # Передається оплата.; |-

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

</syntaxhighlight>

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

== openPort ==

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

[[Файл:ArtSoft_Install_Ready.png|326x266px]]
Щоб продовжити встановлення, натисніть '''«Встановити»'''.; # Перевірити підключення зовнішнього дисплея реєстратора, якщо він не вбудований.; додатково =
VARIANT_BOOL printText(BSTR text)
; = K2 ERP і ArtSoft =

Після кожного виклику функції, яка повернула False, потрібно зчитати LastError, LastErrorText, а для детальнішої діагностики — LastErrorEx і LastErrorExText.; # Для реєстраторів із TCP/IP-підключенням використати функцію openPortEx.; Код дорівнює нулю у разі успішного виконання функції.; Перевага для інтеграції з K2 ERP

Відмінність чека повернення від чека продажу полягає у вказанні типу чека '''«чек повернення»''' у функції [[#beginFiscalReceipt|beginFiscalReceipt]].; * <code>Type</code> — тип чека:
** <code>0</code> — чек продажу;
** <code>1</code> — чек повернення;
* <code>cashierName</code> — ім’я касира.;== beginFiscalReceipt ==

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

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

Виберіть мову встановлення АртСофт Універсального драйвера.; # ERP визначає товари, кількість, ціну, податкову групу, знижки й оплату.; ArtSoftUniversalDriver.exe

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

Для друку денного звіту без обнулення, X-звіту, достатньо викликати функцію printXReport.; Перед впровадженням потрібно перевірити не лише модель РРО, а й версію прошивки.; 3.; |-

LastErrorText BSTR-рядок, тільки для читання Текст останньої універсальної помилки для всіх моделей фіскальних реєстраторів.; Призначення: функція програмує поточний час у фіскальному реєстраторі.; # Наявність вбудованого емулятора фіскального реєстратора.; Передати оплату або повернення

VARIANT_BOOL printRecSubtotalAdjustment(DOUBLE SumDis, DOUBLE PerDis)

{{SEO


Оригінальна документація описує COM-інтерфейс драйвера, порядок підключення РРО, друк чеків, роботу зі звітами, емулятором і кодами помилок.; # Чек закривається.;
= Властивості та обробка помилок =
9.; '''Призначення:''' функція друкує знижку або надбавку на весь чек.;[[Файл:ArtSoft_Install_License_Agreement.png|327x268px]]
8.; # Передаються товарні позиції.;<syntaxhighlight lang="cpp">
'''товар → продаж → чек → оплата → складський облік → документ → Z-звіт → фінансовий блок → аналітичні інструменти.'''
== printRecTotal ==
Для службового внесення або вилучення грошей достатньо виконати функцію [[#printRecCash|printRecCash]].; # Виконати оплату через [[#printRecTotal|printRecTotal]], [[#printRecTotalEx|printRecTotalEx]] або [[#printRecTotalCard|printRecTotalCard]].; VARIANT_BOOL printRecTotalEx(DOUBLE sum, LONG type, BSTR rrn)

<div style="border:2px solid #ffb74d; background:#fff3e0; padding:14px; border-radius:8px; margin:18px 0;">
Драйвер підтримує роботу широкий перелік фіскальних реєстраторів, зокрема пристрої родин:
= Значення для української автоматизації торгівлі =
= Фіскальний чек продажу та повернення =
'''Суть драйвера'''<br />

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

!; # Швидке та легке підключення необмеженої кількості реєстраторів до одного ПК.;== endFiscalReceipt ==

2.; Значення
VARIANT_BOOL printReport(LONG type)

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

Драйвер підтримує роботу виведення інформації на дисплей покупця, якщо така можливість підтримується моделлю реєстратора або підключеним обладнанням.; |-
| LastErrorExText
| BSTR-рядок, тільки для читання
| Текст останньої помилки для конкретної моделі фіскального реєстратора.; Універсальний драйвер надає можливість [[K2 ERP]] працювати з різними моделями РРО через уніфікований інтерфейс.; # Переконатися, що фіскальний реєстратор увімкнений і підключений до ПК або мережі.; Драйвер надає можливість розробникам використовувати високорівневі команди керування реєстратором, позбавляючи їх складної низькорівневої роботи з реалізації протоколу взаємодії РРО та персонального комп’ютера.; !; Тип

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

6.; * '''True''' — функція виконана успішно;
* '''False''' — виникла помилка.; = Посилання =

VARIANT_BOOL endNonFiscal()

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

У рядку статусу можна вибрати мову інтерфейсу програми.; |-
| LOWLEVELDATA
| BSTR-рядок, тільки для читання
| Низькорівневі інформаційні дані від РРО, отримані після виконання функції [[#lowLevelCommand|lowLevelCommand]] або іншої команди РРО.; Вінстона Черчилля, 16 "Б",

9.; |-
| LastReceiptNum
| Ціле число, тільки для читання
| Номер останнього фіскального чека.; # Протоколювання роботи драйвера та реєстратора.; # Визначити тип підключення реєстратора: RS-232 або TCP/IP, а додатково параметри підключення.; # Чек закривається.; Значення

<syntaxhighlight lang="cpp">

* [[Марія]];
* [[Datecs]];
* [[Екселліо]];
* [[КСТ]];
* [[ІКС]];
* [[MG]];
* [[FR90]];
* [[MINI-ФП]];
* [[MINI-Т]];
* [[Вікінг]];
* [[LeoCAS]].;== getTime ==
|-
| 0
| Звіт реалізованих товарів
|-
| 1
| Звіт запрограмованих товарів
|-
| 2
| Звіт за знижками
|-
| 3
| Звіт за податковими ставками
|-
| 4
| Звіт за товарними групами
|-
| 5
| Звіт за відділами
|-
| 6
| Звіт за операторами
|-
| 7
| Звіт контрольної стрічки
|}

Драйвер виступає універсальним програмним посередником між касовою або обліковою програмою та фіскальним реєстратором.; # Виконати необхідну кількість продажів, використовуючи функції [[#printRecItem|printRecItem]] і [[#printText|printText]].; # K2 ERP через інтеграційний компонент створює COM-об’єкт <code>ArtSoft.FiscalPrinter</code>.; Модель реєстратора

'''Призначення документації'''<br />

[[Категорія:Інтеграції K2 ERP]]

* <code>name</code> — найменування товару;
* <code>price</code> — ціна одиниці товару;
* <code>qty</code> — кількість;
* <code>tax</code> — податкова група;
* <code>SumDisc</code> — сумова знижка або надбавка;
* <code>PerDisc</code> — відсоткова знижка або надбавка.; '''Технічна примітка'''<br />

* [[ArtSoft]]
* [[АртСофт]]
* [[Універсальний драйвер реєстраторів]]
* [[РРО]]
* [[ПРРО]]
* [[Фіскальний реєстратор]]
* [[Касове ПЗ]]
* [[POS]]
* [[Каса]]
* [[Фіскальний чек]]
* [[Z-звіт]]
* [[X-звіт]]
* [[K2 ERP]]
* [[K2 Cloud ERP]]
* [[Інтеграції K2 ERP]]
* [[K2 Модуль ArtSoft]]
* [[Вчасно.Каса]]
* [[Ритейл]]
* [[HoReCa]]
* [[E-commerce]]
* [[Українське ПЗ]]
* [[ПЗ для бізнесу]]
* [[Автоматизація бізнесу]]

== printRecSubtotalAdjustment ==

* [https://artsoft.ua/ офіційно затверджений сайт ArtSoft]
* [https://erp.kyiv.ua/ офіційно затверджений сайт K2 ERP]
* [https://wiki.erp.kyiv.ua/ K2 ERP Wiki Ukraine]
<syntaxhighlight lang="cpp">
[[K2 ERP]] має змогу використовувати рішення для бізнесу [[ArtSoft]] як частину касового та фіскального контуру українського бізнесу.;[[Категорія:Автоматизація торгівлі]]

VARIANT_BOOL stop()

<syntaxhighlight lang="text">
'''реліз драйвера 7.3'''
</div>

Драйвер не є собою Singleton-об’єктом.; Для отримання фіскального чека продажу необхідно:

[[Категорія:ПЗ для бізнесу]]

== start ==

<syntaxhighlight lang="cpp">

Для друку денного звіту з обнуленням, Z-звіту, достатньо викликати функцію [[#printZReport|printZReport]].; # Виконується <code>start</code> з потрібною моделлю РРО.; При виконанні функції [[#stop|stop]] вікно емулятора закривається.; # Номер чека, результат операції та помилки повертаються в K2 ERP.;

Результат:

</syntaxhighlight>

переважні аспекти інтеграції з ERP

VARIANT_BOOL closePort()

printRecTotalEx

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

setA

Технічна примітка

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

VARIANT_BOOL printRecCash(DOUBLE Sum)

</syntaxhighlight>

Призначення: функція друкує довільний текст у фіскальному чеку.; Виберіть шлях для встановлення драйвера.; Параметр: PrinterModel — ціле число, тип фіскального реєстратора.;== printText ==

Примітки

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

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

  • товарної позиції;
  • суми;
  • повідомлень;
  • стану операції;
  • інформації для покупця.; Фіскальні реєстратори можуть дозволяти зміну часу лише після виконання Z-звіту.; Ці інформаційні дані служать для контролю правильної роботи зовнішньої програми.;
    </div>
    
    <syntaxhighlight lang="text">
    
    '''Призначення:''' функція відкриває нефіскальний чек.; Порожній рядок у разі успішного виконання.;
    

</syntaxhighlight> Київ 1999 – 2026

</syntaxhighlight>

Для успішного друку чека повернення в реєстраторі повинна бути достатня сума готівкових коштів.;
[[Категорія:Касове ПЗ]]

[[Категорія:Фіскальні реєстратори]]

{| class="wikitable"
<syntaxhighlight lang="cpp">
[[Файл:ArtSoft_Fiscal_Register_Emulator.png|152x198px|thumb|Емулятор фіскального реєстратора]]
|-
| 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
| Емулятор фіскального реєстратора
|}

[[Категорія:АртСофт]]

* <code>True</code> — функція виконана успішно;
* <code>False</code> — виникла помилка.; Назва звіту

Z-звіт є собою операцією з обнуленням.;== Основні переважні аспекти ==

[[Файл:ArtSoft_Universal_Driver_Register_Types.png|504x422px]]

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

  1. K2 ERP формує документ продажу або касову операцію.; Закрити порт closePort

</syntaxhighlight> VARIANT_BOOL setR(BSTR r)

'''Призначення:''' функція виконує оплату чека з можливістю передати RRN-код транзакції.; # Після успішного налагодження і перевірки використовувати драйвер в обліковій програмі.; |-
| SN
| BSTR-рядок, тільки для читання
| Заводський номер фіскального реєстратора.; За замовчуванням драйвер встановлюється в каталог:
VARIANT_BOOL printRecTotalCard(DOUBLE sum, BSTR idEkv, BSTR idTerm, DOUBLE com, BSTR oper, BSTR epz, BSTR plat, BSTR avtor, BSTR rrn)

'''Перевага для K2 ERP'''<br />

[[Категорія:ArtSoft]]

* <code>SerialPortName</code> — ім’я COM-порту, як ілюстрація <code>COM1</code>;
* <code>SerialPortBaud</code> — швидкість підключення.; # Номер чека та результат операції повертаються в K2 ERP.; VARIANT_BOOL printRecTotal(DOUBLE sum, LONG type)


Основне задача драйвера — надати простий і зручний механізм для керування фіскальними реєстраторами.;
Вікно налаштувань призначене для конфігурація зовнішнього вигляду чеків, типів податків, вибору пристрою друку, параметрів друку, шапки та підвалу чека.; # Відкривається COM-порт або TCP/IP-з’єднання.; # Робота драйвера на Windows 7 і вище.; # Робота з реєстраторами у термінальному режимі або через TCP/IP.; Для різних моделей і версій можуть відрізнятися підтримувані команди, поведінка знижок, звітів, оплат, дисплея покупця та службових операцій.; Завершити роботу
= Емулятор фіскального реєстратора =
!; |-
| CASH
| Дійсне число, тільки для читання
| Сума готівки у касі.; # Запрограмувати необхідні для роботи реєстратора параметри: шапку чека, податкові ставки, типи оплат, операторів та паролі операторів за замовчуванням.; # Друкувати необхідну кількість коментарів функцією [[#printNonFiscalText|printNonFiscalText]].;<syntaxhighlight lang="cpp">

{| class="wikitable"

VARIANT_BOOL printBarCode(BSTR text, LONG type)

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

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

</syntaxhighlight> VARIANT_BOOL printDuplicateReceipt() Призначення: функція застосовується для оплати фіскального чека електронним платіжним засобом.; Якщо РРО підключені локально до робочих місць, потрібно окремо перевірити сценарій доступу до COM-порту або TCP/IP-підключення.; |-

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

Друк звітів

8.; Функція має змогу автономно генерувати код товару, програмувати товар у фіскальному реєстраторі та контролювати зміни найменування, ціни, податкової групи й подільності товару.; # Протестувати зв’язок реєстратора з ПК за допомогою сервісного програмного забезпечення.; VARIANT_BOOL printZReport()