В каком модуле формируется Z-отчет в УТ 11 и как разделить суммы по системам налогообложения

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

При работе с торговым оборудованием в 1С:Управление торговлей 11 (УТ 11) часто возникает необходимость кастомизации фискальных документов. Одной из наиболее сложных задач является изменение состава данных в Z-отчете (отчете о закрытии смены), например, для разделения выручки по разным системам налогообложения (СНО), таким как УСН и Патент. В этой статье мы разберем техническое устройство процесса закрытия смены и выясним, где именно в коде формируются данные для ККТ.

Механизм формирования Z-отчета: 1С или ККТ?

Прежде всего, проанализируем важный технический нюанс: в современной архитектуре 1С сам текст и итоговые суммы Z-отчета не формируются внутри программы. Процесс закрытия смены происходит следующим образом: 1С отправляет драйверу кассового аппарата команду ЗакрытьСмену, а ККТ (контрольно-кассовая техника) самостоятельно подсчитывает итоги по всем пробитым чекам, которые хранятся в её фискальной памяти или ФН (фискальном накопителе).

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

Поиск процедур формирования данных в УТ 11

Если нам необходимо понять, как данные попадают в кассу, следует обратить внимание на механизмы фискализации. Основная логика взаимодействия с оборудованием сосредоточена в подсистеме БСП: Подключаемое оборудование. Разберем ключевые точки входа:

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

ПараметрыОперацииФискализацииЧека = МенеджерОборудованияКлиентСервер.ПараметрыОперацииФискализацииЧека();
ПараметрыОперацииФискализацииЧека.ПозицииЧека = ДанныеДляПробитияЧека();    
ПараметрыОперацииФискализацииЧека.ТипРасчета = ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.ПриходДенежныхСредств");

// Заполнение данных об организации и СНО
ПараметрыОперацииФискализацииЧека.Кассир = РеквизитыКассира.Наименование;
ПараметрыОперацииФискализацииЧека.СистемаНалогообложения = СтруктураСостояниеКассовойСмены.СистемаНалогообложения;
ПараметрыОперацииФискализацииЧека.ОрганизацияИНН = СтруктураСостояниеКассовойСмены.СведенияООрганизации.ИНН;

При закрытии смены вызывается процедура, подобная ПодключаемоеОборудованиеOfflineВызовСервера.ЗагрузитьОтчетыОПродажахИзККМ, но для фискальных регистраторов (online-касс) это будет метод ЗакрытьСмену в объекте драйвера.

Настройка разделения выручки по СНО в типовой конфигурации

Выясним причину, по которой суммы в Z-отчете могут не разделяться. Если чеки пробиваются по разным СНО, а в итоговом отчете касса выдает общую сумму, проблема часто кроется в настройках структуры предприятия. Рассмотрим по шагам, как настроить систему для корректного разделения данных:

  1. Настройка структуры предприятия: В справочнике Структура предприятия необходимо создать как минимум два подразделения (например, "Магазин УСН" и "Магазин Патент"). Они не должны быть подчинены друг другу.
  2. Привязка патента: В настройках патента на закладке Применение патента укажите конкретное подразделение, которое работает на ПСН.
  3. Склады и магазины: В карточке каждого склада (магазина) укажите соответствующее подразделение.
  4. Кассы ККМ: Для каждой кассы ККМ также должно быть указано свое подразделение.

Важный момент: Если вы хотите пробивать чеки по разным СНО на одном физическом устройстве, вам придется либо открывать/закрывать смены, перевыбирая настройки, либо использовать программные доработки для динамической подмены СНО в момент пробития чека.

Как реализовать детальный отчет, если Z-отчет ККТ не устраивает

Поскольку типовые средства 1С:Управление торговлей не позволяют напрямую менять печатную форму фискального Z-отчета (так как это «зашито» в прошивку кассы), рассмотрим альтернативные варианты решения задачи:

Способ 1: Использование отчета "Журнал фискальных операций"

Вместо того чтобы мучить фискальный принтер, предложите руководству использовать отчет Журнал фискальных операций. Его можно настроить в разрезе налогообложения. Это даст полную картину продаж по каждой СНО с детализацией до чека.

Способ 2: Печать нефискального документа при закрытии смены

Проанализируем возможность программной доработки. В момент закрытия смены в 1С (после выполнения основной команды ЗакрытьСмену) можно инициировать печать произвольного текстового документа через драйвер ККТ. Для этого:

  1. Создайте запрос к регистру ФискальныеОперации за период текущей смены.
  2. Сгруппируйте суммы по полю СистемаНалогообложения.
  3. Используйте метод драйвера ПечатьТекста, чтобы вывести эти данные на чековую ленту сразу после Z-отчета.

Пример логики сбора данных для такого отчета:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	ФискальныеОперации.СистемаНалогообложения КАК СНО,
    |	СУММА(ФискальныеОперации.Сумма) КАК СуммаИтого
    |ИЗ
    |	РегистрСведений.ФискальныеОперации КАК ФискальныеОперации
    |ГДЕ
    |	ФискальныеОперации.КассоваяСмена = &КассоваяСмена
    |СГРУППИРОВАТЬ ПО
    |	ФискальныеОперации.СистемаНалогообложения";

Запрос.УстановитьПараметр("КассоваяСмена", ТекущаяСмена);
Результат = Запрос.Выполнить().Выбрать();

Пока Результат.Следующий() Цикл
    // Команда драйверу на печать строки: Результат.СНО + " " + Результат.СуммаИтого
КонецЦикла;

Резюме

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

← На главную