Как изменить фискальный чек ККМ в 1С:Розница и добавить в него продавца или артикул товара?

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

С переходом на онлайн-кассы и требования Федерального закона № 54-ФЗ «О применении контрольно-кассовой техники» формат и состав фискального чека стали жестко регламентироваться. В конфигурации «1С:Розница» (начиная с редакций 2.2.5 и выше) разработчики существенно изменили механизм работы с шаблонами чеков ККМ. Многие пользователи и администраторы столкнулись с тем, что привычное редактирование макета чека оказалось заблокировано или не выводит необходимые реквизиты — например, артикул номенклатуры или имя конкретного продавца-консультанта.

В рамках данной статьи мы подробно разберем, как устроена фискализация чеков в современных версиях программы, почему стандартными средствами нельзя напрямую менять фискальные поля и как решить задачу вывода дополнительных данных (артикула, продавца и корректного ФИО кассира) на чековую ленту.

Почему часть макета чека ККТ заблокирована для редактирования?

При открытии стандартного редактора шаблонов чеков в «1С:Розница» вы можете обнаружить, что фискальные области (таблица товаров, итоговая сумма, налоги) обведены рамкой и недоступны для интерактивного изменения. Это не ошибка программы, а защита от нарушения законодательства.

Согласно требованиям 54-ФЗ, фискальный накопитель (ФН) и сама ККТ должны получать строго определенный набор XML-данных (пакет фискализации). Программа передает драйверу кассы сведения о товарах, ценах, ставках НДС и признаках расчета. Драйвер ККТ сам формирует фискальную часть чека на основе этих данных и требований формата фискальных данных (ФФД 1.05, 1.1 или 1.2). Любое ручное искажение структуры фискальных тегов на уровне макета 1С привело бы к невозможности пробития чека или к штрафам от налоговой инспекции за некорректные реквизиты.

Тем не менее, закон разрешает выводить на чековую ленту любую дополнительную нефискальную информацию. Это могут быть маркетинговые сообщения, условия гарантии, QR-код для быстрого перехода на сайт, артикул товара или фамилия продавца, который помог покупателю в торговом зале. Выводить такую информацию можно как в верхней части чека (шапке), так и в нижней (подвале).

Настройка вывода ФИО кассира (Тег 1021) в соответствии с 54-ФЗ

Одной из частых проблем является вывод системного имени (например, «Администратор» или «Кассир 1») вместо реальных фамилии и должности сотрудника, осуществившего расчет. В современных онлайн-кассах этот реквизит передается напрямую из базы данных «1С».

Проанализируем, откуда программа берет эти сведения. В ККТ нового образца данные кассира подставляются динамически при пробитии чека. Алгоритм работы системы следующий:

  1. В момент нажатия кнопки «Пробить чек» система определяет текущего авторизованного Пользователя 1С, под учетной записью которого открыта рабочая смена в РМК.
  2. В настройках этого пользователя программа находит связанный элемент справочника ФизическиеЛица.
  3. Из карточки физического лица извлекается полное имя (ФИО) и должность сотрудника. Именно эти данные передаются в XML-пакет фискализации для заполнения обязательного тега 1021.

Решение проблемы: Если в чеке печатается некорректное имя, не нужно перенастраивать таблицы драйвера ККТ. Достаточно зайти в раздел АдминистрированиеНастройки пользователей и правПользователи. Откройте карточку нужного сотрудника, проверьте, указано ли в поле Физическое лицо реальное физлицо, и заполнено ли у этого физлица поле ФИО.

Пошаговая инструкция: как добавить артикул и продавца в макет чека

Рассмотрим ситуацию, когда стандартных полей макета недостаточно. Например, нам нужно вывести под наименованием каждого товара его артикул, а в подвале чека — фамилию продавца, оформившего продажу в РМК. Для этого нам потребуется изменить схему компоновки данных (СКД), которая является источником информации для шаблона чека.

Выполним эту задачу по шагам:

Шаг 1. Запуск системы в режиме Толстого клиента

