Как исправить ошибку при некорректном закрытии кассовой смены в 1С:Розница 2.2?

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

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

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

Выясняем причину сбоя: почему это произошло?

Прежде чем приступать к исправлению, важно понять природу ошибки. Основная причина блокировки формирования документов при закрытии смены — это ограничение фискального накопителя (ФН). Согласно законодательству, кассовая смена не может длиться более 24 часов. Если этот лимит превышен, ККТ блокирует печать чеков. В момент попытки закрытия такой «просроченной» смены в 1С программа может успеть изменить внутренний статус документа КассоваяСмена, но при попытке получить данные от кассы о Z-отчете происходит разрыв цепочки алгоритмов, и формирование ОРП прерывается.

Метод 1. Ручное формирование ОРП с автоматическим заполнением по чекам

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

Рассмотрим алгоритм действий:

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

Метод 2. Сброс статуса смены через редактор реквизитов

Если автоматическое заполнение ОРП не срабатывает (например, программа считает, что смена уже полностью обработана), нам придется прибегнуть к технической корректировке статуса самой смены. Для этого мы будем использовать обработку Групповое изменение реквизитов или встроенный редактор объектов.

Проанализируем этот процесс:

Нам необходимо временно вернуть смене статус «Открыта», чтобы штатный механизм закрытия смены (через рабочее место кассира или список чеков) снова увидел ее как активную.


// Пример логики, которую выполняет система при поиске данных
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Документ.ЧекККМ 
               ГДЕ КассоваяСмена = &Смена И Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыЧековККМ.Пробитый)";
Запрос.УстановитьПараметр("Смена", ВыбраннаяСмена);

После того как мы установили статус «Открыта» у документа КассоваяСмена, попробуем зайти в раздел Продажи — Чеки ККМ и нажать кнопку Закрыть смену. Программа повторно инициирует процедуру сверки и формирования итоговых документов.

Метод 3. Эмуляция отсутствия ККТ

Иногда 1С не дает закрыть смену повторно, так как «опрашивает» физическую кассу и получает ответ, что смена в ФН уже закрыта (Z-отчет пробит). Чтобы обойти эту проверку и заставить программу выполнить только внутренние учетные действия, можно применить «хитрость» с настройками оборудования.

Разберем по шагам:

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

Метод 4. Массовое исправление статусов чеков

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

Посмотрим на логику настройки обработки:

Важно: Перед этим действием необходимо убедиться, что суммы в ОРП и в списке чеков совпадают до копейки, иначе мы получим расхождения в регистре «Продажи».

Особенности работы в РИБ и обмена с Управлением торговлей (УТ)

Если ваша база «1С:Розница» является узлом распределенной информационной базы (РИБ) и обменивается данными с «1С:Управление торговлей», нужно учитывать важный нюанс. Ни в коем случае не пытайтесь исправлять или дозакрывать смену в базе УТ.

Все корректировки должны производиться строго в той базе «Розницы», где физически подключена касса. После того как вы добьетесь появления ОРП и ПКО в «Рознице», выполните синхронизацию данных. Исправленные объекты мигрируют в УТ и заменят собой «битые» данные.

Завершающий этап: Формирование ПКО

Не забудем про денежные средства. Если после всех манипуляций Приходный кассовый ордер с видом операции «Прием розничной выручки» не создался автоматически, его нужно создать на основании Отчета о розничных продажах. Это необходимо для того, чтобы деньги «переместились» из операционной кассы ККМ в кассу предприятия, что отразится на корректности остатков по регистрам накопления ДенежныеСредстваКПоступлениюНаличные.

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

← На главную