В процессе работы с конфигурацией 1С:Управление торговлей 11.5 пользователи часто сталкиваются с неприятной ситуацией: клиент приложил карту к терминалу, деньги списались (эквайринговый слип-чек вышел), но из-за технического сбоя, обрыва связи или нехватки бумаги фискальный чек ККМ не распечатался. В системе такой документ зависает в статусе «Отложен», не имеет номера чека и не попадает в отчет о розничных продажах. Разберем детально, как корректно исправить эту ситуацию, не нарушая логику учета и требования законодательства.
Проанализируем, почему обычное изменение статуса документа не всегда помогает. В современных версиях 1С статус чека — это лишь реквизит в самом документе ЧекККМ. Однако для корректной работы системы и успешного закрытия смены данные должны быть зафиксированы в регистре сведений Фискальные операции. Если мы просто поменяем статус, но не создадим запись в этом регистре (для этого подойдёт универсальное редактирование записей регистров 1С), система может выдавать ошибки при архивации чеков или формировании Z-отчета. Для решения подобных проблем на системном уровне полезно использовать инструменты для загрузки и изменения фискальных операций, которые позволяют дозагрузить признаки из внешних файлов или журналов. Кроме того, поле НомерЧекаККМ обычно заполняется автоматически драйвером кассы, и ручное редактирование этого поля в интерфейсе часто заблокировано, особенно когда требуется массовое исправление настроек ОФД для большого парка оборудования.
Если нам необходимо быстро перевести чек в статус «Пробит» и добавить информацию об эквайринговой операции, мы можем воспользоваться внешней обработкой или консолью кода. Рассмотрим пример кода, который принудительно устанавливает нужные значения:
// Находим нужный чек по номеру и дате
ЧекККМ = Документы.ЧекККМ.НайтиПоНомеру("304430", ТекущаяДата());
ЧекОбъект = ЧекККМ.ПолучитьОбъект();
// Используем ОбменДанными.Загрузка, чтобы обойти проверки при записи
ЧекОбъект.ОбменДанными.Загрузка = Истина;
ЧекОбъект.Статус = Перечисления.СтатусыЧековККМ.Пробит;
// Добавляем строку оплаты, если она не зафиксировалась
СтрокаОплаты = ЧекОбъект.ОплатаПлатежнымиКартами.Добавить();
СтрокаОплаты.НомерЧекаЭТ = "304430"; // Номер из банковского терминала
СтрокаОплаты.Сумма = ЧекОбъект.СуммаДокумента;
ЧекОбъект.Записать();
Важно помнить, что этот метод «силовой». После его применения необходимо проверить, появился ли номер чека ККМ. Если номер не присвоился, воспользуемся стандартной обработкой «Групповое изменение реквизитов», выберем наш документ и вручную пропишем реквизит НомерЧекаККМ, взяв его из личного кабинета ОФД или из памяти фискального регистратора.
Рассмотрим более «безопасный» способ, который позволяет задействовать штатные механизмы 1С. Этот метод подойдет, если физически чек на кассе так и не был пробит, но деньги с клиента уже сняты. Для тестирования подобных сценариев в среде разработки часто применяется эмулятор ККМ для УТ 11.5, который помогает имитировать работу оборудования без порчи фискальных бланков.
Проанализируем ситуацию: таким образом мы избегаем двойного списания денежных средств с карты клиента, но при этом заставляем фискальный регистратор выдать корректный чек с порядковым номером.
В конфигурации 1С:УТ 11.5 реализован механизм «Очередь чеков». Если при печати возникла ошибка, документ может попасть в эту очередь. Посмотрим, как это проверить:
Перейдем в раздел РМК (Рабочее место кассира) и проверим наличие кнопки «Очередь чеков» или «Продажи по чекам». Часто система позволяет просто нажать кнопку «Повторить печать» именно для фискальной части операции. В ситуациях, когда чек физически вышел, но поврежден или утерян, может потребоваться печать копии чека в 1С, чтобы предоставить документ покупателю.
Также крайне полезно заглянуть в «Тест драйвера ККТ» (например, АТОЛ или Штрих-М) — поможет централизованное администрирование ККТ и ПК из 1С. Разберем шаги:
Выясним причину, по которой после манипуляций программистов в кассе может появиться «лишняя» сумма. Это происходит из-за рассинхронизации регистра «Денежные средства в кассах ККМ» и фактического наличия денег. Чтобы вовремя обнаружить такие расхождения, рекомендуется использовать специализированный анализ документов оплаты по чекам, который сопоставляет движения по регистрам и фискальные операции.
Если вы принудительно меняете статус чека на «Пробит», 1С делает приход по этому регистру. Если при этом вы уже сделали ручную операцию «Внесение» или «Выемка», чтобы «подогнать» остаток, возникнет удвоение суммы. Всегда проверяйте движения документа по регистрам через кнопку «Движения документа» (Дт/Кт).
Если смена уже закрыта, а ошибка обнаружена только на следующий день, пробивать обычный чек задним числом технически невозможно. В такой ситуации проанализируем законодательство: необходимо оформить Чек коррекции.
В 1С:УТ 11.5 для этого существует специальный тип документа. Для автоматизации этого процесса можно задействовать расширение, которое обеспечивает создание чеков ККМ и коррекции на основании заказа, что значительно ускоряет исправление ошибок. Мы создаем чек коррекции, указываем тип оплаты «Электронно», выбираем причину (самостоятельно выявленная ошибка) и пробиваем его. Это легальный способ выровнять выручку в ОФД и 1С, который не вызовет вопросов у налоговой инспекции.
Подводя итог, скажем: при возникновении «зависших» чеков первым делом всегда проверяйте Личный кабинет ОФД. Это первоисточник истины. Только понимая, ушли ли данные в налоговую, можно принимать решение — «проталкивать» ли существующий чек программно или пробивать его заново через временное отключение терминала.