Что делать, если при печати чека в 1С:Розница возникает ошибка "Кассовая смена не открыта или истекла"?

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

При работе в 1С:Розница, особенно в стабильно работающей системе, может внезапно появиться ошибка: "При печати чека произошла ошибка. Чек не напечатан на фискальном устройстве. Дополнительное описание: Кассовая смена не открыта или истекла.". Самое неприятное в этой ситуации то, что проверка показывает: и в 1С, и на самой ККМ смена открыта, X- и Z-отчеты печатаются, а вот фискальные чеки — нет. Давайте разберем основные причины этой проблемы и пошагово рассмотрим способы ее решения, от самых простых до более сложных.

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

Решение 1: Исправление "зависшей" или некорректной кассовой смены

Это одна из самых частых и неочевидных причин. Она возникает, если в системе по какой-либо причине (например, из-за сбоя или ошибки пользователя) был создан документ Кассовая смена с будущей датой. Даже если эту смену потом закрыли, а дату на компьютере вернули на правильную, система при попытке пробить чек продолжает ориентироваться на самый "свежий" по дате документ.

Механизм работы 1С таков: программа ищет последнюю по дате в реквизите НачалоКассовойСмены запись и проверяет её статус. Если эта последняя запись — смена из будущего, и она уже закрыта, 1С считает, что нет ни одной открытой смены, и выдает ошибку.

Разберем по шагам, как это исправить:

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

Решение 2: Пересоздание настроек ККТ в 1С

Иногда проблема возникает из-за повреждения внутренних записей регистров, которые связывают кассу, рабочее место и настройки подключаемого оборудования. В этом случае никакие очистки кэша или проверки времени не помогают. Самый быстрый и надежный способ — не искать поврежденную запись, а создать "чистую" связку оборудования заново.

Выполним следующие шаги:

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

Решение 3: Первичная диагностика и стандартные проверки

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

Диагностический запрос для программиста

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


ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
    КассоваяСмена.Ссылка КАК КассоваяСмена,
    КассоваяСмена.ФискальноеУстройство КАК ФискальноеУстройство,
    КассоваяСмена.НачалоКассовойСмены КАК НачалоКассовойСмены,
    КассоваяСмена.ОкончаниеКассовойСмены КАК ОкончаниеКассовойСмены,
    ДОБАВИТЬКДАТЕ(КассоваяСмена.НачалоКассовойСмены, ДЕНЬ, 1) КАК ДатаИстеченияСрокаДействия,
    КассоваяСмена.Организация КАК Организация,
    КассоваяСмена.Статус КАК Статус
ИЗ
    Документ.КассоваяСмена КАК КассоваяСмена
ГДЕ
    КассоваяСмена.ФискальноеУстройство = &ФискальноеУстройство
    И КассоваяСмена.Проведен
УПОРЯДОЧИТЬ ПО
    КассоваяСмена.НачалоКассовойСмены УБЫВ,
    КассоваяСмена.НомерСменыККТ УБЫВ

В параметре &ФискальноеУстройство укажите вашу ККТ. Результат запроса должен показать документ, у которого поле Статус равно "Открыта", а поле ДатаИстеченияСрокаДействия больше текущей даты сеанса. Если это не так, значит, 1С не находит действующей открытой смены, и нужно применять Решение 1.

← На главную