Почему аннулированные чеки в РМК 1С:Розница не отображаются в X- и Z-отчетах кассы АТОЛ?

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

При работе кассиров в программе «1С:Розница» (а также в других конфигурациях на базе Библиотеки подключаемого оборудования — БПО) часто возникает ситуация, когда при отмене чека в рабочем месте кассира (РМК) на чековой ленте печатается текст «Чек аннулирован», однако в суточных X- и Z-отчетах в разделе «Аннулирование» или «Сторно» по-прежнему красуется нулевой показатель. Давайте детально разберем архитектуру взаимодействия программных решений «1С» с фискальными регистраторами АТОЛ, выясним технические причины такого поведения оборудования и рассмотрим, как правильно контролировать действия кассиров в подобных сценариях.

Физика процесса: Пакетный метод печати против построчной регистрации

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

  1. Построчная регистрация (исторический метод): Каждое сканирование товара кассиром мгновенно отправляет команду на фискальный регистратор. ККТ сразу печатает строку на бумаге и заносит товар во внутренний буфер (память) кассы. Если покупатель отказывается от покупки до оплаты, программа отправляет в ККТ команду CancelCheck (ОтменитьЧек). Поскольку в памяти кассы уже были зарегистрированы позиции, ККТ физически аннулирует этот буфер, печатает на ленте «Чек аннулирован» и увеличивает счетчик аннулированных чеков в регистрах для Z-отчета.
  2. Транзакционный (пакетный) метод печати: Именно этот метод по умолчанию используется во всех современных конфигурациях «1С» (включая «1С:Розница», «1С:Управление торговлей» и др.). Пока кассир сканирует товары в РМК, программа ведет учет только на компьютере — в своей собственной оперативной памяти. В фискальный регистратор в этот момент не отправляется абсолютно ничего. ККТ «спит» и не подозревает о формировании чека. Только в момент нажатия кнопки «Оплата» и выбора типа расчета 1С отправляет на кассу весь пакет данных: открывает чек, мгновенно регистрирует все позиции одной транзакцией и тут же закрывает его.

Рассмотрим подробнее, что происходит, когда кассир нажимает кнопку «Аннулировать» (или очищает корзину) в РМК до совершения оплаты. В этот момент 1С просто очищает экран компьютера. Поскольку на ККТ физически не был открыт чек и в его оперативную память не передавались товарные позиции, кассовому аппарату попросту нечего аннулировать в своих регистрах. Счетчик аннулирования закономерно остается равен нулю.

Разница между отменой чека и операцией сторнирования в ККТ АТОЛ

Проанализируем терминологию, заложенную разработчиками драйверов АТОЛ. В фискальных регистраторах семейства Fprint понятия «отмененный чек» и «аннулирование» имеют совершенно разное значение:

Посмотрим на пример концептуальной схемы работы драйвера, иллюстрирующий, почему при стандартной отмене счетчики не увеличиваются:


// Схема пакетной печати чека в 1С
Процедура ПробитьЧекНаККТ(ТаблицаТоваров)
    Попытка
        Драйвер.ОткрытьЧек(); 
        Для Каждого Строка Из ТаблицаТоваров Цикл
            // Регистрация позиций в ККТ происходит только сейчас!
            Драйвер.РегистрироватьПозицию(Строка.Номенклатура, Строка.Количество, Строка.Цена);
        КонецЦикла;
        Драйвер.ЗакрытьЧек(); // Чек успешно фискализирован
    Исключение
        // Если произошел сбой при отправке пакета
        Драйвер.ОтменитьЧек(); // На чеке напечатается "Чек аннулирован", 
                               // но в Z-отчет данные не попадут, т.к. чек не был закрыт
    КонецПопытки;
КонецПроцедуры

Влияние требований 54-ФЗ и форматов фискальных данных (ФФД)

С переходом на онлайн-кассы и введением жестких стандартов ФФД (1.05, 1.1, 1.2), использование аппаратных счетчиков «Аннулировано» в Z-отчетах полностью потеряло практический смысл для контролирующих органов. Федеральная налоговая служба (ФНС) и операторы фискальных данных (ОФД) не получают информацию об отмененных внутри ККТ транзакциях до их фискализации.

Для исправления любых ошибок, допущенных кассиром, законодательство требует использования строго регламентированных фискальных документов:

  1. Чек возврата прихода: Оформляется, если покупатель вернул товар или кассир совершил ошибку, которую заметили уже после выдачи чека (актуально для ФФД 1.05).
  2. Чек коррекции: Применяется для исправления ошибок расчетов в присутствии или отсутствии покупателя, исправления неверных ставок НДС или кодов маркировки (для ФФД 1.1 и 1.2).

Следовательно, любые попытки доработать код 1С или перенастроить драйвер кассы АТОЛ (например, переходя на использование низкоуровневой библиотеки AddIn.FPrnM45) с целью искусственно накрутить счетчик аннулированных чеков в ККТ являются нецелесообразными и бессмысленными.

Как эффективно контролировать отмены чеков кассирами в 1С

Если перед руководством бизнеса стоит задача пресечь случаи потенциального мошенничества (когда кассир сканирует товар, показывает покупателю сумму, берет наличные, а затем аннулирует чек в интерфейсе 1С и забирает деньги себе), опираться на отчеты ККТ АТОЛ не нужно. Всю необходимую информацию хранит сама система «1С:Розница».

Для решения этой задачи выполним настройку логирования действий персонала:

  1. Перейдем в раздел администрирования настроек РМК в 1С.
  2. Включим опцию «Журнал действий кассира».
  3. После активации этой функции система начнет детально регистрировать в специальном регистре сведений все критические манипуляции пользователей в интерфейсе кассы: добавление товаров, ручное удаление строк из чека, изменение количества, применение незапланированных скидок и, самое главное, полную очистку (аннулирование) отложенных или незакрытых чеков.
  4. Используя встроенный отчет «Анализ работы кассиров», мы сможем в любой момент проанализировать статистику отмененных корзин, сопоставить их по времени, конкретным сотрудникам и упущенной сумме продаж. Это дает несоизмеримо более полную картину для службы безопасности, чем сухой суточный счетчик ККТ.

Важная аппаратная ошибка: Внезапное аннулирование чека ККТ из-за настроек СНО

Иногда кассиры сталкиваются со случаем, когда ККТ АТОЛ действительно сама печатает ленту с надписью «Чек аннулирован» непосредственно во время попытки пробить продажу. Разберем одну из самых неочевидных причин этой проблемы, связанную с настройками конфигурации 1С.

Если в карточке организации (в справочнике Организации) или в параметрах учетной политики в 1С не заполнена (или заполнена некорректно) **Система налогообложения (СНО)**, программа при формировании пакета данных отправляет на ККТ пустое значение налога или несовместимые параметры. Фискальный регистратор, обрабатывая полученную транзакцию, обнаруживает логическое противоречие со своими внутренними настройками (в ККТ жестко прошиты доступные СНО для конкретного юрлица), прерывает операцию и выдает ошибку. На чековой ленте при этом печатается «Чек аннулирован».

Порядок действий для устранения этой ошибки:

  1. Откроем карточку вашей организации в 1С.
  2. Перейдем в раздел настройки учетной политики.
  3. Проверим корректность указания применяемой системы налогообложения (например, УСН доход, Патент или ОСНО). При необходимости заполним и запишем изменения.
  4. Убедимся, что указанная СНО совпадает с той, которая была зарегистрирована в фискальном накопителе при фискализации ККТ АТОЛ.
  5. Повторим операцию продажи в РМК — чек запишется и распечатается без ошибок.
← На главную