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