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