При работе с контрольно-кассовой техникой (ККТ) разработчики часто сталкиваются с необходимостью повторно или отдельно распечатать шапку чека (клише с реквизитами организации), которая уже сохранена в энергонезависимой памяти кассового аппарата. Кроме того, нередко возникает вопрос: почему касса печатает шапку автоматически при включении или сразу после отрезки предыдущего чека, и как этим поведением управлять. Разберем механику работы клише в фискальных регистраторах и способы решения этой задачи как через настройки драйвера, так и программно из 1С.
Выясним причину автоматического вывода текста шапки. В большинстве моделей термопринтеров ККТ (например, АТОЛ или Штрих-М) печатающая головка конструктивно расположена перед ножом автоотрезчика. Чтобы чек был полностью отрезан, ленту необходимо протянуть вперед на определенное расстояние.
Чтобы бумага не расходовалась вхолостую, прошивка ККТ по умолчанию сразу после отрезки чека выводит шапку следующего документа. По этой же причине при включении питания или перезагрузке устройства на ленту может выходить пустое поле с уже напечатанным клише. Это стандартный режим работы, который можно переключить в параметрах оборудования через утилиту «Тест драйвера ККТ» (с режима «После отрезки чека» на «В начале чека» или полное управление печатью со стороны кассового ПО).
Если требуется принудительно распечатать шапку, хранящуюся в таблицах/памяти кассового аппарата, можно обратиться напрямую к объекту драйвера ККТ через COM-соединение или внешнюю компоненту.
Рассмотрим, какие методы отвечают за вывод клише у основных производителей:
PrintCliche() (или ПечатьКлише() в русскоязычном варианте). Текст клише берется из соответствующей таблицы параметров ККТ (обычно Таблица 4 «Текст в чеке»).printCliche() (в DTO 8 использовался метод ПечатьКлише()).Посмотрим на пример прямого обращения к драйверу ККТ для вывода клише:
// Пример прямого вызова метода печати клише через объект драйвера
Попытка
ДрайверККТ.printCliche();
Исключение
Сообщить("Ошибка при вызове печати клише: " + ОписаниеОшибки());
КонецПопытки;
При вызове стандартного метода печати клише разработчики нередко сталкиваются с тем, что вместе с реквизитами организации (шапкой) на ленту выводится нижний рекламный блок или подвал чека. Проанализируем, почему это происходит и как оставить только заголовок.
В памяти ККТ строки клише и строки рекламы хранятся в единой структуре текстовых констант, но контролируются двумя отдельными счетчиками:
Чтобы метод выводил исключительно шапку без рекламного блока, выполним следующие шаги в утилите настройки оборудования:
0.Если работа с кассой в конфигурации 1С ведется через типовые механизмы БПО (Библиотеки подключаемого оборудования), прямого унифицированного метода для изолированной печати аппаратного клише вне фискального документа не предусмотрено стандартом требований 1С.
В этом случае на практике применяются два подхода:
0. Вся шапка чека (логотип, реквизиты организации, контактные данные) генерируется средствами 1С и передается в XML-пакете фискализации чека перед фискальными позициями. Такой подход гарантирует одинаковый вид чека независимо от модели подключенного фискального регистратора и исключает задвоение строк.