При работе с контрольно-кассовой техникой Атол на 5-й платформе, особенно в связке с конфигурацией 1С Управление Торговлей 10.3, пользователи часто сталкиваются с проблемой отсутствия номера чека на печатной форме. Несмотря на то, что Атол по умолчанию исключил этот реквизит, номер чека остается важным для многих бизнес-процессов. Давайте рассмотрим, почему так происходит и какие существуют пути решения этой задачи.
Прежде всего, давайте выясним причину, по которой номер чека перестал печататься. Эта ситуация возникла в связи с изменениями в законодательстве Российской Федерации, вступившими в силу после 1 марта 2020 года. Эти изменения исключили номер смены и номер чека в смене из списка обязательных реквизитов фискального чека. В ответ на это, производитель ККТ Атол, начиная с прошивки 5.7.0 для 5-й платформы, по умолчанию прекратил печать этих реквизитов.
Однако, в некоторых случаях, после обновления прошивки или перехода на 5-ю платформу, ККТ может начать снова печатать эти номера, "вспоминая" старые требования. В таких ситуациях, напротив, может потребоваться установка специальных шаблонов, которые отключают печать номера смены и номера чека. Например, для 80 мм ленты это могут быть шаблоны ATEC3012.con (для сжатого шрифта) и ATCP3010.con (для стандартного шрифта).
Наиболее эффективным и рекомендованным способом для управления содержимым печатного чека на ККТ Атол 5-й платформы является использование специализированного программного обеспечения – Драйвера ККТ Атол (ДТО) и входящего в его состав Редактора шаблонов чеков АТОЛ (Template Editor). Это позволяет нам модифицировать внешний вид чека на уровне фискального регистратора.
Драйвер ККТ Атол, а затем найти и открыть Редактор шаблонов чеков АТОЛ (Template Editor). Этот инструмент предназначен для визуального и текстового редактирования шаблонов.
123456789012345678901234 #Область ШапкаЧека24
[ Заголовок ]
[ Организация ]
[ ИНН ]
========================
Номер чека:[НомерЧекаККМ]
========================
#КонецОбласти
В приведенном примере [НомерЧекаККМ] является плейсхолдером, который ККТ будет автоматически заменять на фактическое значение, если оно доступно в данных, передаваемых для печати. Если подобного плейсхолдера нет в вашем шаблоне, мы можем попытаться добавить его вручную в соответствующую область (например, #Область ШапкаЧека или #Область ПодвалЧека).
ПО ККТ в Драйвере ККТ, выбираем измененный шаблон и инициируем процесс загрузки.
Основные активирована опция Использовать загружаемые шаблоны, установленная в значение Да. Без этого касса будет продолжать использовать свои встроенные (дефолтные) шаблоны.
ATCP), компактный (ATEC) и сверхкомпактный (ATUC). При редактировании шаблона мы можем использовать один из них в качестве основы.
Также, если нам нужно добавить статичный текст или изображение в верхнюю или нижнюю часть чека (так называемое "клише"), это делается отдельно в драйвере, а не в самом шаблоне. Мы найдем эти настройки через раздел Свойства в драйвере, затем Параметры ККТ, пункт Клише.
Если по каким-либо причинам вернуть печать номера чека как фискального реквизита через редактирование шаблона не удается или требуется большая гибкость, мы можем использовать механизм добавления нефискальных строк. Этот подход позволяет нам вставить произвольный текстовый блок в чек, который не будет являться фискальными данными.
Для реализации этого решения нам потребуется доработка конфигурации 1С Управление Торговлей 10.3, так как мы будем управлять передачей данных в драйвер ККТ программно.
ЧекККМ или в общих модулях работы с подключаемым оборудованием.
Документ.ЧекККМ или из механизма нумерации, который использует 1С для этих документов. Нам потребуется обеспечить, чтобы этот номер был сформирован и доступен до момента отправки данных в драйвер.
КассоваяСмена. Мы должны будем извлечь его оттуда.
Для примера, мы можем принять, что переменная Номер уже содержит нужный нам номер чека.
Рассмотрим пример кода, демонстрирующий, как можно добавить нефискальную строку:
// Предполагаем, что "МенеджерОборудованияКлиентСервер" и "ОбщиеПараметры"
// являются доступными объектами, предоставляющими интерфейс к драйверу ККТ.
// "Номер" должен быть переменной, содержащей нужный номер чека.
СтрокаТекста = МенеджерОборудованияКлиентСервер.ПараметрыТекстовойСтрокиЧекаФормат("Документ № " + Номер);
ОбщиеПараметры.ПозицииЧека.Добавить(СтрокаТекста);
// Далее мы продолжаем формирование фискальных позиций чека
Для Каждого СтрокаТовара Из ЧекККМ.Товары Цикл
СтрокаЧека = МенеджерОборудованияКлиентСервер.ПараметрыФискальнойСтрокиЧека;
// Здесь заполняем необходимые параметры для каждой позиции товара:
// СтрокаЧека.Наименование = СтрокаТовара.Номенклатура.НаименованиеПолное;
// СтрокаЧека.Количество = СтрокаТовара.Количество;
// СтрокаЧека.Цена = СтрокаТовара.Цена;
// СтрокаЧека.Сумма = СтрокаТовара.Сумма;
// СтрокаЧека.СтавкаНДС = СтрокаТовара.СтавкаНДС;
// и другие реквизиты, необходимые для фискализации...
ОбщиеПараметры.ПозицииЧека.Добавить(СтрокаЧека);
КонецЦикла;
В этом примере метод МенеджерОборудованияКлиентСервер.ПараметрыТекстовойСтрокиЧекаФормат() используется для создания объекта, представляющего собой нефискальную текстовую строку, которую мы хотим вывести на печать. Затем, метод ОбщиеПараметры.ПозицииЧека.Добавить() добавляет эту строку в общий список элементов чека, которые будут переданы в драйвер ККТ для печати.
Рассмотрим пример:
// Предполагаем, что "Fptr" - это объект драйвера ККТ,
// доступный в контексте выполнения кода 1С.
// Добавление текста в шапку чека
Fptr.setParam(Fptr.LIBFPTR_PARAM_TEXT, "Ваш текст в шапке чека\n");
Fptr.setHeaderLines();
// ... здесь будет код для формирования основных фискальных позиций чека ...
// Добавление текста в подвал чека
Fptr.setParam(Fptr.LIBFPTR_PARAM_TEXT, "Ваш текст в подвале чека\n");
Fptr.setFooterLines();
Обратите внимание, что символ \n используется для принудительного переноса строки в тексте. Метод Fptr.setHeaderLines() отправляет текст для печати в области шапки, а Fptr.setFooterLines() — в области подвала. Эти команды должны быть вызваны в соответствующих местах процесса формирования чека.
Важный нюанс при использовании нефискальных строк: Как справедливо отмечали пользователи, на новых моделях ККТ нефискальные строки, добавленные таким образом, могут печататься после всех фискальных строк, а не в середине документа, как это было на старых кассах. Это может повлиять на читаемость чека или его соответствие определенным внутренним требованиям. Необходимо учитывать этот аспект при планировании внедрения.
Также важно понимать, что редактирование макета Документ.ЧекККМ в 1С УТ 10.3 само по себе может быть недостаточным для решения проблемы. Фискальные данные и их печать в значительной степени регулируются прошивкой ККТ и драйвером, а не только макетом, определенным в конфигурации 1С. Изменения в макете могут не оказывать влияния на обязательные реквизиты, контролируемые фискальным регистратором.
Хотя номер чека и был исключен из списка обязательных фискальных реквизитов, он по-прежнему играет важную роль в различных бизнес-процессах. Давайте рассмотрим основные причины, по которым пользователи стремятся вернуть его печать:
Мы видим, что проблема отсутствия печати номера чека на ККТ Атол 5-й платформы, возникающая при работе с 1С УТ 10.3, имеет несколько путей решения. Наиболее надежным способом является редактирование шаблонов чеков через Драйвер ККТ Атол, что позволяет напрямую управлять содержимым, печатаемым фискальным регистратором. Однако, если этот подход не сработал или требуется большая гибкость, мы всегда можем рассмотреть вариант добавления номера чека как нефискальной строки посредством доработки 1С Управление Торговлей 10.3, несмотря на возможные ограничения по расположению такой строки в итоговом чеке.
Выбор конкретного решения будет зависеть от нашей технической возможности, имеющегося опыта в конфигурировании 1С и работы с драйверами ККТ, а также от специфических требований бизнеса к формату чека.