27 ноября, 2020

ВебЧек : ПРРО обзор режима оффлайн для разработчиков

Все уже знают, что налоговая с 01.08.2020г. запустила программные РРО (ПРРО), которые позволяют фискализировать чеки при помощи открытого API фискального сервера.  В этой статье, мы рассмотрим один из аспектов работы программного РРО: “ВебЧек”, а именно –  механизм работы ПРРО в режиме ОФФЛАЙН.

Данная статья рассчитана на 1С интеграторов и не является руководством по настройке, а скорее выступает инструментом объясняющим возможности работы ПРРО: “ВебЧек” в режиме оффлайн.

Для начала необходимо определиться, что такое режим оффлайн, как и когда его необходимо использовать. Привожу выдержку из официальных источников ДФС :

Как работать с программным РРО при отсутствии Интернета и в режиме offline?

На период отсутствия связи между программным РРО и сервером фискальной службы  проведения расчетных операций осуществляется в режиме ОФФЛАЙН , который может длиться не более 36 ч, с созданием электронных расчетных документов, которым присваиваются фискальные номера из  диапазона фискальных номеров, сформированных (и выданных на такой случай ) сервером ГФС. Их ПРРО может использовать не более 168 часов  в течение календарного месяца – это единственное условие.

В таких расчетных документах должно быть указано, что расчетная операция проведена в режиме ОФФЛАЙН и такие документы должны храниться Программным РРО до момента получения от фискального сервера подтверждение о доставке расчетных документов.

В течение часа после установления связи с сервером ГФС осуществляется передача копий созданных программным РРО расчетных документов с присвоенными им в режиме ОФЛЛАЙН фискальными номерами на сервер фискальной службы.

Теперь постараюсь по пунктам привести пример работы ПРРО в оффлайн режиме, как он реализован в ПРРО: “ВебЧек”, как и в любом другом ПРРО:

  1. Инициализация ПРРО  (Initialization) : в случае, если диапазон ОФФЛАЙН номеров в базе не заполнен либо количество меньше чем параметр OfflineMin=50 (в файле settings.ini ) , ПРРО выполняет запрос к серверу налоговой для получения диапазона номеров ОФФЛАЙН.
  2. Если пропала связь с интернетом, не доступен фискальный  сервер или сервер налоговой присылает ответ, который знает только БОГ или разработчик фискального сервера – создается документ переход в оффлайн режим  (Повідомлення про проведення розрахункових операцій у період відсутності зв’язку між ПРРО та фіскальним сервером (Форма №4-ПРРО)).
  3. Фискализация чека (FiscalReceipt) : Чек получает фискальный номер из сохраненного ранее диапазона номеров и сохраняется в локальной очереди чеков для отправки на фискальный сервер после того как любая из вышеперчисленных проблем будет устранена.
  4. ПРРО: “ВебЧек” периодически, с интервалом рекомендованным разработчиками API, опрашивает фискальный сервер на возможность приема чеков (т.е. появился интернет, доступен фискальный сервер и т.д.)
  5. При успешной отправке всех чеков из локальной очереди, ПРРО создает  Повідомлення про проведення розрахункових операцій у період відсутності зв’язку між ПРРО та фіскальним сервером (Форма №4-ПРРО) с пометкой Завершення режиму оффлайн.
  6. ПРРО переходит в режим онлайн.

Для пользователей и программистов в нашем ПРРО все эти процедуры на 100 процентов автоматизированы, т.е. ПРРО сам принимает решение в каком режиме пробить чек и когда его следует передать на фискальный сервер. Отключив автоматический режим работы ПРРО в настройках (setiings.ini) вы имеете возможность самостоятельно управлять режимом оффлайн, используя команды управления режимом оффлайн : OnlinetoOffline, OfflinetoOnline.

На видео ниже показан пример работы ПРРО: “ВебЧек” в режиме оффлайн: