При оформлении продаж с применением скидок или с частичной оплатой бонусными баллами пользователи конфигурации 1С:Управление торговлей 11 часто сталкиваются с ситуацией, когда обычные чеки пробиваются без проблем, но при добавлении скидки или бонусов фискальный регистратор (например, АТОЛ 52Ф или АТОЛ 30Ф) выдает ошибку или платформа 1С аварийно завершает работу.
Разберем по шагам причины возникновения этой проблемы и рассмотрим проверенные способы её устранения.
Проанализируем механику передачи данных из 1С в драйвер кассового аппарата. Когда в чеке присутствует скидка или частичная оплата бонусами, 1С распределяет сумму скидки по позициям номенклатуры. В устаревших версиях драйверов (в частности, линейки АТОЛ ДТО 8.x) алгоритмы расчета округления копеек отличаются от внутренних алгоритмов 1С.
В результате возникает математическое расхождение: сумма строк с учетом скидки не сходится с итоговой суммой чека на 1 копейку. ККТ блокирует печать такого чека, воспринимая это как нарушение требований ФФД (Формата фискальных документов).
Решение: Установим более свежую версию драйвера ККТ АТОЛ (ДТО 9 или ДТО 10), в которой переработан механизм обработки суммовых скидок и форматно-логического контроля.
После установки дистрибутива ДТО 9 в операционную систему попытка пробить чек может привести к критической ошибке и закрытию программы 1С. Выясним, почему это происходит.
Падение платформы вызывает рассинхронизация версий: в самой 1С в справочнике драйверов зарегистрирована одна интеграционная компонента (файл fptr1c.dll / fptr.dll), а в системе установлен дистрибутив другой сборки. При вызове функций внешнего драйвера возникает конфликт структур данных C++.
Разберем процесс обновления драйвера ККТ непосредственно внутри 1С:
Drivers9-KKT-9.x.x).Если используемый релиз конфигурации (например, УТ 11.3) содержит устаревший комплект встроенных библиотек для работы с ДТО 9, выполним следующую процедуру:
Драйверы оборудования и экспортируем zip-архив внешней компоненты АТОЛ ДТО 9/10.Посмотрим на настройки самой кассы в 1С. Чтобы исключить копеечные погрешности при делечении цены на некратное количество товара со скидкой, настроим форматно-логический контроль:
Разделять позиции).При этой настройке 1С автоматически разобьет одну позицию номенклатуры с некратной суммой скидки на несколько строк с разной ценой (например, 1 шт. по 100 руб. и 1 шт. по 99.99 руб.), чтобы итоговая сумма точно совпала с фискальным чеком.