Как убрать строку «Надбавка» из чека ККТ АТОЛ при печати из 1С?

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

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

В этой статье мы подробно разберем, почему возникает данная проблема на ККТ АТОЛ (в частности, на популярных моделях вроде АТОЛ 77Ф), и рассмотрим эффективные методы ее устранения как на стороне кода 1С, так и через низкоуровневые настройки самой кассы.

Выясняем причину: откуда берется «Надбавка»?

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

Появление строки «Надбавка» (или «Скидка») чаще всего обусловлено двумя факторами:

  1. Математические расхождения при округлении: Кассовый аппарат производит жесткую арифметическую проверку по формуле: Количество * Цена = Сумма. В 1С из-за сложных алгоритмов распределения скидок (например, скидки на чек, дисконтные карты, округление копеек) цена за единицу товара может содержать три и более знаков после запятой, но в XML-пакет передаются округленные до двух знаков значения. Если произведение переданной цены на количество хотя бы на долю копейки не совпадает с итоговой суммой позиции, драйвер АТОЛ пытается сбалансировать это расхождение. Он регистрирует разницу как «Скидку» (если сумма меньше ожидаемой) или как «Надбавку» (если сумма больше).
  2. Передача избыточных тегов в XML: В устаревших интеграционных компонентах (или при использовании старых версий API) в XML-структуру могут принудительно включаться атрибуты скидок и наценок. Даже если эти параметры передаются пустыми (DiscountSum="") или нулевыми (Markup="0"), драйвер воспринимает сам факт наличия тега как команду вывести соответствующую область на печать.

Рассмотрим структуру «проблемного» XML-пакета старого формата, который отправляется в кассу:


<?xml version="1.0" encoding="UTF-8"?>
<CheckPackage>
    <Parameters PaymentType="2" TaxVariant="0" CashierName="Петрова Анна Петровна" CustomerEmail="" CustomerPhone=""/>
    <Positions>
        <FiscalString Name="Товар 1" Quantity="3" Price="22.5" Amount="67.5" Department="0" Tax="10"/>
        <FiscalString Name="Товар 2" Quantity="2" Price="22.5" Amount="45" Department="0" Tax="10"/>
    </Positions>
    <Payments Cash="112.5" CashLessType1="0" CashLessType2="0" CashLessType3="0"/>
</CheckPackage>

Давайте разберем по шагам, какими способами мы можем гарантированно избавиться от лишней строки в чеке.

---

Способ 1. Настройка параметров ККТ через «Тест драйвера» (Самый быстрый способ)

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

Для этого выполните следующие действия:

  1. Завершите работу всех сеансов 1С, которые могут использовать кассу, чтобы освободить порт подключения.
  2. Запустите утилиту «Тест драйвера ККТ» (рекомендуется использовать актуальную 10-ю версию драйвера АТОЛ).
  3. В правом верхнем углу окна утилиты установите флаг «Включено» для установки связи с аппаратом.
  4. Перейдите в раздел меню «Свойства», затем нажмите кнопку «Параметры ККТ».
  5. В открывшемся дереве настроек найдите ветку «Скидки / надбавки» (в некоторых прошивках ККТ это могут быть параметры под номерами 312 и 313):
    • Найдите параметр «Работа со скидками» и переведите его в значение 0 - Запрещены (если расчет всех скидок у вас полностью происходит на стороне 1С, и в кассу передается уже готовая конечная цена).
    • Найдите параметр «Работа с надбавками» и принудительно переведите его в статус 0 - Запрещены.
  6. Дополнительно перейдите в раздел «Печать» или «Настройки отчетов» и найдите флаг «Не печатать нулевые параметры» (или «Не печатать нулевые скидки/надбавки»). Установите его в активное состояние.
  7. Нажмите кнопку «Сохранить и выйти» (или «Применить»). Перезагрузите кассовый аппарат, выключив и включив его физическую кнопку питания.

После этой несложной операции ККТ АТОЛ на аппаратном уровне перестанет выводить на чековую ленту строки начислений, даже если драйвер попытается их передать.

---

Способ 2. Настройка форматно-логического контроля на стороне 1С

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

Проанализируем ситуацию на стороне 1С. Чтобы исключить копеечные расхождения, которые провоцируют появление «Надбавки», необходимо включить внутренний контроль расхождений:

  1. Перейдите в меню настройки параметров торгового оборудования в вашей базе 1С.
  2. Найдите карточку настроек вашей подключенной ККТ АТОЛ.
  3. Активируйте опцию «Форматно-логический контроль» (ФЛК).
  4. Установите параметр «Допустимое расхождение» в значение 0.01 (одна копейка). Это заставит систему принудительно корректировать копейки в пользу покупателя или округлять математические показатели до отправки XML, чтобы избежать расхождений между ценой, количеством и суммой.

---

Способ 3. Обновление драйверов и переход на новые форматы фискальных документов

Если вы до сих пор используете старые версии интеграционных компонент (например, API версии 2.05 и обработку обслуживания ККТ версии 2.3), пришло время выполнить глобальное обновление. Формат ФФД 1.0 давно ушел в прошлое, а современные форматы (ФФД 1.05, 1.1, 1.2) диктуют совершенно иные правила работы со скидками.

В современных стандартах фискализации понятия «скидка на чек» или «надбавка на весь чек» юридически упразднены. Каждая скидка должна быть распределена по позициям номенклатуры еще до момента отправки данных в кассу. Каждая позиция в XML-пакете должна содержать строго конечную цену.

Рекомендуем выполнить следующие шаги по обновлению программного контура:

  1. Обновите драйвер ККТ АТОЛ на рабочем компьютере до актуальной 10-й версии.
  2. В 1С обновите обработку обслуживания ККТ до актуальной версии (например, для обычных форм это версии 2.6 и выше).
  3. Переведите кассу в режим работы по стандарту ФФД 1.05 или выше.
  4. Убедитесь, что XML-пакет формируется по новым требованиям, где для каждой фискальной строки передается результирующая цена PriceWithDiscount (цена с учетом скидки) и итоговая сумма SumWithDiscount:

<Positions>
    <FiscalString Name="Товар такой-то..." Quantity="1" PriceWithDiscount="100" SumWithDiscount="100" DiscountSum="" Department="0" Tax="18" SignMethodCalculation="4" SignCalculationObject="4" TaxSum=""/>
</Positions>

Обратите внимание: если скидка или наценка на позицию равны нулю, старайтесь полностью исключать атрибуты DiscountSum, DiscountAmount или Markup из XML-структуры на этапе формирования пакета в коде 1С, а не передавать их с пустыми значениями "".

---

Способ 4. Изменение шаблона печати чека в памяти ККТ

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

Чтобы сменить шаблон печати:

  1. Откройте «Тест драйвера ККТ» и подключитесь к кассе.
  2. Зайдите в «Свойства» -> «Параметры ККТ».
  3. Перейдите в раздел настроек «Печать».
  4. Найдите пункт «Выбор шаблона чека» (или аналогичное название в зависимости от модели кассы) и установите значение 2 (или выберите вариант «Компактный» из выпадающего списка).
  5. Сохраните настройки и протестируйте печать чека из 1С. Компактный шаблон визуально уберет все лишние строки, сделав чек аккуратным и понятным для покупателя.

Применяя данные методы в комплексе — настроив округление копеек в 1С, обновив интеграционные компоненты до актуальных версий ФФД и отключив печать нулевых надбавок в параметрах драйвера ККТ АТОЛ, — вы навсегда избавитесь от некорректных строк в чеках и снимете лишние вопросы со стороны покупателей и контролирующих органов.

← На главную