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