Інструкція АРМ

Режим ПРРО Inline

1. Що таке inline-режим ПРРО

Inline-режим – це спосіб роботи ПРРО, при якому:

  • чек одразу друкується на касі під час продажу/повернення;
  • одночасно формується XML-документ ПРРО і записується в чергу на відправку (локальна/центральна БД);
  • окремий механізм періодично відправляє ці документи на сервер ДПС;
  • після успішної відправки всі вже надруковані чеки стають видимими в податковій (кабінет платника, реєстр чеків).

Для касира це виглядає як «онлайн чек»: пробив – одразу отримав друкований чек, навіть якщо інтернет/ДПС у цей момент працює нестабільно.


2. Принцип роботи inline-режиму

2.1. Пробиття чека

  1. Касир оформлює продаж (товари, знижки, оплата тощо).
  2. Програма формує фіскальний документ ПРРО (XML).
  3. Чеку присвоюється локальний номер (локальна послідовність документів для цього ПРРО) і службові поля (хеші, посилання на попередній документ тощо).

2.2. Друк

Чек одразу друкується на принтері. Для покупця все відбувається миттєво, без очікування відповіді від сервера ПРРО/ДПС.

2.3. Черга на відправку

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

  • локальний номер;
  • службові поля ПРРО (хеші, прив’язка до попереднього документа тощо);
  • статус (ще не відправлено / успішно / помилка / видалено).

2.4. Відправка на сервер ДПС

Фоновий процес або команда в програмі:

  • бере документи зі статусом «не відправлено»;
  • надсилає їх на сервер ПРРО (ДПС);
  • при успіху змінює статус на «відправлено» та зберігає службову інформацію відповіді;
  • при помилці переводить документ у «помилка» із текстом причини.

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

2.5. Результат для податкової

Після успішної відправки надруковані раніше чеки з’являються у ДПС так само, як якби вони були пробиті «звичайним онлайн-способом».


3. Критично важливо: один ПРРО – один ПК

Це головне правило inline-режиму:

Один номер ПРРО, що працює в inline-режимі, можна використовувати тільки на ОДНОМУ комп’ютері.

Чому це важливо:

  • для кожного ПРРО ведеться локальна нумерація та ланцюжок документів (попередній документ/хеші);
  • в inline-режимі ці номери й хеші рахуються локально на конкретному ПК;
  • якщо один і той самий ПРРО запустити на двох ПК:
    • локальні номери генеруються незалежно;
    • послідовність «ламається»;
    • хеш «попереднього документа» перестає відповідати реальному попередньому чеку;
    • при відправці в ДПС виникають відмови/помилки.

Наслідок: можна «зламати» послідовність, і ПРРО перестане нормально реєструвати документи, доки послідовність не буде відновлена.

Правило експлуатації:

  • ✅ Один ПРРО – одна каса / один ПК.
  • Якщо треба 2 каси – реєструємо в ДПС 2 різні ПРРО і налаштовуємо окремо.

4. Робота в локальному режимі (без зв’язку з мережею)

Inline-режим підтримує роботу при нестабільному зв’язку:

  • чеки друкуються одразу;
  • документи накопичуються в локальній inline-черзі;
  • коли з’являється зв’язок, виконується відправка накопичених документів.

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


5. Де в програмі керувати inline-режимом

У вікні «Програмне РРО» у режимі inline доступні лише дії, які не розвалять послідовність документів:

  • Статус
  • Відкрити зміну
  • Z-звіт
  • Закрити зміну
  • Черга документів
  • Відправити всі документи
  • Помилки
  • Провести помилкові чеки
  • Видалити очікуючі документи
  • Видалити помилкові документи

Інші кнопки в inline-режимі можуть бути автоматично вимкнені (це зроблено навмисно).


6. Робота з чергою: перегляд і відправка

6.1. Перегляд «Черга документів»

Кнопка: «Черга документів»

Показує документи зі статусом «очікують відправки». Це перше місце, куди дивляться, коли «щось не пішло».

6.2. Ручна відправка всієї черги

