С переходом на онлайн-кассы и требования Федерального закона № 54-ФЗ «О применении контрольно-кассовой техники» формат и состав фискального чека стали жестко регламентироваться. В конфигурации «1С:Розница» (начиная с редакций 2.2.5 и выше) разработчики существенно изменили механизм работы с шаблонами чеков ККМ. Многие пользователи и администраторы столкнулись с тем, что привычное редактирование макета чека оказалось заблокировано или не выводит необходимые реквизиты — например, артикул номенклатуры или имя конкретного продавца-консультанта.
В рамках данной статьи мы подробно разберем, как устроена фискализация чеков в современных версиях программы, почему стандартными средствами нельзя напрямую менять фискальные поля и как решить задачу вывода дополнительных данных (артикула, продавца и корректного ФИО кассира) на чековую ленту.
При открытии стандартного редактора шаблонов чеков в «1С:Розница» вы можете обнаружить, что фискальные области (таблица товаров, итоговая сумма, налоги) обведены рамкой и недоступны для интерактивного изменения. Это не ошибка программы, а защита от нарушения законодательства.
Согласно требованиям 54-ФЗ, фискальный накопитель (ФН) и сама ККТ должны получать строго определенный набор XML-данных (пакет фискализации). Программа передает драйверу кассы сведения о товарах, ценах, ставках НДС и признаках расчета. Драйвер ККТ сам формирует фискальную часть чека на основе этих данных и требований формата фискальных данных (ФФД 1.05, 1.1 или 1.2). Любое ручное искажение структуры фискальных тегов на уровне макета 1С привело бы к невозможности пробития чека или к штрафам от налоговой инспекции за некорректные реквизиты.
Тем не менее, закон разрешает выводить на чековую ленту любую дополнительную нефискальную информацию. Это могут быть маркетинговые сообщения, условия гарантии, QR-код для быстрого перехода на сайт, артикул товара или фамилия продавца, который помог покупателю в торговом зале. Выводить такую информацию можно как в верхней части чека (шапке), так и в нижней (подвале).
Одной из частых проблем является вывод системного имени (например, «Администратор» или «Кассир 1») вместо реальных фамилии и должности сотрудника, осуществившего расчет. В современных онлайн-кассах этот реквизит передается напрямую из базы данных «1С».
Проанализируем, откуда программа берет эти сведения. В ККТ нового образца данные кассира подставляются динамически при пробитии чека. Алгоритм работы системы следующий:
ФизическиеЛица.Решение проблемы: Если в чеке печатается некорректное имя, не нужно перенастраивать таблицы драйвера ККТ. Достаточно зайти в раздел Администрирование — Настройки пользователей и прав — Пользователи. Откройте карточку нужного сотрудника, проверьте, указано ли в поле Физическое лицо реальное физлицо, и заполнено ли у этого физлица поле ФИО.
Рассмотрим ситуацию, когда стандартных полей макета недостаточно. Например, нам нужно вывести под наименованием каждого товара его артикул, а в подвале чека — фамилию продавца, оформившего продажу в РМК. Для этого нам потребуется изменить схему компоновки данных (СКД), которая является источником информации для шаблона чека.
Выполним эту задачу по шагам:
Шаг 1. Запуск системы в режиме Толстого клиента
Конструктор схем компоновки данных и интерактивный редактор макетов 1С полноценно работают только в режиме Толстого клиента. Перед началом работы закройте программу. В окне запуска «1С:Предприятия» выделите вашу базу, нажмите кнопку «Изменить», перейдите на последнюю вкладку настроек и в поле «Режим запуска» принудительно выберите «Толстый клиент». Запустите базу под учетной записью с правами администратора.
Шаг 2. Переход к редактированию шаблонов
Перейдите в раздел меню Администрирование — Печатные формы, отчеты и обработки — Шаблоны этикеток, ценников и чеков ККМ. Найдите в списке ваш рабочий шаблон чека ККТ (или создайте новый на основе системного шаблона «Чек ККТ») и откройте его форму.
Шаг 3. Редактирование схемы компоновки данных (СКД)
В форме шаблона нажмите кнопку «Редактировать СКД». Перед вами откроется встроенный конструктор схемы компоновки данных. Здесь формируется запрос, который собирает данные из документа ЧекККМ для последующего вывода на печать.
Номенклатура.Артикул. Если поле артикула уже присутствует в доступных полях номенклатуры, просто перенесите его в список выбранных полей схемы компоновки.Продавец.Наименование (или Продавец.ФизическоеЛицо.Наименование).Шаг 4. Изменение макета чека
После успешного изменения СКД нажмите на кнопку «Редактировать макет». В левой части экрана в списке «Доступные поля» появятся только что добавленные нами реквизиты — «Артикул» и «Продавец».
Теперь мы можем перетащить их мышкой в структуру чека:
[Наименование] новую строку макета и перетащите туда поле [Артикул]. Вы можете скомбинировать текст, написав, например: Арт.: [Артикул].[Продавец].Если по каким-то причинам стандартный механизм редактирования шаблонов в вашей версии конфигурации заблокирован или вы используете старое торговое оборудование (фискальные регистраторы без поддержки онлайн-форматов, работающие по старым драйверам), можно использовать программный обходной путь. Он заключается во внедрении кода печати нефискальных строк непосредственно в модули интеграции с торговым оборудованием.
В драйверах ККМ (как АТОЛ, так и Штрих-М) предусмотрен специальный метод для вывода произвольного текста на чековую ленту, который не передается в ОФД, но физически распечатывается на бумаге. Проанализируем пример программного вывода информации:
// Пример модификации процедуры вывода чека на печать
// Код размещается в модуле интеграции с оборудованием, перед закрытием чека
ПараметрыСтроки = Новый Структура();
ПараметрыСтроки.Вставить("Текст", "Ваш продавец: " + СокрЛП(ОбъектДрук.Продавец.Наименование));
ПараметрыСтроки.Вставить("Шрифт", 1); // Обычный размер шрифта
ПараметрыСтроки.Вставить("УдвоеннаяШирина", Ложь);
// Вызов низкоуровневого метода драйвера оборудования
РезультатПечати = ОбъектДрайвера.НапечататьНефискСтроку(ПараметрыПодключения, ПараметрыСтроки);
Подобный вызов можно интегрировать в общий модуль ПодключаемоеОборудованиеУниверсальныйДрайверКлиент в функцию ФискализацияЧека. Этот способ требует базовых навыков программирования и понимания структуры API драйверов торгового оборудования, однако он гарантированно позволяет вывести любую текстовую информацию в обход ограничений визуального конструктора макетов 1С.
Подводя итог, отметим: для современных онлайн-касс наиболее правильным и обновляемым решением является редактирование СКД шаблона чека в режиме Толстого клиента, так как это сохраняет типовую конфигурацию на поддержке и гарантирует стабильную работу при последующих обновлениях «1С:Розница».