При обновлении конфигурации «1С:Розница» с редакции 2.0 на 2.2 пользователи часто сталкиваются с ситуацией, когда заранее настроенный справочник Шаблоны чеков ККМ перестает влиять на печать: фискальный регистратор выдает лаконичный типовой чек без привычной структуры, информации о возвратах, акциях и характеристиках номенклатуры. Проанализируем, почему это происходит в современных версиях программы, как устроена работа с кассовым оборудованием по 54-ФЗ и какими путями можно вывести необходимый текст на кассовую ленту.
Выясним причину такого поведения подсистемы торгового оборудования:
Если вам требуется вывести постоянную сервисную информацию (условия и сроки возврата товара в течение 14 дней, адрес сайта, приветствие или рекламный текст), оптимально настроить саму кассу без изменения конфигурации «1С:Розницы». Рассмотрим по шагам настройку для аппаратов линейки «Штрих-М»:
Когда требуется печатать уникальную информацию по конкретным товарам (размер, цвет, серийный номер), самый надежный путь, соответствующий требованиям 54-ФЗ — включение этих сведений в наименование товарной позиции (тег 1030).
Проанализируем ограничения: длина фискальной строки реквизита «наименование предмета расчета» строго регламентирована форматом фискальных данных и не может превышать 128 символов. При формировании данных для ККТ можно программно дополнить строку номенклатуры значением характеристики.
Если бизнес-процессы требуют вывода поясняющего текста непосредственно из документа продажи, разберем программный способ передачи нефискальных данных в модуль фискализации чека. В типовых решениях за сбор пакета отвечает общий модуль подсистемы БПО.
Найдем процедуру формирования фискального пакета (обычно это ПодготовитьДанныеДляФискализацииЧека или методы модуля МенеджерОборудованияКлиентСервер):
// Пример добавления сервисного текста в структуру параметров чека
// Добавление строк до начала товарных позиций
ОбщиеПараметры.ПозицииЧека.Добавить(Новый Структура("ТекстоваяСтрока, Текст", "", "Добро пожаловать в наш магазин!"));
Для Каждого СтрокаТовара Из ЧекККМ.Товары Цикл
// Добавление характеристики в наименование позиции
НаименованиеДляЧека = СокрЛП(СтрокаТовара.Номенклатура.Наименование);
Если ЗначениеЗаполнено(СтрокаТовара.Характеристика) Тогда
НаименованиеДляЧека = НаименованиеДляЧека + " (" + СокрЛП(СтрокаТовара.Характеристика.Наименование) + ")";
КонецЕсли;
// Ограничиваем длину строки требованиями ФФД (не более 128 символов)
НаименованиеДляЧека = Лев(НаименованиеДляЧека, 128);
КонецЦикла;
// Добавление текстовой информации в подвал чека перед закрытием
ОбщиеПараметры.ПозицииЧека.Добавить(Новый Структура("ТекстоваяСтрока, Текст", "", "Возврат товара возможен в течение 14 дней"));
Важное предупреждение: в зависимости от версии используемой прошивки ККТ и релиза БПО, передача текстовых структур внутрь таблицы позиций может вызывать исключение драйвера. Если драйвер возвращает ошибку при печати чека с произвольными строками, вывод нефискальной информации следует организовывать отдельной командой печати текстового нефискального документа сразу после фиксации чека продажи.
Если организация освобождена от обязательной передачи данных в ОФД (например, при определенных видах деятельности или в труднодоступных местностях) и требуется использовать именно графический шаблон из 1С, кассовый аппарат подключают в программе не как ККТ с передачей данных, а как Принтер чеков через специальный эмулятор или Windows-драйвер печати. В этом режиме программа «1С:Розница» передает управление встроенному табличному редактору шаблонов, и внешний вид чека будет полностью соответствовать макету, заданному в кассе ККМ.