Как исправить ошибку «Invalid Tax Value: 20» при печати чека на ККТ Штрих-М в 1С:Бухгалтерия

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

При работе с кассовым оборудованием Штрих-М в программе 1С:Бухгалтерия 3.0 пользователи часто сталкиваются с ошибкой Invalid Tax Value: 20 (код FFFFFFF8h). Эта проблема обычно возникает в момент печати фискального чека и блокирует работу кассира. В данной статье мы подробно разберем причины возникновения этой ситуации и рассмотрим пошаговые алгоритмы её решения.

Суть проблемы и причины возникновения ошибки

Ошибка Invalid Tax Value: 20 буквально означает, что драйвер кассового аппарата или сама прошивка ККТ (контрольно-кассовой техники) получила значение налоговой ставки «20%», которое она считает недопустимым. Рассмотрим основные причины, почему это происходит:

  1. Несоответствие версий драйвера: Версии драйверов 4.14.721 и смежные могут некорректно обрабатывать XML-пакеты, передаваемые из 1С, особенно если используется старая внешняя компонента интеграции.
  2. Настройки таблиц ККТ: В памяти кассового аппарата существует внутренняя таблица налоговых ставок (обычно Таблица №17). Если в ней не прописано соответствие индекса налога значению «20», устройство выдает ошибку.
  3. Версия прошивки: Если кассовый аппарат не обновлялся с момента введения ставки НДС 20%, его внутреннее ПО может физически не поддерживать этот формат данных.
  4. Конфликт в XML-пакете: 1С отправляет данные в формате <TaxRate>20</TaxRate>, в то время как драйвер ожидает индекс (например, «1») или текстовое наименование.

Способ 1. Настройка таблиц через «Тест драйвера ККТ»

Проанализируем состояние кассового аппарата через стандартную утилиту от производителя. Это первый и самый важный шаг. Выясним, как касса воспринимает налоги внутри своей памяти.

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

  1. Закроем 1С и запустим утилиту «Тест драйвера ККТ» (обычно это DvrFR.exe или ShtrihMk.exe).
  2. Перейдем в раздел «Настройка свойств», проверим связь с аппаратом и нажмем кнопку «Таблицы».
  3. Найдем таблицу под номером 17 (Региональные настройки).
  4. Обратим внимание на поля, связанные с налоговыми ставками. В некоторых моделях за ставку 20% отвечает конкретный ряд. Проверим, чтобы значение ставки соответствовало тому, что ожидает программа.
  5. Важный нюанс: Посмотрим на поле «Корректировка ставки НДС». Иногда включенная опция автоматической замены 18% на 20% внутри ККТ конфликтует с тем, что 1С уже присылает готовые «20%». Попробуем изменить этот параметр, если ошибка сохраняется.

Способ 2. Сброс незавершенных операций

Иногда ошибка FFFFFFF8h является следствием того, что предыдущий чек не был корректно аннулирован или закрыт. Касса находится в промежуточном состоянии и не принимает новые данные о налогах.

Разберем, как сбросить состояние ККТ:

В «Тесте драйвера» перейдем на вкладку «Состояние» и нажмем «Запрос состояния». Если в поле «Режим» указано «2» или «3» (Открытая смена), но при этом есть активный документ, необходимо выполнить команду «Аннулировать чек» (на вкладке «Регистрация» или «Общие»). После этого попробуем распечатать чек из 1С повторно.

Способ 3. Обновление интеграционной компоненты 1С

Программа 1С:Бухгалтерия взаимодействует с драйвером Штрих-М не напрямую, а через специальную библиотеку — внешнюю компоненту. Чаще всего это файл SMDrvFR1CLib24.dll.

Рассмотрим процесс обновления компоненты:

Даже если вы установили новый драйвер 4.14.772 или выше, 1С может продолжать использовать старую версию библиотеки, сохраненную в кэше или в папке пользователя. Проанализируем путь C:\Users\ИмяПользователя\AppData\Roaming\1C\1cv8\ExtCompT\. Если там находится старая версия SMDrvFR1CLib, её следует удалить, чтобы система подтянула актуальную библиотеку из дистрибутива драйвера.

Также в самой 1С в разделе «Администрирование» — «Подключаемое оборудование» необходимо открыть настройки вашей кассы и нажать кнопку «Установить драйвер» или «Обновить». Это принудительно обновит макет компоненты в базе данных.

Способ 4. «Обходной путь» со ставками НДС

Как показывает практика обсуждений на форумах, существует «хитрый» способ заставить связку 1С и Штрих-М работать, если админ запрещает обновлять драйверы. Рассмотрим эту ситуацию.

Выясним причину: ККТ Штрих-М на уровне прошивки часто имеет механизм автоматической подмены. Если в 1С указать ставку 18%, драйвер, видя дату (после 01.01.2019), автоматически заменяет её на 20% при печати. Если же 1С сразу присылает 20%, старая версия драйвера «пугается» незнакомого числа.

Попробуем выполнить следующие действия в 1С:

  1. Временно установим в документе (например, «Реализация» или «Чек») ставку 18%.
  2. Проведем печать чека.
  3. Если на бумажном чеке вывелось «НДС 20%», значит, ваша касса настроена на автоматическую конвертацию. В этом случае необходимо либо обновить компоненту до версии, которая понимает число «20», либо использовать настройки драйвера для игнорирования входящих налогов.

Технический анализ XML-пакета

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


<FiscalString Name="Товар" Quantity="1" Price="120" Sum="120" TaxRate="20" TaxSum="20" />

Если в логе мы видим TaxRate="20", а ККТ возвращает FFFFFFF8h, это подтверждает, что текущая прошивка или драйвер не обучены принимать прямое значение «20». Решением будет либо обновление прошивки ККТ до актуальной (под ФФД 1.05 или 1.2), либо настройка соответствия налоговых секций в таблицах драйвера.

Рекомендации по стабильной работе

Для того чтобы избежать подобных проблем в будущем, рекомендуем придерживаться следующих правил:

Подводя итог, отметим, что ошибка Invalid Tax Value: 20 — это типичный конфликт форматов данных. Совместными усилиями по настройке таблиц драйвера и обновлению интеграционных библиотек 1С эта проблема решается без необходимости внесения изменений в программный код конфигурации.

← На главную