Продаж, повернення та офлайн-робота із серійним товаром

Крок 3Каса ARM20Продаж і поверненняSQLite-офлайн

Каса продає не абстрактну кількість, а конкретну одиницю. Для кількості N потрібно вибрати N доступних номерів; до оплати вони тимчасово резервуються від інших кас.

Продаж у касі

  1. Додайте товар звичайним кодом або відскануйте сам серійний номер у полі введення товару.
  2. У вікні «Серійні номери» відскануйте номер або оберіть його зі списку доступних.
  3. Для кількості 2 потрібно вибрати 2 різні номери. Каса не дозволить підтвердити неповний список.
  4. Завершіть оформлення й оплату звичайним способом. Продаж серійної одиниці та рядок чека фіксуються разом.
Вікно вибору серійного номера під час продажу в касі ARM20
Лічильник показує, скільки номерів потрібно для поточної кількості товару. Натисніть зображення, щоб збільшити.

Як каса захищає від подвійного продажу

Після вибору каса резервує номер приблизно на 30 хвилин. Інша онлайн-каса бачить його зайнятим і не може продати ту саму одиницю. Після успішної оплати резерв стає продажем; після скасування чека або завершення строку — звільняється.

Не ігноруйте повідомлення «номер уже зарезервовано». Перевірте відкриті чеки на інших касах. Якщо оператор просто закрив аварійно завершену касу, дочекайтеся завершення резерву або зверніться до підтримки з номером товару й часом спроби.

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

  1. Створіть повернення саме з вихідного чека продажу.
  2. Для рядка програма покаже лише серійники, продані в цьому чеку.
  3. Оберіть одиниці, які фактично приніс покупець. Повторно повернути вже повернений номер неможливо.
  4. Вкажіть стан: звичайне повернення робить номер знову доступним для продажу; позначення браку залишає його недоступним.
  5. Проведіть повернення і звірте номер у друкованій формі.

Офлайн-робота

Локальна база Серійний товар Причина
MDB — старий режим Продаж блокується. MDB не може надійно виключити продаж того самого номера одночасно на онлайн-касі.
SQLite — новий режим Дозволено лише з виділеного пулу. Перед офлайном сервер закріплює конкретні UUID за касовим місцем; онлайн-каси вже не можуть їх продати.

Після відновлення зв’язку SQLite-операції передаються ідемпотентно: повторна відправка того самого UUID не створює другий продаж. Якщо касі не виділено потрібний номер, офлайн-продаж слід відкласти — ручний обхід захисту не передбачений.

ПРРО, Checkbox та ЄВПЕЗ

Серійний номер може друкуватися в локальній друкованій формі фіскального чека, але не додається до фіскального XML. Отже, серійний облік не змінює податкові суми, ставки, оплату, ПРРО Inline, Checkbox або ЄВПЕЗ. Для підтримки достатньо повідомити локальний номер чека, код товару та серійник; не надсилайте файл КЕП або пароль.

Швидка перевірка після налаштування

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

Матеріал перевірено за актуальним Windows-клієнтом ARM20 24.08.2026.