Как распечатать X-отчет при открытой смене в 1С:Управление торговлей и онлайн-кассах по 54-ФЗ?

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

С переходом розничной торговли на работу по требованиям Федерального закона № 54-ФЗ многие пользователи и технические специалисты столкнулись с неожиданной проблемой: в типовых конфигурациях (таких как 1С:Управление торговлей 11.3 и 1С:Розница 2.2) пропала привычная кнопка и возможность печати суточного отчета без гашения (X-отчета). При попытке сформировать отчет кассиры либо вообще не видели нужного пункта меню, либо фискальный регистратор печатал отчет о текущем состоянии расчетов с данными о непереданных в ОФД документах, который не содержит суммовых итогов смены.

В этом материале мы подробно разберем, почему возникла данная ситуация, как архитектура Библиотеки подключаемого оборудования (БПО) повлияла на кассовые операции и какими способами можно восстановить печать отчета без гашения в 1С.

Выясним причину: почему X-отчет пропал из интерфейса 1С

Проанализируем техническую и законодательную сторону вопроса. В старом порядке применения контрольно-кассовой техники (до эпохи онлайн-касс с фискальными накопителями) X-отчет являлся регламентированным документом для промежуточной сверки выручки в кассовом ящике. В законе 54-ФЗ понятие «X-отчет» было исключено из перечня обязательных фискальных документов — на смену ему пришел обязательный «Отчет о текущем состоянии расчетов», фиксирующий состояние связи с ОФД и количество непереданных фискальных документов.

На стороне платформы 1С это привело к следующему изменению:

  1. В ранних версиях Библиотеки подключаемого оборудования (БПО 2.0) разработчики разделили типы устройств на устаревший Фискальный регистратор и новый ККТ с передачей данных.
  2. Поскольку отчет без гашения посчитали законодательно невостребованным, команда его вызова была исключена из стандартного набора методов для ККТ с передачей данных.
  3. Вместо суммового отчета штатный вызов Обработка.XОтчет() стал инициировать печать отчета о текущем состоянии расчетов, что вызвало путаницу у кассиров и бухгалтеров, привыкших контролировать выручку и остаток наличности перед снятием Z-отчета.

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

Способ 1. Обновление типовой конфигурации и использование штатного механизма

Рассмотрим основной и самый надежный способ решения проблемы. Разработчики 1С пересмотрели требования к интеграционным компонентам и восстановили поддержку операции в последующих релизах конфигураций (в УТ начиная с 11.3.4 и 11.4, в Рознице начиная с 2.2.6 и новее).

В обновленном интерфейсе операция была переименована:

  1. Термин «X-отчет» официально заменен на «Отчет без гашения».
  2. Для его формирования необходимо перейти в раздел: Продажи -> Сервис -> Управление фискальным устройством и выбрать команду «Отчет без гашения».
  3. В режиме Рабочего места кассира (РМК) соответствующая кнопка вынесена в подменю сервисных функций кассы.

На программном уровне БПО при этом задействуются штатные методы интерфейса драйвера НачатьФормированиеОтчетаБезГашения() или ПечатьОтчетаБезГашения(), которые корректно обрабатываются актуальными драйверами оборудования.

Способ 2. Прямое обращение к драйверу ККТ через внешнюю обработку

Если конфигурация сильно доработана или оперативно обновить релиз невозможно, разберем альтернативный вариант. Поскольку сам драйвер торгового оборудования (ДТО) поддерживает формирование отчета, мы можем отправить соответствующую команду напрямую на устройство в обход ограничений старой БПО.

Для этого создается внешняя обработка или расширение конфигурации, вызывающее COM-объект драйвера производителя (например, для устройств компании Атол). Рассмотрим упрощенную логику взаимодействия с драйвером в программном коде 1С:


// Подключение к объекту драйвера ККТ
ДрайверККТ = Новый COMОбъект("AddIn.FprnM45");

// Установка параметров соединения (номер порта, скорость)
ДрайверККТ.DeviceEnabled = Истина;

// Вход в режим снятия отчетов без гашения
// Пароль доступа системного администратора по умолчанию: "30"
ДрайверККТ.Password = "30";
ДрайверККТ.Mode = 2; // Режим отчетов без гашения
ДрайверККТ.SetMode();

// Печать отчета с типом 1 (Суточный отчет без гашения)
ДрайверККТ.ReportType = 1;
ДрайверККТ.PrintReport();

// Отключение устройства
ДрайверККТ.DeviceEnabled = Ложь;

Данная обработка подключается через справочник дополнительных отчетов и обработок или назначается на горячую клавишу в рабочем месте кассира, позволяя персоналу выполнять сверку денежных средств в любой момент смены.

Способ 3. Подключение дублирующего устройства в торговом оборудовании

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

  1. Первый экземпляр: настраивается с типом оборудования ККТ с передачей данных. Через него оформляются чеки продажи, возвраты и закрытие кассовой смены (Z-отчет).
  2. Второй экземпляр: настраивается на тот же физический порт или IP-адрес, но с типом оборудования Фискальный регистратор (по старой схеме). Из карточки этого устройства или сервисного меню вызывается печать X-отчета по прежним алгоритмам БПО.

Важное ограничение: фискальный регистратор не может быть занят двумя процессами одновременно. Перед снятием отчета порт должен быть освобожден основным сеансом работы с кассой.

Технические нюансы, ошибки и ограничения ККТ

Разберем типичные ошибки, из-за которых фискальный регистратор может не печатать отчет даже при правильной отправке команды из 1С:

  1. Неверный пароль доступа к ККТ. Операция печати отчетов без гашения в прошивках фискальных регистраторов нередко требует прав администратора. Например, в кассах Атол стандартный пароль оператора — 1, а системного администратора — 29 или 30. Если программа или драйвер настроены с правами кассира, ККТ молча проигнорирует команду или вернет ошибку прав доступа.
  2. Состояние кассовой смены. Аппаратная часть ККТ не сможет распечатать отчет без гашения, если кассовая смена еще не открыта (не было пробито ни одного фискального документа) либо если длительность смены превысила 24 часа. При блокировке смены касса требует обязательного проведения инкассации и снятия отчета о закрытии смены.
  3. Замена отчета на «Отчет о состоянии расчетов». Если при вызове отчета печатается бланк с заголовком «Отчет о текущем состоянии расчетов», это свидетельствует о том, что в используемой версии БПО команда формирует системный запрос фискального накопителя к ОФД, а не суммовой отчет смены. В этом случае требуется либо обновить конфигурацию, либо воспользоваться внешней обработкой.

Таким образом, печать X-отчета на онлайн-кассах технически полностью реализуема. Оптимальным решением является плановое обновление типовой конфигурации 1С до релизов с поддержкой операции «Отчет без гашения», либо временное использование внешней команды драйвера.

← На главную