Кнопка: «Відправити всі документи»

  • Використовується, коли не хочете чекати фонового процесу або потрібно терміново «догнати» накопичене.
  • Якщо черга порожня, програма повідомить: «Немає чеків для відправки.»
  • Під час масової відправки може показуватись вікно очікування: «Відправляю чеки з черги…»
  • При успішному завершенні: «Усі чеки ПРРО успішно відправлено.»

7. Помилки: перегляд, перепроведення, видалення

7.1. Перегляд помилок відправки

Кнопка: «Помилки»

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


7.2. «Провести помилкові чеки» (повторна спроба проведення)

Кнопка: «Провести помилкові чеки»

Це аварійна функція, яка робить спробу відновити і перепровести чеки, що не пройшли через помилки (часто через зламану послідовність/хеш-ланцюжок).

Як це працює технічно (простими словами, але чесно):

  • ви обираєте період помилок;
  • програма показує помилки за цей період;
  • потім, за підтвердженням, вона:
    • перевиставляє помилкові чеки «на зараз» (оновлює дату/час документа);
    • перераховує локальні номери, контрольні поля/хеші, ланцюжок «попередній документ»;
    • формує нову правильну послідовність для повторної відправки.

Важливі обмеження (функція навмисно блокується, якщо умови не виконані):

  • Не можна виконати, якщо у черзі є документи «на відправку». Повідомлення:
    «Не можна провести помилкові чеки, поки черга INLINE містить документи на відправку.»
  • Зміна має бути відкрита, а Z-звіт відсутній. Повідомлення:
    «Не можна провести помилкові чеки: зміна має бути відкрита, а Z-звіт відсутній.»
  • Має бути достатній запас часу для «розкладання» чеків у хвилинах (програма перевіряє, щоб не «втиснути» багато чеків у занадто короткий проміжок). Якщо ні:
    «Недостатньо часу між першим чеком і поточним моментом для повторного проведення.»

Що буде зі службовими документами (відкриття/закриття зміни тощо), якщо вони потрапили у вибраний період помилок:

  • службові документи не перепроводяться як чеки;
  • вони переводяться у статус «видалено/виключено з обробки», щоб не ламати повторне проведення чеків.

Жорстке попередження (бо потім люди вдають, що «не знали»):

  • при перепроведені зміняться фіскальні/службові атрибути, контрольні значення і ланцюжок. Тобто це не «повторити запит», це перескладання документів для прийняття ДПС.

7.3. «Видалити помилкові документи» (очистка помилок)

Кнопка: «Видалити помилкові документи»

  • Обираєте період.
  • Програма показує помилки за період.
  • Далі питає підтвердження:
    «Видалити чергу документів, що були не проведені через помилки? Кількість документів: N»
  • Після підтвердження переводить ці документи у статус «видалено».

Наслідок простий: ці документи не будуть відправлені в ДПС. Використовуйте тільки якщо ви розумієте, чому ви їх виключаєте.


7.4. «Видалити очікуючі документи» (видалення черги, що чекає відправки)

Кнопка: «Видалити очікуючі документи»

  • Перед видаленням програма оновлює список черги, щоб ви бачили актуальний стан.
  • Питає підтвердження:
    «Видалити чергу документів, що очикують проведення? Кількість документів: N»
  • Після підтвердження переводить документи зі статусу «очікують» у «видалено».

Це крайній варіант. Фактично ви викидаєте документи, які ще не були зареєстровані в ДПС.


8. Чого робити не можна в inline-режимі

Щоб не «поламати» локальні номери й ланцюжок документів:

  • ❌ не запускати один і той самий ПРРО на кількох ПК;
  • ❌ не видаляти довільно записи з inline-черги «руками» в БД;
    • для цього є кнопки «Видалити очікуючі…» та «Видалити помилкові…»
  • ❌ не проводити відкриття/закриття зміни або Z-звіт на інших ПК/пристроях для цього ж ПРРО;
  • ❌ не ігнорувати помилки: надрукований чек, який не дійшов до ДПС, це вже не «дрібниця».