Как исправить ошибку «Некорректная сумма налога» и зависание РМК после обновления 1С:Розница до 2.3.9.37?

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

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

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

Проблема 1: Ошибка «Некорректная сумма налога» при пробитии чека

Симптомы выглядят следующим образом: кассир формирует чек, нажимает кнопку оплаты, но чек не печатается на устройстве. Платформа выдает системное сообщение: «Чек не напечатан на устройстве для печати чеков. Описание ошибки: Некорректная сумма налога». Часто на самой кассе эта ошибка фиксируется под аппаратным кодом 128.

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


Функция СуммаНДС(Сумма, ПроцентНДС, ЦенаВключаетНДС = Истина) Экспорт 
    Если ЦенаВключаетНДС Тогда 
        СуммаНДС = Сумма * ПроцентНДС / (ПроцентНДС + 1); 
    Иначе 
        СуммаНДС = Сумма * ПроцентНДС; 
    КонецЕсли; 
    Возврат СуммаНДС; 
КонецФункции

Может показаться, что в формуле не хватает умножения на 100, так как процент НДС равен 20%. Однако, посмотрим на ситуацию внимательнее. Платформа 1С в данном контексте оперирует ставкой НДС не в целых числах, а в виде десятичной дроби. То есть в переменной ПроцентНДС хранится значение 0.2, а не 20.

Подставим значения в формулу для выделения НДС из суммы, включающей налог: 0.2 / (0.2 + 1) = 0.2 / 1.2. Математически это абсолютно верный алгоритм расчета. Код 1С отрабатывает штатно. Истинная причина кроется в аппаратной части и драйверах.

Рассмотрим подробнее способы решения этой ошибки:

  1. Сверка систем налогообложения (СНО). Перейдите в карточку организации (кнопка с «папочкой») и проверьте виды особых налогов. Убедитесь, что система налогообложения в 1С (например, ОСН или УСН) строго совпадает с той, которая физически зашита в фискальный накопитель ККТ. В конфигурации для ОСН параметры Системы налогооблажения ОСН и Пересчитывать суммы налогов после скидки на итог должны стоять в значении Истина. Любое расхождение СНО вызывает отказ драйвера рассчитывать налог.
  2. Обновление драйверов и прошивки ККТ. Поскольку релиз 2.3.9.37 перешел на стандарты ФФД 1.2, старые драйверы (например, АТОЛ DTO 10-й версии ниже определенного релиза) некорректно обрабатывают новые теги. Нам необходимо скачать актуальный драйвер с сайта производителя кассы, установить его в операционную систему, а затем обновить интеграционную компоненту в справочнике ПодключаемоеОборудование в самой 1С. Также крайне рекомендуется обновить внутреннюю прошивку кассового аппарата до последней версии.
  3. Очистка кэша компонент оборудования. Часто бывает так, что драйвер в Windows обновлен, но 1С упорно продолжает использовать старую версию из своего кэша. Чтобы принудительно заставить платформу подтянуть свежий драйвер, закройте 1С и полностью очистите папку ExtCompT в профиле пользователя (AppData\Roaming\1C\1cv8\ExtCompT). При следующем запуске и тесте устройства компонента скачается заново.

Проблема 2: Товары не удаляются из РМК после пробития чека

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

Выясним причину. В версии 2.3.9.37 разработчики 1С существенно переработали алгоритмы РМК. Появились новые проверки кодов маркировки и отправка электронных чеков. Эта проблема возникает в 99% случаев при работе с тестовым оборудованием — «Эмулятором ККТ» или при работе в демо-базе без подключения реальной кассы.

Из-за новой логики эмулятор ККТ не может корректно сформировать и вернуть в платформу финальный статус (callback) об успешном закрытии фискального документа по стандартам ФФД 1.2. 1С не получает подтверждения и, соответственно, не подает команду на очистку табличной части. Зависания же связаны с тем, что система в фоновом режиме пытается пересчитать автоматические скидки или отправить запросы к серверам проверки маркировки, не получая ответа от эмулятора.

Разберем по шагам, как решить эту проблему:

  1. Установка официальных исправлений (Патчей). Фирма 1С оперативно выпустила исправление для данного поведения эмулятора. Нам необходимо принудительно загрузить патчи.
  2. Перейдите в раздел Администрирование -> Обслуживание.
  3. Разверните блок Обновление программы и найдите пункт, отвечающий за загрузку исправлений (патчей).
  4. Если у вас настроена интернет-поддержка, запустите поиск и установку патчей. Проблема в том, что патч выпущен «старой датой», и автоматическая регламентная загрузка могла его пропустить.
  5. Если автоматическая загрузка не работает, зайдите на портал обновлений 1С (releases.1c.ru), найдите релиз Розницы 2.3.9.37, скачайте архив с патчами вручную и установите их через тот же раздел администрирования.
  6. После установки исправлений и перезапуска сеанса (или перезапуска службы сервера 1С, если это клиент-серверный вариант), эмулятор начнет корректно отдавать статус пробития чека, и корзина РМК будет очищаться мгновенно.

Подводя итог, можно сказать, что обновление до релиза 2.3.9.37 требует комплексного подхода. Обязательно синхронизируйте версии драйверов торгового оборудования с требованиями платформы и не забывайте регулярно проверять наличие новых исправлений от разработчиков, особенно при кардинальной смене форматов фискальных данных.

← На главную