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