Почему при закрытии смены в 1С возникает сообщение «За кассовую смену не продано ни одного товара по выбранной кассе ККМ»?

Бухгалтер 1С v8.3 (Обычные формы) Бухгалтерский учет Торговля и дистрибуция
← На главную

При использовании онлайн-касс в типовых решениях (например, 1С:Управление производственным предприятием, 1С:Комплексная автоматизация 1.1 или 1С:Управление торговлей 10.3) пользователи часто сталкиваются с ситуацией, когда фискальные чеки успешно пробиваются из документов оптовой торговли, однако при выполнении процедуры закрытия смены программа выдает предупреждение: «За кассовую смену не продано ни одного товара по выбранной кассе ККМ». При этом отчет с гашением (Z-отчет) на кассовом аппарате снимается, а в личном кабинете оператора фискальных данных (ОФД) смена отображается как закрытая.

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

Причина поведения системы на уровне логики конфигурации

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

  1. Фискальное действие: отправка на контрольно-кассовую технику команды снятия Z-отчета и передачи данных в ОФД.
  2. Учетное действие: выборка всех проведенных за смену документов ЧекККМ, их архивация и создание сводного документа ОтчетОРозничныхПродажах, который списывает себестоимость проданных товаров со складов и формирует бухгалтерские проводки по розничной выручке.

Если торговые операции регистрируются документами оптового контура — такими как ПриходныйКассовыйОрдер (ПКО), РасходныйКассовыйОрдер (РКО) или ОплатаОтПокупателяПлатежнойКартой, — все проводки по взаиморасчетам и бухгалтерским регистрам формируются автономно в момент проведения этих документов. Документ ЧекККМ в этой схеме не создается.

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

Влияние на фискальный и бухгалтерский учет

Выясним, чем грозит появление данного предупреждения:

  1. Фискальный контур: Ошибок нет. Фискальный регистратор корректно закрывает смену, обнуляет регистры сменной выручки и передает Z-отчет оператору фискальных данных. Требования кассовой дисциплины (включая лимит длительности смены не более 24 часов) полностью соблюдаются.
  2. Бухгалтерский и управленческий учет: Расхождений не возникает. Оплаты покупателей зафиксированы ордерами, отгрузки оформлены товарными накладными или реализациями товаров и услуг. Создание документа ОтчетОРозничныхПродажах в данном сценарии не требуется.

Варианты действий и практические решения

Рассмотрим возможные варианты работы в зависимости от требований организации к интерфейсу программы.

Вариант 1. Игнорирование предупреждения

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

Вариант 2. Программное отключение вывода предупреждения

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

В модуле формы списка или модуле формы элемента документа КассоваяСмена найдем процедуру формирования отчета о розничных продажах. Обычно перед выводом сообщения выполняется проверка заполнения таблицы чеков ККМ. Скорректируем условие так, чтобы при пустой таблице чеков процедура просто завершала работу без вызова метода Предупреждение() или ПоказатьОповещениеПользователя().

Посмотрим на типовой фрагмент алгоритма:


Если ТаблицаЧековККМ.Количество() = 0 Тогда
    // Закомментируем вывод предупреждения для оптовых касс:
    // Предупреждение("За кассовую смену не продано ни одного товара по выбранной кассе ККМ.");
    Возврат;
КонецЕсли;

Такая корректировка позволит закрывать фискальную смену на ККМ и менять статус документа в информационной базе без лишних модальных окон.

Вариант 3. Использование сервисных команд оборудования

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

← На главную