Что делать, если чек ККМ пробит на кассе, но не провелся в 1С:Управление торговлей 11.4?

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

В розничной торговле нередко возникает крайне неприятная ситуация: в момент фискализации чека происходит сбой связи, блокировка данных или зависание драйвера кассового аппарата. В результате покупатель получает на руки фискальный чек (документ успешно зарегистрирован в фискальном накопителе и отправлен в ОФД), но в программе 1С:Управление торговлей 11.4 документ остается в статусе «Отложен без резервирования» или «Отложен с резервированием» и не проводиться по регистрам учета.

Попытка просто нажать кнопку «Пробить» повторно приведет к серьезной ошибке — двоению выручки в налоговой инспекции, так как кассовый аппарат повторно зафиксирует продажу и выдаст второй чек. Наша главная задача в этой ситуации — провести документ исключительно в информационной базе 1С, полностью заблокировав отправку команды на реальное фискальное устройство. Рассмотрим подробно несколько проверенных способов решения этой проблемы.

Способ 1. Отключение кассового оборудования на рабочем месте

Это самый простой и безопасный способ проведения «зависшего» чека, не требующий навыков программирования или изменения конфигурации. Мы временно заставим программу думать, что к нашему рабочему месту физически не подключено фискальное устройство.

Разберем этот метод пошагово:

  1. Перейдем в раздел НСИ и администрирование, далее выберем пункт РМК и оборудование.
  2. Откроем настройки текущего рабочего места (параметр Настройки РМК).
  3. В открывшейся форме настроек снимем флаг (галку) у кассы ККМ или выберем режим работы «Без подключения оборудования».
  4. Сохраним настройки.
  5. Теперь перейдем в список чеков ККМ, найдем наш проблемный документ со статусом «Отложен» и откроем его.
  6. Проведем документ. Поскольку интеграция с ККТ сейчас отключена, система проведет чек по всем регистрам управленческого учета (спишет товары со склада, зафиксирует выручку в кассе), изменив его статус на «Чек пробит», но при этом не будет обращаться к драйверу кассы.
  7. Вернемся в настройки РМК и восстановим исходные параметры подключения кассового оборудования (вернем галочку на место).

После проведения чека этим способом на балансе кассы в 1С появится нужная сумма, а товары корректно спишутся со склада.

Способ 2. Использование встроенного эмулятора ККТ

Если при попытке провести чек без оборудования система выдает ошибку с требованием открыть новую смену или сообщает о несовместимости параметров, мы можем использовать виртуальный эмулятор кассы.

Рассмотрим подробнее этот сценарий:

  1. Перейдем в справочник Подключаемое оборудование и временно создадим новое устройство с драйвером «1С:Эмулятор ККТ».
  2. В настройках кассы ККМ (в справочнике Кассы ККМ) временно заменим наше реальное фискальное устройство на созданный эмулятор.
  3. В режиме РМК откроем смену для этого эмулятора (будет создана виртуальная кассовая смена).
  4. Откроем наш отложенный чек и нажмем кнопку «Пробить». Программа сымитирует печать чека на виртуальном устройстве, проведет документ в базе и присвоит ему статус «Пробит».
  5. Закроем виртуальную смену на эмуляторе.
  6. Вернем настройки кассы ККМ в исходное состояние, привязав обратно реальный фискальный регистратор.

Этот способ гарантирует прохождение всех проверок проведения документа, заложенных разработчиками конфигурации.

Способ 3. Программное проведение чека через групповое изменение реквизитов

Для администраторов и продвинутых пользователей доступен метод изменения статуса чека через встроенную обработку «Групповое изменение реквизитов». Это позволяет провести документ в обход всех экранных проверок формы.

Выясним, как правильно настроить обработку:

  1. Откроем обработку Групповое изменение реквизитов (ее можно найти через НСИ и администрирование -> Обслуживание -> Корректировка данных).
  2. В правом нижнем углу формы нажмем кнопку Дополнительные параметры. В открывшемся окне в разделе «Специальные возможности» обязательно установим флаг Показывать служебные реквизиты. Без этого действия системные поля документов будут скрыты для редактирования.
  3. В поле «Изменять» выберем тип данных Чек ККМ.
  4. Важно: Нажмем ссылку «Все элементы» и настроим отбор. Добавим условие Ссылка Равно [Ваш проблемный чек]. Если пропустить этот шаг, обработка изменит абсолютно все чеки в базе данных!
  5. В списке доступных реквизитов найдем и изменим следующие значения:
    • Проведен — установим значение Да.
    • Статус — выберем значение Пробитый (или Архивный, если смена, в которой был пробит чек, уже закрыта).
  6. Нажмем кнопку Изменить реквизиты.

Программа принудительно запишет документ в базу данных в статусе проведенного, выполнив все движения по регистрам накопления без обращения к внешним компонентам торгового оборудования.

Способ 4. Написание внешней обработки (для программистов)

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


Процедура ПровестиЧекБезКассы(СсылкаНаЧек) Экспорт
    
    ЧекОбъект = СсылкаНаЧек.ПолучитьОбъект();
    
    // Включаем режим загрузки данных, чтобы обойти стандартные проверки проведения
    ЧекОбъект.ОбменДанными.Загрузка = Истина;
    
    // Устанавливаем корректные статусы
    ЧекОбъект.Статус = Перечисления.СтатусыЧековККМ.Пробитый;
    ЧекОбъект.Проведен = Истина;
    
    Попытка
        ЧекОбъект.Записать(РежимЗаписиДокумента.Проведение);
        Сообщить("Чек успешно проведен в режиме загрузки данных!");
    Исключение
        Сообщить("Ошибка проведения: " + ОписаниеОшибки());
    КонецПопытки;
    
КонецПроцедуры

Использование свойства ОбменДанными.Загрузка = Истина отключает платформенные и конфигурационные подписки на события и валидацию заполнения реквизитов, что позволяет гарантированно записать проведенный документ в базу данных.

Важный шаг: Корректировка фискальных регистров 1С

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

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

  1. Возьмем бумажный чек, который был напечатан на ККТ (или найдем его электронную копию на сайте ОФД). Нам понадобятся параметры: Номер чека за смену, Номер ФД (фискального документа) и ФП/ФПД (фискальный признак).
  2. Через функции для технического специалиста найдем регистр сведений Фискальные операции (в старых версиях УТ 11 это может быть регистр Номер чека ККТ).
  3. Создадим новую запись, где в качестве документа-основания укажем наш проведенный Чек ККМ.
  4. Внесем реальные фискальные параметры, полученные из чека ОФД, в соответствующие поля регистра и запишем изменения.

Также обратите внимание на регистр сведений Очередь чеков ККТ. Если во время сбоя документ завис в очереди на отправку, его необходимо вручную удалить из этого регистра. В противном случае при восстановлении связи с кассой система может автоматически отправить этот чек на повторную печать, что приведет к нежелательной повторной фискализации.

Помните, что в конце рабочего дня при закрытии кассовой смены все чеки будут заархивированы, а сводные данные по продажам зафиксируются в документе Отчет о розничных продажах. Поэтому своевременное проведение чека ККМ любым из описанных способов критически важно для корректного формирования вечерней отчетности.

← На главную