Как исправить ошибки ККТ АТОЛ 238d (00EEh), «Не задан необходимый реквизит» и «Ошибка реквизита 1008» в 1С:Управление торговлей 11

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

При работе с торговым оборудованием в среде 1С:Управление торговлей (редакция 11) специалисты и администраторы часто сталкиваются с аппаратными ошибками ККТ. Особенно остро эти проблемы проявляются при обновлении релизов конфигураций, переходе на новые версии драйверов или изменении параметров фискализации кассовых аппаратов. Одной из наиболее запутанных цепочек ошибок является последовательное возникновение аппаратного сбоя 238d | 00EEh, последующей ошибки отсутствия обязательного реквизита и, наконец, ошибки программирования реквизита 1008.

В данной статье мы подробно разберем, почему возникают эти ошибки на примере фискального регистратора АТOЛ FPrint-22PTК (и других моделей семейства АТОЛ), проанализируем взаимосвязь настроек в базе данных 1С и параметров фискального накопителя, а также предоставим пошаговые инструкции по их устранению.

Часть 1. Ошибка «неизвестная ошибка оборудования: 238d | 00EEh» — конфликт систем налогообложения

Рассмотрим первую ситуацию. Кассир пытается пробить чек в 1С:УТ 11, однако ККТ аннулирует его, выводя сообщение: При выполнении операции произошла ошибка: Неизвестная ошибка (неизвестная ошибка оборудования: 238d | 00EEh). На чековой ленте при этом печатается текст «Чек аннулирован».

Выясним причину этой ошибки. В шестнадцатеричном протоколе работы оборудования АТОЛ код ошибки 0x00EE (в десятичном виде — 238, а в старых версиях драйверов она может маскироваться под кодом -199) расшифровывается однозначно: «Неправильно установлена система налогообложения (СНО) при регистрации ККТ и в настройках ККТ». Это означает, что СНО, которую программа 1С передает в XML-пакете для пробития чека, отсутствует в списке разрешенных СНО, записанных в фискальном накопителе (ФН) при регистрации ККТ.

Проанализируем ситуацию по шагам для исправления этого несоответствия.

Шаг 1. Проверка СНО в фискальном накопителе ККТ

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

  1. Запустим утилиту «Тест драйвера ККТ» (версии 8.х, 9.х или 10.х в зависимости от установленной версии ДТО).
  2. Перейдем в раздел настройки свойств, проверим связь с кассой и установим флаг «Включено» (или «Устройство включено»).
  3. Для детальной информации распечатаем «Отчет о регистрации ККТ». В ДТО 10 это можно сделать в разделе «Отчеты» -> выбрать тип отчета «Отчет о регистрации ККТ» -> нажать кнопку «Сформировать отчет». На чековой ленте отобразится список СНО (например: ОСН, УСН доход, Патент).
  4. В качестве альтернативы можно отправить низкоуровневую команду A8 в режиме доступа к ФН через тест-драйвер для чтения параметров фискализации.

Шаг 2. Проверка настроек СНО в 1С:Управление торговлей 11

В программе 1С:УТ 11 СНО определяется по сложной цепочке параметров. Недостаточно просто проверить карточку организации. Выполним полную ревизию настроек:

  1. Перейдем в меню НСИ и администрирование -> Организации. Откроем карточку нашей организации и перейдем на вкладку Учетная политика и налогообложение. Убедимся, что указанная там система налогообложения совпадает с той, что зарегистрирована на ККТ. Если происходил переход на другую СНО, проверим дату, с которой применяется новая учетная политика.
  2. Анализ настроек складов: Это ключевое место, где совершается большинство ошибок. В 1С:УТ 11 для каждого склада можно переопределить систему налогообложения (например, розничные продажи с конкретного склада переводятся на Патент/ЕНВД, тогда как оптовые продажи с основного склада ведутся по ОСН). Перейдем в НСИ и администрирование -> Склады и магазины, откроем склад, с которого оформляется продажа, и проверим поле «Система налогообложения». Если там указана СНО, которой нет в списке фискализированных на ККТ, касса выдаст ошибку 238d.
  3. Если на одном складе продаются товары по разным СНО (например, часть товаров по ОСН, а часть — по Патенту), программа 1С должна разбивать чек на два разных документа. Убедимся, что касса физически зарегистрирована под обе эти системы налогообложения.

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


// Пример формирования параметров фискализации чека в БПО
ПараметрыЧека = Новый Соответствие;
ПараметрыЧека.Вставить("TaxSystem", ПолучитьКодСНОПоСкладу(Объект.Склад));
ПараметрыЧека.Вставить("Electronically", Ложь);
// Если код СНО не совпадает со значением в ФН, драйвер вернет код ошибки -199 (0x00EE)

---

Часть 2. Ошибка «Не задан необходимый реквизит для совершения операции» — переход на ФФД 1.05 и Тег 1117

Рассмотрим вторую проблему. После обновления прошивки ККТ (например, до версии 5199) и драйверов ККТ до версий 8.14–8.16, при попытке пробить чек возникает ошибка: При выполнении операции произошла ошибка: Ошибка реквизита: Не задан необходимый реквизит для совершения операции.

Разберем, почему это происходит. При обновлении прошивки кассовый аппарат переходит на формат фискальных данных ФФД 1.05 (вместо устаревшего ФФД 1.0). В стандарте ФФД 1.05 существенно расширен список обязательных реквизитов чека. Самым критичным из них является Тег 1117 («Адрес электронной почты отправителя чека»). Если этот тег не запрограммирован в самой кассе или не передается из 1С, ККТ блокирует печать чека.

