Ситуация, когда кассовый аппарат (ККТ) выдает бумажный чек, но программа 1С «зависает» и не фиксирует этот факт в своей базе, является одной из самых стрессовых для кассира и технического специалиста. В результате возникают расхождения между данными в Z-отчете и реальной выручкой, а повторное нажатие кнопки «Пробить чек» приводит к фактическому удвоению суммы по фискальному накопителю. Разберем подробно, почему так происходит, как исправить последствия и какие настройки драйвера помогут избежать этого в будущем.
Проанализируем механику взаимодействия 1С с фискальным регистратором. Многие пользователи ошибочно полагают, что запись документа в 1С и печать чека — это единая транзакция, которая либо выполняется целиком, либо отменяется полностью. К сожалению, в архитектуре работы с торговым оборудованием это не так.
Рассмотрим пошагово цепочку событий при нажатии гиперссылки «Пробить чек»:
Штрих-М).Если на 4-м или 5-м этапе происходит технический сбой (например, из-за помех в сети или долгого ответа ФН возник «Таймаут»), цепочка обрывается. ККТ уже считает деньги принятыми, а 1С — нет. В результате в программе остается активной кнопка «Пробить чек», и кассир, не видя номера чека в системе, нажимает ее повторно, порождая второй фискальный документ.
Если задвоение уже произошло, нам необходимо привести данные фискального накопителя в соответствие с фактической выручкой в денежном ящике. Рассмотрим два основных способа решения задачи.
Способ 1. Оформление чека на «Возврат прихода»
Это стандартный методический путь. На сумму ошибочно пробитого чека необходимо пробить встречный чек с типом операции «Возврат прихода». Это можно сделать двумя путями:
Shtrih-m Driver FR), перейдем в раздел регистрации и пробьем чек возврата на нужную сумму. В этом случае в 1С данные останутся верными (один ПКО — одна оплата), а в ККТ итог смены уменьшится на сумму возврата, сравнявшись с фактическими деньгами.Способ 2. Использование чеков коррекции
Согласно форматам фискальных данных (ФФД 1.1 и выше), для исправления ошибок рекомендуется использовать чеки коррекции. Однако для ситуации «лишнего» чека (когда реализация была, но ее ошибочно пробили дважды) чаще применяется именно «Возврат прихода», так как это понятнее для налоговой инспекции при проверке объяснительных.
Выясним, какие настройки помогут нам избежать подобных ситуаций в будущем. Основная причина обрывов связи со «Штрих-М» — слишком агрессивные настройки ожидания ответа. Современные ККТ с ФН тратят значительное время на криптографические операции и отправку данных в ОФД.
Рассмотрим рекомендуемые параметры в «Свойствах драйвера»:
Если вы столкнулись с ошибкой «Таймаут», не спешите нажимать кнопку повторно. Посмотрим, как можно проверить состояние последнего чека вручную, чтобы убедиться, пробился он или нет:
В современных версиях конфигураций 1С (например, актуальные релизы УТ 11) реализован механизм проверки статуса чека. При повторном нажатии система должна спросить у драйвера: «Какой последний документ был пробит?». Если его параметры совпадают с текущим документом 1С, программа просто подтянет номер чека без повторной печати. Если у вас этого не происходит — проанализируйте версию вашей обработки обслуживания или интеграционной библиотеки.
Поскольку фискальные данные уже ушли в ОФД, одного лишь технического исправления недостаточно. Проанализируем действия кассира с точки зрения кассовой дисциплины:
Важное замечание: Не стоит наказывать кассира материально за ошибки техники. Вины человека в задержках передачи данных по протоколу TCP/IP или медленной работе ФН нет. Ответственность за корректную настройку оборудования (таймаутов) лежит на системном администраторе или специалисте по внедрению 1С.
Подводя итог, скажем: для стабильной работы связки «1С + Штрих-М» всегда устанавливайте таймаут ответа не менее 10 секунд и научите персонал проверять отчеты ККТ перед тем, как «дублировать» оплаты при возникновении любых ошибок связи.