Как настроить отображение суммы скидки в бумажном чеке в 1С:Розница?

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

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

В этой статье мы подробно разберем, почему скидка пропадает на этапе печати и как настроить программный комплекс 1С и драйвер ККТ Штрих-М, чтобы информация о скидках стала доступна покупателю. Мы проанализируем технические параметры драйвера, структуру XML-пакета, передаваемого кассе, и настройки шаблонов чеков внутри 1С.

Анализ данных: Проверка передачи DiscountAmount

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


<Positions>
    <FiscalString Name="Пакет подарочный маленький в асс."
        Quantity="1"
        PriceWithDiscount="40"
        AmountWithDiscount="40"
        DiscountAmount="10"
        Department="1"
        VATRate="none"
        VATAmount="0"
        PaymentMethod="4"
        CalculationSubject="1"
        MeasureOfQuantity="0">
      <GoodCodeData EAN13="NjkwMDA0MjYyMjkwOA=="/>
    </FiscalString>
</Positions>

В данном примере мы видим атрибут DiscountAmount="10". Это означает, что 1С честно сообщает кассе: "Товар стоит 40 рублей, но в эту цену уже включена скидка 10 рублей". Если этот атрибут присутствует в логах драйвера, значит, проблема кроется исключительно в настройках печатающего устройства или в алгоритме обработки данных самим драйвером.

Способ 1: Настройка параметров оборудования в 1С

Многие системные администраторы пытаются решить проблему через "Тест драйвера ККТ", меняя значение в Таблице 17, поле 3 (Печать скидок). Однако часто после перезагрузки кассы или открытия новой смены настройки сбрасываются. Выясним причину: 1С при инициализации оборудования принудительно перезаписывает настройки драйвера своими внутренними параметрами.

Чтобы изменения стали постоянными, выполним следующие шаги в интерфейсе 1С:

  1. Перейдем в раздел НСИ и администрирование — РМК и оборудование (где также настраивается использование нескольких касс в РМК) — Подключаемое оборудование.
  2. Выберем нужную ККТ и нажмем кнопку Настроить.
  3. В открывшемся окне параметров драйвера найдем вкладку (или раздел) Параметры печати.
  4. Найдем пункт Печать скидок и установим значение "Да" или выберем соответствующий тип вывода.
  5. Запишем настройки. Теперь при каждом соединении 1С сама будет устанавливать нужное значение в память ККТ.

Способ 2: Настройка шаблона чека ККМ

Если настройки драйвера верны, но скидка всё равно не выводится, нам нужно проверить, какой Шаблон чека используется в программе. В 1С:Розница существует два основных подхода к формированию чека:

Рассмотрим настройку программного шаблона, так как он дает больше гибкости:

  1. Откроем справочник Шаблоны чеков ККМ.
  2. Найдем используемый шаблон и перейдем в режим редактирования.
  3. В правой части редактора (состав чека) найдем группу Товарные позиции.
  4. Проверим наличие полей СуммаБезСкидки и Скидка. Если их нет, перетащим их из списка доступных полей слева.
  5. В свойствах поля скидки установим параметр Выводить скидку в значение "В каждой строке" или "Итоговой суммой в конце чека".

Важный нюанс: В режиме ФФД 1.2 по закону 54-ФЗ в фискальный признак чека всегда должна попадать цена с уже учтенной скидкой. Поэтому строка "Скидка" в чеке чаще всего является чисто информационным (нефискальным) текстом. Если в настройках драйвера ККТ запрещена "Печать нефискальной информации", касса просто проигнорирует эти строки от 1С.

Способ 3: Особенности работы со Штрих-М и ФФД 1.2

Проанализируем специфику оборудования Штрих-Лайт 01. Для корректной работы со скидками в современных условиях рекомендуется использовать драйвер версии не ниже 5.16. В более ранних версиях наблюдались ошибки при обработке тега DiscountAmount в режиме ФФД 1.2.

Также стоит проверить настройку "Печать только фискальных операций" в драйвере. Если этот флаг установлен, касса будет отсекать любую информацию, которую 1С пытается вывести методом PrintString (печать строки) между позициями чека. Рассмотрим, как это исправить:

  1. Запустим утилиту Тест драйвера ККТ.
  2. Зайдем в Настройка свойств — Параметры ККТ.
  3. Перейдем в раздел Таблицы.
  4. Найдем Таблицу 17 (Региональные настройки) и проверим поле "Печать скидок". Установим значение "0" или "1" в зависимости от желаемого визуального эффекта (скидка на позицию или на чек).
  5. Обязательно проверим Таблицу 1, поле 17 (если оно доступно в вашей версии прошивки), отвечающее за разрешение нефискальной печати.

Способ 4: Округления и математические расхождения

Иногда касса отказывается печатать скидку из-за конфликта округлений. Рассмотрим ситуацию: 1С рассчитала скидку так, что цена за единицу стала иметь более двух знаков после запятой, но в XML передала округленное значение. Если AmountWithDiscount не совпадает с (Price * Quantity) - DiscountAmount, касса может "выбросить" блок скидки, чтобы чек остался математически верным и прошел фискализацию.

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

Подведение итогов

Для того чтобы клиент увидел заветную строку со скидкой, мы должны действовать комплексно: Во-первых, убедиться, что 1С передает данные о скидке в XML. Во-вторых, настроить шаблон чека в 1С, добавив туда соответствующие поля. В-третьих, проверить настройки оборудования в самой 1С (а не только в драйвере), чтобы программа не затирала наши правки в таблицах ККТ. И, в-четвертых, убедиться, что прошивка кассы и версия драйвера актуальны для работы с протоколом ФФД 1.2.

Соблюдение этих шагов позволит сделать процесс покупки прозрачным для потребителя и избежать лишних вопросов на кассовой зоне.

← На главную