В чем отличие фискального регистратора от ККТ с передачей данных в 1С и почему не печатается номенклатура?

Программист 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

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

Эволюция кассового оборудования: от ФР к онлайн-ККТ

Для понимания сути проблемы нам необходимо проанализировать историю изменений в российском законодательстве, а именно внедрение 54-ФЗ. До реформы кассовой техники устройства назывались именно "фискальными регистраторами". Их основной задачей была запись итоговых сумм продаж в блок ЭКЛЗ (Электронная контрольная лента защищенная). Раз в год этот блок физически извлекался и передавался в налоговую инспекцию.

Современная ККТ с передачей данных (онлайн-касса) работает иначе. Вместо ЭКЛЗ используется ФН (Фискальный накопитель), который не просто хранит данные, но и шифрует их для немедленной передачи Оператору фискальных данных (ОФД). Рассмотрим ключевые отличия в логике 1С:

  1. Режим ФР (устаревший): В этом режиме 1С взаимодействует с кассой по старому протоколу. Программа сообщает кассе: "Пробей чек на сумму 1000 рублей". Касса фиксирует сумму и печатает чек. В этом протоколе часто отсутствуют механизмы передачи детального состава корзины (номенклатуры), так как раньше это не было обязательным требованием закона.
  2. Режим ККТ с передачей данных (современный): Здесь используется актуальная БПО (Библиотека подключаемого оборудования). Программа передает в драйвер не просто сумму, а сложную структуру данных, включающую наименование товара, количество, цену, ставку НДС, систему налогообложения и признаки маркировки.

Почему при использовании настройки Фискальный регистратор не печатается номенклатура

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

В современных реалиях, согласно статье 4.7 закона 54-ФЗ, наименование товара является обязательным реквизитом чека. В новых объектах 1С типа ККТ с передачей данных используется объект ТаблицаТоваров. Проанализируем примерную логику формирования данных в современном механизме:


// Пример формирования таблицы товаров для ККТ с передачей данных
ТаблицаТоваров = Новый ТаблицаЗначений;
ТаблицаТоваров.Колонки.Добавить("Наименование");
ТаблицаТоваров.Колонки.Добавить("Количество");
ТаблицаТоваров.Колонки.Добавить("Цена");
ТаблицаТоваров.Колонки.Добавить("СтавкаНДС");
ТаблицаТоваров.Колонки.Добавить("Сумма");

Для Каждого СтрокаТЧ Из ДокументОбъект.Товары Цикл
    НоваяСтрока = ТаблицаТоваров.Добавить();
    НоваяСтрока.Наименование = СтрокаТЧ.Номенклатура.НаименованиеПолное;
    НоваяСтрока.Количество   = СтрокаТЧ.Количество;
    НоваяСтрока.Цена         = СтрокаТЧ.Цена;
    // ... заполнение остальных реквизитов
КонецЦикла;

// Вызов метода печати через БПО
МенеджерОборудования.ВыполнитьКоманду("ПечатьЧека", ПараметрыЧека, ТаблицаТоваров);

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

Нюансы печати чеков из ПКО и РТиУ

Посмотрим на ситуацию, описанную пользователями 1С:Управление торговлей 10.3. При печати из документа Реализация товаров и услуг (РТиУ) номенклатура выводится, а при печати из Приходного кассового ордера (ПКО) — нет. Рассмотрим, почему так происходит:

Документ РТиУ по своей сути является товарным — в нем есть список товаров. Когда вы нажимаете "Чек", программа берет данные напрямую из табличной части "Товары". Документ ПКО — финансовый. В нем есть только общая сумма. В старых версиях УТ 10.3 механизм печати чека из ПКО был настроен на передачу одной лишь суммы документа.

Чтобы в современном режиме ККТ при печати из ПКО выводилась номенклатура, 1С должна выполнить поиск Документа-основания. Если ПКО выписан на основании реализации, программный код "заглядывает" в эту реализацию, собирает товары и отправляет их на кассу. В режиме "ФР" этот сложный механизм поиска связей часто отсутствует или работает некорректно.

Последствия использования режима ФР сегодня

Важно понимать, что использование режима "Фискальный регистратор" для работы по 54-ФЗ недопустимо. Даже если касса физически отправляет данные в ОФД, чек может быть признан недействительным по следующим причинам:

Как правильно перевести старую базу на ККТ с передачей данных

Если ваша конфигурация сильно доработана (кастомизирована) и обновление до типового релиза невозможно, рассмотрим пути решения:

  1. Внедрение актуальной БПО: Это самый трудоемкий, но правильный путь. Необходимо перенести из свежего релиза подсистему "Библиотека подключаемого оборудования", обновить общие модули и формы настроек.
  2. Использование сторонних драйверов и обработок: Существуют платные и бесплатные внешние компоненты, которые позволяют "обмануть" старую 1С. Они подменяют собой старый интерфейс ФР, но внутри себя формируют правильные пакеты данных для онлайн-кассы по протоколу ККТ.
  3. Доработка механизмов печати: Если вы решите "допиливать" старый механизм ФР, вам придется вручную изменять код формирования чека, внедряя туда работу с объектами драйвера новой версии (например, работа через COM-объект драйвера АТОЛ 10 версии). Это потребует глубоких знаний API производителя кассы.

Проанализировав ситуацию, можно сделать вывод: разделение на ФР и ККТ в 1С — это не просто настройка, а водораздел между старым и новым законодательством. Для корректной работы, исключения штрафов и вывода номенклатуры в чеки необходимо использовать исключительно режим ККТ с передачей данных, обеспечив актуальность программного кода подсистемы торгового оборудования.

← На главную