Как исправить ошибку ККТ АТОЛ «238d | 00EEh» при пробитии чека коррекции из 1С?

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

При работе с торговым оборудованием в 1С пользователи часто сталкиваются с запутанными ситуациями при оформлении чеков коррекции. Типичный сценарий: в сторонней программе (например, «Альфа-Авто») пробивают некорректный чек с неправильной системой налогообложения (СНО) — вместо общей системы (ОСНО) ошибочно выбирают ЕНВД (или патент/УСН). Чтобы исправить эту ошибку, бухгалтер пытается сформировать чек коррекции в «1С:Бухгалтерии», явно указывает в нем ОСНО, но кассовый аппарат АТОЛ отказывается печатать документ, выдавая в логах драйвера непонятную ошибку:

Ошибка! ResultCode = -199 ResultDescription = "Неизвестная ошибка (неизвестная ошибка оборудования: 238d | 00EEh)" BadParam = 0 BadParamDescription = "Ошибок в параметрах нет"

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

Почему возникает ошибка «238d | 00EEh»?

Код ошибки оборудования 238d (в шестнадцатеричном представлении 00EEh) на ККТ АТОЛ дословно означает: «Неверно указана или не совпадает система налогообложения при регистрации ККТ и/или в настройках ККТ».

Давайте выясним цепочку событий, которая приводит к сбою:

  1. При попытке пробить чек коррекции 1С обращается к своей внутренней функции ПолучитьКодТипаСистемыНалогообложенияККТ для определения кода СНО, который нужно передать в драйвер кассы в качестве тега 1055 (Система налогообложения).
  2. Для ОСНО программа возвращает значение 0. Это видно из стандартного кода конфигурации «1С:Бухгалтерия»:

Функция ПолучитьКодТипаСистемыНалогообложенияККТ(СистемаНалогообложенияККТ) Экспорт
    
    Если СистемаНалогообложенияККТ = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.УСНДоход") Тогда
        СистемаНалогообложения = 1 
    ИначеЕсли СистемаНалогообложенияККТ = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.УСНДоходРасход") Тогда
        СистемаНалогообложения = 2
    ИначеЕсли СистемаНалогообложенияККТ = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.ЕНВД") Тогда
        СистемаНалогообложения = 3
    ИначеЕсли СистемаНалогообложенияККТ = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.ЕСН") Тогда
        СистемаНалогообложения = 4
    ИначеЕсли СистемаНалогообложенияККТ = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.Патент") Тогда
        СистемаНалогообложения = 5
    Иначе
        СистемаНалогообложения = 0 // Значение по умолчанию для ОСНО
    КонецЕсли;
    
    Возврат СистемаНалогообложения;
    
КонецФункции
  1. Программа передает в драйвер АТОЛ команду записи атрибута: Driver.Set_AttrNumber 1055 со значением Driver.Set_AttrValue 0.
  2. Фискальный накопитель ККТ сверяет полученный код 0 (ОСНО) со списком систем налогообложения, под которые была фискализирована касса. Если в ККТ в качестве основной (или единственной) системы по умолчанию задана другая СНО (например, ЕНВД или УСН), либо на старых прошивках ККТ не может корректно переключиться на неосновную систему налогообложения, устройство возвращает аппаратную ошибку 238d | 00EEh.

Рассмотрим подробнее четыре практических способа устранения этой неисправности.

Решение 1. Изменение СНО по умолчанию в настройках драйвера ККТ

Если касса зарегистрирована под несколько СНО (например, ОСНО и ЕНВД/УСН), но по умолчанию в параметрах аппарата выбрана не та система, которую пытается передать 1С, драйвер заблокирует операцию. Нам необходимо скорректировать СНО по умолчанию:

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

Решение 2. Проверка соответствия настроек в 1С и кассовом аппарате

Убедитесь, что СНО, используемая в учетной политике организации внутри 1С, полностью совпадает со списком зарегистрированных систем в ФН. Для этого выполним проверку по шагам:

  1. Распечатайте отчет о регистрации ККТ (это можно сделать через «Тест драйвера ККТ» или выключив и включив кассу с зажатой кнопкой промотки ленты до первого звукового сигнала). На чеке будет четко видно, под какие СНО зарегистрирован фискальный накопитель.
  2. В программе «1С:Бухгалтерия» перейдите в карточку вашей организации (раздел «Главное» -> «Организации»).
  3. Откройте гиперссылку «Учетная политика». Настройки налогообложения в 1С должны строго соответствовать одной из СНО, указанных на регистрационном чеке кассы.
  4. Если текущий налоговый период уже закрыт для редактирования, создайте новую запись учетной политики с начала того месяца, в котором оформляется чек коррекции, чтобы не нарушить проведение старых документов.

Решение 3. Обновление прошивки кассового аппарата

На старых версиях прошивок ККТ АТОЛ существовала известная проблема: при попытке передать в теге 1055 систему налогообложения, отличную от основной СНО по умолчанию, касса зависала или выдавала ошибку 00EEh, даже если обе системы были корректно зарегистрированы в ФН.

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

Решение 4. Формирование чека коррекции напрямую через драйвер ККТ (Обходной путь)

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

Выполним процедуру по шагам:

  1. Откройте утилиту «Тест драйвера ККТ» и подключитесь к кассе.
  2. Перейдите в левом меню в раздел «Регистрация» или «Чек» (в зависимости от версии драйвера ДТО 8/9/10).
  3. Выберите тип чека: «Чек коррекции прихода» или «Чек коррекции расхода».
  4. Заполните обязательные реквизиты коррекции вручную:Тип коррекции (Самостоятельно или По предписанию налогового органа);Дата документа основания и Номер документа основания (номер и дата вашего внутреннего акта или предписания ФНС);В поле «Система налогообложения» (тег 1055) принудительно укажите ОСНО (Общая).
  5. Добавьте позицию с суммой коррекции и типом оплаты (например, наличные или электронные).
  6. Нажмите кнопку «Сформировать чек коррекции» (или «Закрыть чек»). Касса напечатает корректный фискальный документ и отправит его оператору фискальных данных (ОФД).
  7. После успешной печати чека на кассе не забудьте отразить эту операцию в учетной системе 1С ручной операцией (без повторного пробития по ККТ), чтобы выровнять остатки и взаиморасчеты на регистрах бухгалтерского учета.
← На главную