При работе в 1С:Розница, особенно в стабильно работающей системе, может внезапно появиться ошибка: "При печати чека произошла ошибка. Чек не напечатан на фискальном устройстве. Дополнительное описание: Кассовая смена не открыта или истекла.". Самое неприятное в этой ситуации то, что проверка показывает: и в 1С, и на самой ККМ смена открыта, X- и Z-отчеты печатаются, а вот фискальные чеки — нет. Давайте разберем основные причины этой проблемы и пошагово рассмотрим способы ее решения, от самых простых до более сложных.
Чаще всего корень проблемы кроется не в аппаратной неисправности, а в логической ошибке или рассинхронизации данных внутри самой базы 1С. Проанализируем наиболее вероятные сценарии.
Это одна из самых частых и неочевидных причин. Она возникает, если в системе по какой-либо причине (например, из-за сбоя или ошибки пользователя) был создан документ Кассовая смена с будущей датой. Даже если эту смену потом закрыли, а дату на компьютере вернули на правильную, система при попытке пробить чек продолжает ориентироваться на самый "свежий" по дате документ.
Механизм работы 1С таков: программа ищет последнюю по дате в реквизите НачалоКассовойСмены запись и проверяет её статус. Если эта последняя запись — смена из будущего, и она уже закрыта, 1С считает, что нет ни одной открытой смены, и выдает ошибку.
Разберем по шагам, как это исправить:
НачалоКассовойСмены установлена на будущее.НачалоКассовойСмены на правильную, прошлую дату. Если прямое редактирование запрещено, воспользуйтесь стандартной обработкой "Групповое изменение реквизитов" (находится в разделе Администрирование -> Обслуживание -> Корректировка данных).Иногда проблема возникает из-за повреждения внутренних записей регистров, которые связывают кассу, рабочее место и настройки подключаемого оборудования. В этом случае никакие очистки кэша или проверки времени не помогают. Самый быстрый и надежный способ — не искать поврежденную запись, а создать "чистую" связку оборудования заново.
Выполним следующие шаги:
ККТ с передачей данных.Прежде чем приступать к сложным действиям, всегда полезно выполнить базовую проверку, которая может выявить более очевидные проблемы.
%AppData%\Local\1C и %AppData%\Roaming\1C.Если у вас есть доступ к консоли запросов, вы можете выполнить следующий запрос, чтобы быстро проанализировать состояние последней кассовой смены для вашего фискального устройства. Это поможет точно подтвердить диагноз из первого решения.
ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
КассоваяСмена.Ссылка КАК КассоваяСмена,
КассоваяСмена.ФискальноеУстройство КАК ФискальноеУстройство,
КассоваяСмена.НачалоКассовойСмены КАК НачалоКассовойСмены,
КассоваяСмена.ОкончаниеКассовойСмены КАК ОкончаниеКассовойСмены,
ДОБАВИТЬКДАТЕ(КассоваяСмена.НачалоКассовойСмены, ДЕНЬ, 1) КАК ДатаИстеченияСрокаДействия,
КассоваяСмена.Организация КАК Организация,
КассоваяСмена.Статус КАК Статус
ИЗ
Документ.КассоваяСмена КАК КассоваяСмена
ГДЕ
КассоваяСмена.ФискальноеУстройство = &ФискальноеУстройство
И КассоваяСмена.Проведен
УПОРЯДОЧИТЬ ПО
КассоваяСмена.НачалоКассовойСмены УБЫВ,
КассоваяСмена.НомерСменыККТ УБЫВ
В параметре &ФискальноеУстройство укажите вашу ККТ. Результат запроса должен показать документ, у которого поле Статус равно "Открыта", а поле ДатаИстеченияСрокаДействия больше текущей даты сеанса. Если это не так, значит, 1С не находит действующей открытой смены, и нужно применять Решение 1.