При работе с контрольно-кассовой техникой (ККТ) АТОЛ, особенно на современных моделях вроде 25Ф или 30Ф под управлением драйвера 10-й версии, пользователи и программисты часто сталкиваются с ситуацией, когда в чеке отображается только ставка НДС (например, 20%), но отсутствует расчетная сумма налога по каждой конкретной товарной позиции. При этом итоговая сумма НДС по всему чеку печатается корректно. Рассмотрим подробно причины такого поведения кассы и способы вывода детальной информации по налогам на чековую ленту.
Прежде чем приступать к техническим настройкам, проанализируем нормативную базу. Согласно Федеральному закону № 54-ФЗ и приказам ФНС, описывающим форматы фискальных документов (ФФД 1.05, 1.1, 1.2), обязательным реквизитом для печатной формы чека в составе предмета расчета является именно ставка НДС (тег 1199).
Сумма НДС за предмет расчета (тег 1200) является обязательной для электронного чека, который уходит в ОФД. В печатной же форме она имеет статус «рекомендуемой» или может не печататься вовсе. Производители ККТ, включая АТОЛ, в новых прошивках (Платформа 5.0) часто отключают этот реквизит в стандартных шаблонах для экономии чековой ленты. Таким образом, отсутствие суммы налога по строке не является нарушением закона, если итоговые суммы по ставкам НДС указаны в конце чека. Однако для внутреннего учета или по просьбе покупателей этот реквизит часто требуется вернуть.
Важно понимать различие между старыми кассами на Платформе 2.5 и новыми на Платформе 5.0. В Платформе 2.5 формирование внешнего вида чека во многом определялось программным кодом из 1С. В Платформе 5.0 логика печати практически полностью перенесена внутрь прошивки ККТ. Теперь касса получает данные (цену, количество, ставку), а затем сама решает, как их расположить на ленте, используя внутренние шаблоны.
Если в используемом шаблоне чека не прописан вывод тега 1200 в блоке товарной позиции, никакие программные методы из 1С не заставят кассу его напечатать. Разберем, как проверить и изменить настройки отображения налогов.
Для начала попробуем активировать печать суммы НДС через стандартные параметры ККТ. Для этого выполним следующие шаги:
Также стоит обратить внимание на выбор самого шаблона. В параметрах ККТ в разделе «Печать» можно выбрать номер шаблона (обычно их от 1 до 5). Попробуем переключиться со «Сжатого» или «Компактного» шаблона на «Стандартный», так как в нем по умолчанию заложено больше информационных полей.
Если стандартные настройки не помогают, единственным надежным способом является редактирование самого файла шаблона чека. Для этого компания АТОЛ предоставляет специальную утилиту «Редактор шаблонов».
Алгоритм работы выглядит так:
.t2l1).Важно: Данная процедура требует определенных навыков работы с низкоуровневым ПО АТОЛ. Перед загрузкой нового шаблона обязательно сохраните резервную копию заводского варианта.
Хотя основная проблема кроется в настройках ККТ, мы должны убедиться, что из 1С передаются корректные параметры налога. Рассмотрим пример кода, который инициализирует передачу налогов в позицию чека при использовании Драйвера ККТ 10.х:
// Установка параметров позиции перед регистрацией
Объект.setParam(Объект.LIBFPTR_PARAM_COMMODITY_NAME, "Наименование товара");
Объект.setParam(Объект.LIBFPTR_PARAM_PRICE, ЦенаТовара);
Объект.setParam(Объект.LIBFPTR_PARAM_QUANTITY, Количество);
// Указываем ставку НДС (например, НДС 20%)
// LIBFPTR_TAX_VAT20 - константа для ставки 20%
Объект.setParam(Объект.LIBFPTR_PARAM_TAX_TYPE, Объект.LIBFPTR_TAX_VAT20);
// Если мы хотим принудительно передать сумму НДС, рассчитанную в 1С
Объект.setParam(Объект.LIBFPTR_PARAM_TAX_SUM, СуммаНДСИзДокумента);
// Регистрация позиции
Объект.registration();
Проанализируем ситуацию: если после выполнения метода registration() в чеке печатается «НДС 20%», значит, параметр LIBFPTR_PARAM_TAX_TYPE передан успешно. Если при этом вы также передаете LIBFPTR_PARAM_TAX_SUM, но она не появляется на бумаге — это прямое подтверждение того, что вывод суммы заблокирован настройками шаблона самой кассы. Для готовой реализации взаимодействия с кассой подойдёт обработка обслуживания АТОЛ ДТО10 для 1С 7.7.
Также проверьте параметр режима налогов. В некоторых случаях помогает явное указание режима вычисления налогов через драйвер:
// Установка режима вычисления налогов: попозиционно
Объект.setParam(Объект.LIBFPTR_PARAM_TAX_MODE, Объект.LIBFPTR_TM_POSITION);
Подводя итог, если ваша касса АТОЛ на Платформе 5.0 перестала печатать сумму НДС в каждой строке, выполните следующие действия:
Выяснив причину, связанную с переходом на новую логику шаблонизации в Платформе 5.0, вы сможете осознанно подойти к настройке кассового аппарата и обеспечить требуемую детализацию фискальных документов. Для прямой отправки чеков и управления параметрами печати через драйвер можно использовать инструмент независимой печати чеков на ККМ АТОЛ.