Посмотрим, как решить эту проблему через утилиту регистрации АТОЛ:

  1. Запустим «Утилиту регистрации ККТ АТОЛ» (она поставляется в комплекте с драйверами).
  2. Выберем пункт «Изменить параметры регистрации ККТ без замены ФН».
  3. В качестве причины изменения параметров укажем «Изменение настроек ККТ» или «Смена оператора фискальных данных» (в зависимости от версии утилиты).
  4. Дойдем до шага настройки параметров ОФД и отправителя. Найдем обязательное поле «Адрес электронной почты отправителя» (или аналогичное поле для Тега 1117) и введем туда корректный e-mail (например, адрес вашей компании info@company.ru или общий адрес ФНС no-reply@nalog.ru). Также проверим корректность заполнения адреса сайта ФНС (Тег 1060 — www.nalog.gov.ru).
  5. Завершим процедуру перерегистрации, ККТ распечатает отчет об изменении параметров регистрации. В ФНС при этом новое заявление подавать не требуется, так как ключевые фискальные параметры не менялись.

---

Часть 3. Ошибка программирования реквизита (1008) — коварный флаг интернет-расчетов

Рассмотрим третью ошибку, которая часто возникает после успешной настройки драйверов и СНО. При печати чека 1С выдает ошибку: При выполнении операции произошла ошибка: Ошибка программирования реквизита (1008).

Проанализируем ситуацию. Тег 1008 — это контактные данные покупателя (номер телефона или адрес электронной почты), на которые должен быть отправлен электронный чек. В стандартных розничных продажах этот тег не является строго обязательным для бумажного чека, если покупатель не попросил отправить ему электронную копию. Однако ККТ начинает жестко блокировать печать чека при отсутствии этого тега в следующих случаях:

Выясним, как исправить эту ошибку в зависимости от бизнес-процесса компании:

Решение А. Если у вас гибридная торговля (и розничный магазин, и интернет-сайт)

В этом случае регистрировать кассу исключительно с флагом «для расчетов в сети Интернет» нельзя. Нам необходимо убрать этот признак:

  1. Запустим утилиту регистрации ККТ АТОЛ.
  2. Выберем «Изменить параметры регистрации ККТ без замены ФН».
  3. Дойдем до шага выбора признаков работы ККТ. Снимем галочку «Расчеты в сети Интернет» (или аналогичную настройку «ККТ используется только для расчетов в сети Интернет»).
  4. Завершим регистрацию. После этого касса снова сможет печатать бумажные чеки без обязательного требования передавать Тег 1008.

Решение Б. Если касса действительно используется только для интернет-продаж

В этом сценарии вам необходимо гарантировать передачу контактных данных покупателя из 1С. Разработчикам необходимо убедиться, что при формировании XML-пакета чека структура контактных данных заполнена. Посмотрим на примере, как в коде 1С передаются данные покупателя:


// Пример заполнения контактов покупателя в XML-пакете чека
ДанныеПокупателя = Новый Структура;
Если ЗначениеЗаполнено(Объект.ДоговорКонтрагента.КонтактныйТелефон) Тогда
    ДанныеПокупателя.Вставить("CustomerPhone", ОчиститьТелефон(Объект.ДоговорКонтрагента.КонтактныйТелефон));
ИначеЕсли ЗначениеЗаполнено(Объект.ДоговорКонтрагента.Email) Тогда
    ДанныеПокупателя.Вставить("CustomerEmail", Объект.ДоговорКонтрагента.Email);
Иначе
    // Для интернет-кассы отсутствие контакта вызовет ошибку 1008!
    ВызватьИсключение "Для интернет-расчетов обязательно заполнение телефона или Email покупателя!";
КонецЕсли;

---

Часть 4. Переход на актуальные драйверы АТОЛ 10.х

Обратим внимание на важную деталь обсуждения: использование устаревших версий ДТО АТОЛ (8.х и 9.х). Драйверы версий 8.х и 9.х полностью сняты с поддержки производителем. Они не поддерживают современные требования законодательства (такие как ФФД 1.2, обязательная маркировка товаров средствами «Честный ЗНАК» и т.д.). Попытки настроить совместную работу УТ 11 и кассы на старых драйверах будут постоянно приводить к подобным ошибкам программирования реквизитов.

Настоятельно рекомендуется выполнить переход на ДТО 10 (10.x). Рассмотрим, как правильно настроить связку 1С:УТ 11 и АТОЛ 10.х по шагам:

  1. Обновим конфигурацию 1С:Управление торговлей до актуального релиза. Это необходимо для того, чтобы в составе Библиотеки подключаемого оборудования (БПО) присутствовал современный интеграционный компонент для работы с ДТО 10.
  2. Скачаем с официального сайта АТОЛ актуальный дистрибутив ДТО 10 для вашей разрядности операционной системы (для 32-битного клиента 1С необходимо устанавливать 32-битную версию драйвера, даже если ОС Windows является 64-битной).
  3. Установим ДТО 10 на рабочий компьютер кассира.
  4. В программе 1С перейдем в НСИ и администрирование -> Подключаемое оборудование.
  5. Создадим новую запись для ККТ. В поле «Драйвер оборудования» выберем «АТОЛ:ККТ с передачей данных в ОФД (54-ФЗ) 10.Х».
  6. Нажмем кнопку «Настроить», выберем порт подключения (USB/COM), укажем модель кассы (например, АТОЛ 22-ПТК) и выполним тест устройства. При успешном подключении система выдаст сообщение о корректной связи с ККТ.

Переход на ДТО 10 решает большинство скрытых проблем с некорректной передачей тегов ФФД 1.05 и 1.2, стабилизирует отправку чеков и делает процедуру интеграции прозрачной и надежной.

← На главную