Как полностью отключить печать бумажных чеков на ККТ АТОЛ в 1С:Управление холдингом?

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

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

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

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

Решение 1: Программная установка флага электронного чека

Проанализируем механизм взаимодействия 1С с драйвером подключаемого оборудования. В конфигурациях, построенных на библиотеке стандартных подсистем (БСП), к которым относится и 1С:УХ, за печать чека отвечает специализированный метод. Чтобы принудительно отключить печать, нам необходимо вмешаться в код обработки, которая формирует запрос к кассе.

Найдем в коде метод СформироватьЧек. Рассмотрим его параметры подробнее. Основной интерес для нас представляет параметр Электронно (в англоязычном варианте Electronically). Это значение типа Boolean, которое сообщает драйверу, нужно ли физически выводить данные на термопринтер.

Рассмотрим пример того, как должен выглядеть вызов метода с передачей признака электронного чека:


// Фрагмент кода для принудительного формирования только электронного чека
Результат = МенеджерОборудованияКлиент.СформироватьЧек(
    ИДУстройства,      // Идентификатор кассового аппарата
    Истина,            // Параметр Электронно (Electronically) — ставим в Истина
    ДанныеЧека,        // Подготовленная XML-структура с составом чека
    ВыходныеПараметры  // Результат выполнения операции
);

Если в вашей версии 1С:УХ отсутствует функциональная опция «Отправлять электронный чек», как в ERP или КА, этот флаг необходимо «взводить» программно непосредственно перед вызовом печати. Проанализируем ситуацию: если передать Истина, драйвер АТОЛ получит команду на формирование фискального признака без активации протяжки ленты.

Решение 2: Настройка драйвера АТОЛ 10 (ДТО 10)

Даже если программа 1С передает верные команды, внутренние настройки ККТ могут принудительно дублировать чек на бумагу. Рассмотрим, как изменить параметры в самом устройстве через «Тест драйвера ККТ»:

  1. Запустим утилиту «Тест драйвера ККТ» версии 10.х.
  2. Перейдем в раздел «Свойства», нажмем «Параметры ККТ».
  3. В открывшемся списке найдем раздел «15 Печать».
  4. Посмотрим на параметр «Экономия ленты». В современных прошивках (платформа 5.0) установка этого значения в положение «Не печатать бумажный чек» позволяет полностью игнорировать печать, если чек уходит в электронном виде.
  5. Если используется старая прошивка, проверим пункт «Печать чека» и попробуем программно запретить вывод через таблицы настроек.

Важно: Для корректной работы этих функций прошивка вашего АТОЛ должна быть актуальной (рекомендуется версия не ниже 5.7.х). На старых версиях платформы 2.5 полное отключение печати штатными средствами часто было невозможно.

Решение 3: Обязательное заполнение тега 1008

Выясним важную юридическую и техническую причину, по которой чек может продолжать печататься. Согласно ФФД (формату фискальных данных), электронный чек может заменить бумажный только в том случае, если в нем указан абонентский номер или адрес электронной почты покупателя (тег 1008).

Если в 1С при формировании ДанныеЧека поле контактной информации остается пустым, ККТ АТОЛ автоматически распечатает бумажный чек, так как по закону покупатель обязан получить подтверждение расчета хотя бы в одном из видов. Разберем по шагам проверку заполнения данных:

Решение 4: Дополнительные инструменты и ОФД

Если программные методы в 1С и настройки драйвера не помогают, проанализируем альтернативные варианты:

  1. Личный кабинет ОФД: Многие операторы (например, Такском, Эвотор, Платформа ОФД) поддерживают услугу «Отключение печати чеков». При активации этой опции ОФД при получении данных от кассы посылает обратную команду на запрет печати бумажного носителя.
  2. Виртуальный принтер: В настройках драйвера АТОЛ можно попытаться переключить режим вывода, однако это рискованный способ, так как он может заблокировать и печать важных системных отчетов.
  3. Утилита Atol_Service: Специалисты могут использовать низкоуровневые утилиты для изменения флагов в таблицах настроек ККТ. В частности, можно изменить признак обязательности печати клише и рекламных текстов, что сократит расход ленты до минимума, если полностью отключить печать не удается.

Подводя итог, можно сказать, что решение задачи в 1С:Управление холдингом требует комплексного подхода: принудительной установки Electronically = Истина в коде, обязательной передачи контактов покупателя в тег 1008 и активации режима экономии ленты в параметрах ККТ через драйвер версии 10.х.

← На главную