Почему ККТ АТОЛ 25Ф печатает QR-код предыдущего чека на новом документе и как это исправить?

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

При автоматизации розничной торговли на базе программных продуктов 1С (например, 1С:Управление торговлей 10.3 или более современных конфигураций на управляемых формах) специалисты часто сталкиваются со странным поведением фискальных регистраторов семейства АТOL. Покупатели или кассиры начинают жаловаться на то, что на чеках отсутствует QR-код (как фискальный, так и ЕГАИС при продаже алкогольной продукции), либо этот QR-код оказывается отрезанным наполовину. При этом на следующем пробитом чеке в самом верху (в области заголовка/клише) внезапно распечатывается оставшаяся часть QR-кода или он сам целиком.

Особенно остро эта проблема встает в торговых точках, реализующих алкогольную продукцию, где покупатели или контролирующие органы активно используют мобильные приложения для проверки легальности алкоголя по кодам ЕГАИС. В этой статье мы подробно разберем физические и программные причины возникновения этой неполадки на ККТ с автоматическим отрезчиком (таких как АТТОЛ 25Ф, 22Ф, 55Ф, 77Ф) и рассмотрим пошаговые методы ее решения.

Физика процесса: почему QR-код «переползает» на следующий чек?

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

В моделях с автоматическим отрезчиком (автоножом), таких как АТОЛ 25Ф, процесс устроен иначе:

  1. Внутри корпуса ККТ печатающая головка (ТПГ), наносящая изображение на термобумагу, и нож автоотрезчика физически разнесены в пространстве. Расстояние между ними у АТОЛ 25Ф составляет в среднем 10–15 мм.
  2. Когда ККТ завершает формирование чека, последним элементом на нем печатается фискальный QR-код.
  3. В момент окончания печати QR-кода сам этот код все еще физически находится на уровне печатающей головки, то есть ниже линии отреза ножа.
  4. Чтобы чек отрезался корректно, ККТ должна выполнить протяжку (прокрутку ленты вперед) на расстояние, равное дистанции от ТПГ до ножа, и только после этого дать команду на срабатывание отрезчика.

Если в алгоритме работы кассы происходит сбой, нож производит отсекание бумаги до того, как QR-код полностью пересечет линию отреза. В результате отрезанный чек уходит покупателю без кода, а сам QR-код остается на рулоне внутри ККТ. При печати следующего чека лента начинает двигаться, и этот «застрявший» QR-код выходит первым, визуально приклеиваясь к началу нового документа.

Способ 1. Обновление внутреннего ПО ККТ (Перепрошивка)

Как показывает практика и опыт интеграторов, наиболее надежным и кардинальным решением является обновление прошивки фискального регистратора. В старых версиях прошивок ККТ АТОЛ на платформе 2.5 (и при использовании устаревших версий драйверов ДТО) содержались внутренние тайм-ауты и ошибки микрокода. Они приводили к тому, что при отправке пакета команд из 1С драйвер инициировал отрезку раньше, чем принтер успевал аппаратно завершить печать графического QR-кода и прокрутить ленту.

Для устранения этой проблемы рекомендуется выполнить следующие действия:

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

Способ 2. Регулировка параметров через Тест драйвера ККТ (без перепрошивки)

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

Рассмотрим по шагам, как скорректировать параметры протяжки ленты в программе «Тест драйвера ККТ» (рекомендуется использовать актуальную версию ДТО 10):

  1. Запустите утилиту «Тест драйвера ККТ» и установите связь с вашим фискальным регистратором АТОЛ 25Ф.
  2. Перейдите в раздел «Свойства» в правом верхнем углу окна драйвера.
  3. В открывшемся окне параметров нажмите кнопку «Параметры ККТ».
  4. Найдите вкладку или раздел меню «Клише / Реклама» (в зависимости от версии драйвера это может быть Таблица 9 «Клише» во внутренней структуре памяти кассы).
  5. Проанализируйте параметр «Количество строк после чека на ЧЛ» (чековой ленте). Этот параметр отвечает за то, сколько пустых строк ККТ принудительно протянет после окончания печати документа перед ударом ножа. Если там установлено значение 0, 1 или 2, то автоотрезчик гарантированно отрежет QR-код. Увеличьте это значение до 4–6 строк. Это заставит ККТ проталкивать бумагу выше, полностью выводя QR-код за линию ножа.
  6. Обратите внимание на параметр «Не печатать клише автоматически». Если этот флаг установлен, рекомендуется его снять. Когда ККТ печатает клише (шапку) следующего чека сразу в момент закрытия предыдущего, это аппаратно заставляет ленту продвинуться вперед, тем самым физически спасая QR-код предыдущего чека от отрезания.
  7. В разделе параметров «Основные» проверьте значение параметра «Расстояние от ТПГ до отрезного ножа». Для модели АТОЛ 25Ф стандартным заводским значением является 75 пикселей. Если там прописан ноль или другое некорректное число, верните дефолтное значение.
  8. Сохраните изменения в памяти ККТ, нажав кнопку «Записать» или «Применить», и закройте свойства.

Способ 3. Программная корректировка очереди печати на стороне 1С

Иногда причиной сбоя становится сама товароучетная система 1С:Управление торговлей. При печати чека из 1С отправляется последовательность XML-команд. Если в коде конфигурации или в обработке обслуживания ККТ жестко прописана команда принудительной отрезки документа (метод драйвера Cut() или соответствующий XML-тег) сразу после закрытия чека без учета времени на физическое формирование графики принтером, то касса срежет ленту раньше времени.

Проанализируем программный код интеграции. Чтобы гарантировать корректный вывод QR-кода, разработчики в 1С могут использовать добавление пустых строк непосредственно перед вызовом команды финализации чека.

Рассмотрим пример добавления нефискальных строк перед закрытием чека в коде 1С:


// Пример модификации функции печати чека в обработке обслуживания ККТ АТОЛ
Процедура ДобавитьПротяжкуПередОтрезом(ОбъектДрайвера, ПараметрыПодключения)
    
    // Формируем пустые строки для принудительного продвижения ленты
    Для Сч = 1 По 4 Цикл
        ОбъектДрайвера.НапечататьНефискальнуюСтроку(ПараметрыПодключения.Иду ККТ, " ");
    КонецЦикла;
    
    // Только после этого вызываем закрытие и отрезку
    ОбъектДрайвера.ОтрезатьЧек(ПараметрыПодключения.Иду ККТ);
    
КонецПроцедуры

Использование этого метода позволяет программно отодвинуть чек за пределы зоны ножа до того, как сработает механизм автоотреза. Однако наиболее правильным подходом со стороны 1С является своевременное обновление БПО (Библиотеки подключаемого оборудования) до актуального релиза и использование ДТО 10, где подобные тайминги уже оптимизированы разработчиками АТОЛ и фирмы 1С.

Резюме и рекомендации

Если на вашей торговой точке АТОЛ 25Ф начал "радовать" покупателей перенесенными QR-кодами, выполните диагностику по следующему алгоритму:

← На главную