Как сократить длину чека при использовании ККТ Штрих-М и 1С:Розница?

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

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

Разберем причину: почему настройки драйвера не всегда работают в 1С

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

В этом случае 1С формирует специальный XML-пакет, в котором содержатся все данные чека: наименования, цены, количества, ставки НДС и признаки способа расчета. Этот пакет передается драйверу, а драйвер транслирует его в ККТ. Если в настройках самой 1С или в параметрах таблиц ККТ не задан «компактный» режим, аппарат будет печатать каждую порцию данных (наименование, количество/цена, налоги, признаки расчета) с новой строки, что и приводит к раздуванию чека. Проанализируем способы решения этой задачи по шагам.

Шаг 1: Настройка таблиц ККТ через «Тест драйвера»

Первым делом нам необходимо настроить внутренние таблицы фискального регистратора. Для этого закроем 1С, откроем «Тест драйвера» (версии 4.14 или 4.15) и перейдем в раздел «Настройка свойств» — «Таблицы». Рассмотрим ключевые параметры:

  1. Таблица 17 (Региональные настройки), Поле 39 (Тип чека): Это критически важный параметр. Установим значение 1. Данный режим активирует компактную печать. В некоторых прошивках это позволяет объединять позиции и убирать лишние межстрочные интервалы.
  2. Таблица 1, Поле 25 (Форматирование): Убедимся, что здесь стоит 1. Это разрешает ККТ использовать настройки форматирования из дополнительных таблиц (8 и 9).
  3. Таблица 1, Поле 21 (Печать суммы налога в позиции): Если ваша система налогообложения позволяет не выделять НДС под каждой строкой (актуально для спецрежимов или специфических требований ФФД), установим 0. Это сэкономит по одной строке на каждом товаре.
  4. Таблица 1, Поле 16 (Межстрочный интервал): Проанализируем текущее значение. По умолчанию там может стоять 3 или 4. Попробуем установить 1 или 2. Это визуально «сплющит» чек по вертикали.

Шаг 2: Настройка шрифтов в Таблице 8

ККТ Штрих-М поддерживает несколько типов шрифтов. Шрифт №1 — стандартный, шрифт №2 — суженный или мелкий. Посмотрим, как мы можем это использовать:

В Таблице 8 (Настройка шрифтов) можно указать, какой шрифт использовать для различных зон чека. Для сервисных данных (ИНН, номер кассы, ФИО кассира) и для данных в позиции чека (цена, количество) рекомендуется установить шрифт с минимальной высотой. Если мы установим сжатый шрифт для всех полей, количество символов в строке может увеличиться с 32 до 48 (в зависимости от модели), что позволит уместить цену и количество в одну строку с наименованием.

Шаг 3: Использование редактора шаблонов (для новых прошивок)

Если у вас установлена прошивка 2019 года и новее, а драйвер имеет версию 4.15 или выше, нам доступен Редактор шаблонов чеков. Это наиболее эффективный метод. Разберем по шагам:

  1. Запустим «Тест драйвера» и перейдем в раздел «Работа с шаблонами». Выполнять подобные рутинные действия в интерфейсе различных утилит можно через платформу для создания программных роботов.
  2. Проанализируем стандартный шаблон. Мы увидим блоки «Позиция», «Итог», «Подвал».
  3. В блоке «Позиция» можно вручную перетащить переменные Quantity, Price и Sum в ту же строку, где печатается Name (наименование).
  4. После редактирования шаблон загружается в память ККТ.
  5. В Таблице 17 необходимо указать ККТ использовать пользовательский шаблон вместо стандартного.

Шаг 4: Настройка параметров в 1С:Розница

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

Перейдем в раздел Администрирование — Подключаемое оборудование. Откроем карточку нашей кассы и нажмем «Настроить». В открывшемся окне параметров драйвера (в интерфейсе 1С) обратим внимание на следующие пункты:

  1. Выводить признаки способа и предмета расчета: Согласно ФФД 1.05 и выше, эти данные должны передаваться в ОФД, но их обязательная печать на бумажном чеке в некоторых случаях может быть опущена (если это не предоплата или аванс). Если снять эту галочку, чек станет короче на 1-2 строки для каждой позиции.
  2. Шаблон чека (в 1С): В последних релизах 1С:Розница 2.3 и 3.0 есть встроенный редактор шаблонов. Мы можем выбрать «Компактный» шаблон, который убирает лишние пустые строки между заголовком и табличной частью. Переход на актуальные версии конфигурации для доступа к новому функционалу выполняется через автоматическое обновление баз 1С.

Шаг 5: Обходной путь через текстовую печать (для программистов)

Рассмотрим ситуацию, когда стандартные методы не помогают. В 1С есть возможность модифицировать обработку обслуживания ККТ. Вместо метода НапечататьФискальнуюСтроку, который полностью отдается на откуп ККТ и печатается по ее правилам, разработчики иногда используют комбинированный метод.

Суть заключается в том, чтобы передавать наименование товара через специальные символы форматирования. Как упоминалось в обсуждении, использование «двух слешей» в строке наименования иногда позволяет передать информацию так, чтобы драйвер сам пытался уместить её компактнее. Посмотрим на пример логики (псевдокод):


// Пример формирования строки для передачи в драйвер
СтрокаДляПечати = ТоварНаименование + "//" + Формат(Количество, "ЧЦ=10; ЧДЦ=3") + " * " + Формат(Цена, "ЧЦ=10; ЧДЦ=2");
// При таком подходе драйвер может интерпретировать текст после // как служебный для печати в той же строке

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

Выясним причины неудач: почему чек остается длинным?

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

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

← На главную