Конструктор схем компоновки данных и интерактивный редактор макетов 1С полноценно работают только в режиме Толстого клиента. Перед началом работы закройте программу. В окне запуска «1С:Предприятия» выделите вашу базу, нажмите кнопку «Изменить», перейдите на последнюю вкладку настроек и в поле «Режим запуска» принудительно выберите «Толстый клиент». Запустите базу под учетной записью с правами администратора.

Шаг 2. Переход к редактированию шаблонов

Перейдите в раздел меню АдминистрированиеПечатные формы, отчеты и обработкиШаблоны этикеток, ценников и чеков ККМ. Найдите в списке ваш рабочий шаблон чека ККТ (или создайте новый на основе системного шаблона «Чек ККТ») и откройте его форму.

Шаг 3. Редактирование схемы компоновки данных (СКД)

В форме шаблона нажмите кнопку «Редактировать СКД». Перед вами откроется встроенный конструктор схемы компоновки данных. Здесь формируется запрос, который собирает данные из документа ЧекККМ для последующего вывода на печать.

  1. Перейдите на вкладку «Наборы данных» и найдите поле запроса, отвечающее за выборку товаров.
  2. В окне запроса добавьте связь с таблицей номенклатуры, чтобы вытащить поле Номенклатура.Артикул. Если поле артикула уже присутствует в доступных полях номенклатуры, просто перенесите его в список выбранных полей схемы компоновки.
  3. Для добавления продавца найдите в запросе обращение к шапке документа или к табличной части чека (в зависимости от того, как у вас фиксируется личные продажи — на весь чек или построчно) и добавьте поле Продавец.Наименование (или Продавец.ФизическоеЛицо.Наименование).
  4. Убедитесь, что для новых полей заданы понятные псевдонимы (например, «Артикул» и «Продавец») на вкладке «Поля» в СКД.
  5. Нажмите кнопку «Завершить редактирование» для сохранения схемы компоновки данных.

Шаг 4. Изменение макета чека

После успешного изменения СКД нажмите на кнопку «Редактировать макет». В левой части экрана в списке «Доступные поля» появятся только что добавленные нами реквизиты — «Артикул» и «Продавец».

Теперь мы можем перетащить их мышкой в структуру чека:

  1. Найдите строку вывода информации о товаре. Добавьте под полем [Наименование] новую строку макета и перетащите туда поле [Артикул]. Вы можете скомбинировать текст, написав, например: Арт.: [Артикул].
  2. Перейдите в нижнюю часть макета (подвал чека) и добавьте текстовое поле, содержащее переменную [Продавец].
  3. Сохраните изменения в макете и запишите шаблон чека.

Альтернативный программный метод: печать нефискальных строк

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

В драйверах ККМ (как АТОЛ, так и Штрих-М) предусмотрен специальный метод для вывода произвольного текста на чековую ленту, который не передается в ОФД, но физически распечатывается на бумаге. Проанализируем пример программного вывода информации:


// Пример модификации процедуры вывода чека на печать
// Код размещается в модуле интеграции с оборудованием, перед закрытием чека

ПараметрыСтроки = Новый Структура();
ПараметрыСтроки.Вставить("Текст", "Ваш продавец: " + СокрЛП(ОбъектДрук.Продавец.Наименование));
ПараметрыСтроки.Вставить("Шрифт", 1); // Обычный размер шрифта
ПараметрыСтроки.Вставить("УдвоеннаяШирина", Ложь);

// Вызов низкоуровневого метода драйвера оборудования
РезультатПечати = ОбъектДрайвера.НапечататьНефискСтроку(ПараметрыПодключения, ПараметрыСтроки);

Подобный вызов можно интегрировать в общий модуль ПодключаемоеОборудованиеУниверсальныйДрайверКлиент в функцию ФискализацияЧека. Этот способ требует базовых навыков программирования и понимания структуры API драйверов торгового оборудования, однако он гарантированно позволяет вывести любую текстовую информацию в обход ограничений визуального конструктора макетов 1С.

Подводя итог, отметим: для современных онлайн-касс наиболее правильным и обновляемым решением является редактирование СКД шаблона чека в режиме Толстого клиента, так как это сохраняет типовую конфигурацию на поддержке и гарантирует стабильную работу при последующих обновлениях «1С:Розница».

← На главную