Как выдать кассовый чек, если клиент оплатил через СБП, но касса его не пробила?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет Торговля и дистрибуция
← На главную

В современной розничной торговле интеграция системы быстрых платежей (СБП) с 1С значительно ускоряет процесс обслуживания, однако технические сбои могут поставить кассира в тупик. Рассмотрим ситуацию: клиент отсканировал QR-код, деньги списались с его счета и поступили на счет организации, но ККТ (контрольно-кассовая техника) не выдала фискальный чек. В программе документ может значиться как «пробитый», либо, наоборот, зависнуть в неопределенном статусе, блокируя повторную попытку фискализации. Разберем по шагам, как исправить эту ошибку в 1С:Бухгалтерия 3.0 и соблюсти требования 54-ФЗ.

Проанализируем ситуацию: первичная диагностика

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

  1. Проверим личный кабинет ОФД: Это самый надежный способ. Если в ОФД чека нет, значит, фискализация не произошла, и мы обязаны выдать чек клиенту.
  2. Посмотрим отчет без гашения (X-отчет): Если сумма в кассе не совпадает с данными ОФД на величину этой продажи, подтверждается факт отсутствия пробития.
  3. Изучим логи драйвера ККТ: На компьютере, к которому подключена касса, проанализируем файлы логов (например, для Атол это fptr10.log). Это поможет выяснить причину: закончилась бумага, произошел таймаут связи или ошибка формата данных.

Способ 1: Корректировка статуса в регистрах 1С

Если 1С считает, что чек уже пробит, кнопка «Пробить чек» будет неактивна. В 1С:Бухгалтерия 3.0 информация о фискализации хранится не только в самом документе (например, Реализация товаров и услуг или Розничный чек), но и в специальных регистрах. Выясним, как «обнулить» статус пробития.

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

  1. Откроем «Функции для технического специалиста» (или воспользуемся консолью запросов).
  2. Найдем регистр сведений Фискальные операции.
  3. Сделаем отбор по документу-основанию, который вызвал проблему.
  4. Если запись существует, мы увидим заполненные поля: Номер чека, Фискальный признак (ФП), Номер смены. Именно наличие этой записи блокирует повторную печать.
  5. Для восстановления возможности печати необходимо удалить запись об этой операции из регистра (или временно очистить данные о фискальном номере).

Также стоит проверить регистр ОперацииОплатыПоСБП. Если статус операции замер на значении «Выполняется», система может не давать завершить документ. Посмотрим на пример кода, который описывает логику проверки статуса через программный интерфейс:


// Пример логики проверки статуса в модуле
ПараметрыЗапроса = ИнтеграцияСБП.ПараметрыЗапросаСтатуса(ИдентификаторОплаты);
Результат = ИнтеграцияСБП.ПолучитьСтатусОплаты(ПараметрыЗапроса);
Если Результат.Статус = Перечисления.СтатусыОперацийСБП.Оплачено Тогда
    // Если статус подтвержден, но чек не вышел, 
    // необходимо инициировать процедуру фискализации повторно
КонецЕсли;

Способ 2: Временное переключение режима работы терминала

Рассмотрим практический «лайфхак», который часто помогает обойти жесткие программные проверки. Если 1С блокирует печать из-за того, что ожидает ответа от банковского терминала или сервера СБП, можно обмануть систему, временно изменив настройки оборудования.

Разберем этот процесс по шагам:

  1. Перейдем в раздел Администрирование — Подключаемое оборудование.
  2. Найдем наш банковский терминал или настройку СБП.
  3. Временно переведем настройку в режим «Без подключения оборудования» (или создадим фиктивный автономный терминал).
  4. Вернемся в документ оплаты. Теперь система не будет пытаться связаться с банком повторно, так как «считает», что оплата уже принята автономно.
  5. Нажмем кнопку Пробить чек. Касса должна выдать фискальный документ.
  6. После успешной печати вернем настройки оборудования в исходное состояние.

Способ 3: Использование «Очереди чеков»

В последних версиях БП 3.0 реализован механизм очереди печати. Иногда чек не выходит не из-за ошибки в данных, а из-за потери связи в момент передачи команды. Проанализируем этот механизм:

Перейдем в раздел Банк и касса — Касса — Очередь чеков. Рассмотрим список документов. Если наш чек находится там со статусом «Ошибка» или «В очереди», мы можем просто нажать кнопку Пробить чек непосредственно из этого интерфейса, не внося изменений в сами документы или регистры.

Способ 4: Юридически верный путь — Чек коррекции

Выясним причину, по которой обычный чек может не подойти. Если сбой был обнаружен не сразу, а, например, на следующий день после закрытия смены, пробивать обычный чек «задним числом» нельзя. В этом случае необходимо сформировать Чек коррекции.

Рассмотрим, как правильно оформить коррекцию в 1С:

Технические нюансы работы с драйвером ККТ

Если программные методы в 1С не помогают, рассмотрим возможность пробития чека напрямую через Тест драйвера ККТ (например, Атол). Это крайняя мера, так как после этого в 1С документ останется «непробитым», и его нужно будет скорректировать вручную, чтобы избежать двойного учета в будущем.

  1. Запускаем Тест драйвера.
  2. Заходим в раздел «Регистрация чека».
  3. Вручную заполняем позиции номенклатуры, цены и налоги.
  4. Выбираем тип оплаты «Электронными» (Тип 2).
  5. Закрываем чек.

После этой операции в 1С нужно воспользоваться обработкой или консолью кода, чтобы проставить в документе признаки фискализации (номер ФД и ФП), чтобы документ перестал числиться как «ошибочный».

Резюме и рекомендации

Подводя итог, проанализируем последовательность действий при сбое СБП. В первую очередь всегда проверяйте статус в ОФД. Если чека там нет, используйте метод корректировки регистра ФискальныеОперации или временное отключение терминала в настройках оборудования. Помните, что простая выдача товарного чека (на бумаге без фискального признака) не является исполнением закона 54-ФЗ и может привести к штрафам. Всегда стремитесь к тому, чтобы фискальный признак был зафиксирован в памяти ККТ и передан в налоговую службу.

← На главную