Как в 1С передаются данные в ОФД по 54-ФЗ и можно ли экономить чековую ленту при пробитии чека?

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

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

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

Архитектура фискализации: как данные попадают из 1С в ОФД

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

  1. Подготовка данных в 1С: При проведении кассовой операции типовые конфигурации (или внешние обработки обслуживания торгового оборудования) вызывают процедуру подготовки фискального чека (например, ПодготовитьДанныеДляФискализацииЧека). На этом этапе таблица товаров, ставки НДС, суммы и признаки способов расчета упаковываются в специальный XML-пакет или структуру параметров, соответствующую стандарту «1С:Совместимо».
  2. Передача в драйвер ККТ: 1С передает сформированный пакет в драйвер через метод (например, СформироватьЧек). Драйвер выступает промежуточным звеном и транслирует команды в низкоуровневый протокол конкретной модели кассы (например, АТОЛ или Штрих-М). Сам драйвер напрямую в налоговую инспекцию ничего не отправляет.
  3. Фискализация в накопителе (ФН): Кассовый аппарат получает команды, регистрирует фискальный документ внутри фискального накопителя, формирует фискальный признак документа (ФПД) и одновременно выводит чек на печать.
  4. Отправка в ОФД: Сама ККТ (через подключенный сетевой интерфейс — Ethernet, Wi-Fi или службу передачи данных драйвера) отправляет зарегистрированный чек оператору фискальных данных (ОФД). Отправка происходит сразу после закрытия чека или при появлении связи. Налоговая служба получает фискальные данные уже от ОФД.

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

Вариант 1. Формирование только электронного чека (без печати на ленте)

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

Посмотрим на пример вызова метода СформироватьЧек в обработке обслуживания торгового оборудования:


// В типовых обработках драйвера вызывается метод СформироватьЧек (ProcessCheck)
// Третий параметр "Электронно" определяет признак печати на чековой ленте:
// Истина — чек формируется только в электронном виде, бумажный чек не печатается
// Ложь — чек печатается на бумажной ленте

Электронно = Истина; // Устанавливаем в зависимости от условий продажи

Если НЕ Объект.Драйвер.СформироватьЧек(
        Объект.ИДУстройства,
        Кассир(Объект),
        Электронно,
        ДанныеЧека,
        НомерЧека,
        НомерСмены,
        ФискальныйПризнак,
        AddressSiteInspections) Тогда
    
    // Обработка ошибки выполнения операции
    Объект.Драйвер.ПолучитьОшибку(Объект.ОписаниеОшибки);
    ВызватьИсключение Объект.ОписаниеОшибки;
КонецЕсли;

Рассмотрим особенности работы данного режима:

  1. Передача контактов покупателя: При установке параметра Электронно = Истина в структуру ДанныеЧека (тег 1008) обязательно должен быть передан номер телефона или адрес электронной почты клиента. Если контактные данные не заполнены, касса либо вернет ошибку, либо принудительно распечатает бумажный чек.
  2. Законодательные ограничения: Переход на полностью электронный чек без выдачи бумажного возможен только в случаях, предусмотренных 54-ФЗ (например, при дистанционной оплате или если покупатель до момента расчета предоставил контакты для отправки чека).

Вариант 2. Настройка компактного шаблона печати в кассовом аппарате

Если покупателю обязательно требуется бумажный документ в момент расчета, сэкономить чековую ленту на 30–50% можно без изменения кода конфигурации 1С:

  1. Откроем утилиту настройки параметров ККТ (драйвер производителя кассы, например, «Тест драйвера ККТ АТОЛ»).
  2. Перейдем в раздел настройки параметров печати / шаблонов чека.
  3. Выберем компактный (экономный) шаблон печати. В таком режиме касса использует уменьшенный шрифт, убирает лишние межстрочные интервалы и сокращает нефискальные разделители строк.
  4. Отключим печать необязательной графики (рекламных заголовков, логотипов), если они настроены в аппарате.

Вариант 3. Разделение фискального и товарного документов

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

  1. Кассовый чек пробивается в электронном виде с отправкой на email покупателя.
  2. Для выдачи на руки на обычном офисном принтере формата А4 распечатывается стандартная товарная накладная (ТОРГ-12 / УПД) либо расходная накладная.
  3. Если используется безналичный расчет между организациями или ИП (перевод с расчетного счета на расчетный счет без предъявления карты), применение ККТ согласно 54-ФЗ не требуется вовсе — расчет закрывается первичными документами (УПД, акт, накладная).

Вариант 4. Сворачивание позиций на уровне формирования фискального пакета

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

  1. В учетной системе 1С в документе реализации оставляем полный перечень номенклатуры для сохранения складского, партионного и управленческого учета.
  2. В модуле подготовки фискальных данных (например, перед вызовом драйвера) программно сворачиваем массив строк таблицы ПозицииЧека в одну итоговую строку с рассчитанной общей суммой и корректной ставкой НДС.
  3. В этом случае и на ленте, и в фискальный накопитель (и далее в ОФД) уйдет одна строка, а складские остатки в 1С спишутся по реальной номенклатуре документа.
← На главную