Как исправить ошибку «Не задан необходимый реквизит для совершения операции» при пробитии чека коррекции в 1С?

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

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

Природа ошибки и отсутствующие реквизиты

Сообщение об ошибке реквизита в протоколах работы оборудования АТОЛ чаще всего соответствует коду внутренней ошибки кассы 0x0206 (или ошибке драйвера со значениями -4048 / E165-518). Эта ошибка означает, что фискальный накопитель (ФН) или программное обеспечение самой онлайн-кассы блокируют печать чека из-за того, что в отправляемом из 1С XML-пакете отсутствуют обязательные теги, регламентированные форматом фискальных данных (ФФД).

При формировании чека коррекции по стандартам ФФД 1.05 (а также более новым 1.1 и 1.2) обязательными к передаче являются следующие реквизиты:

  1. Тег 1173 (Тип коррекции): признак того, по чьей инициативе выполняется корректировка (самостоятельно — значение «0» или по предписанию ФНС — значение «1»).
  2. Тег 1174 (Основание для коррекции): текстовое описание причины (например, номер объяснительной записки или акта).
  3. Тег 1178 (Дата документа основания): дата совершения расчета, который корректируется.
  4. Тег 1212 (Признак предмета расчета): тип операции (товар, услуга, работа), который часто не передается старыми версиями обработок обслуживания 1С.
  5. Тег 1059 (Предмет расчета): обязательный реквизит для форматов ФФД 1.1 и 1.2.

Если 1С передает драйверу пакет данных, где хотя бы один из этих параметров не заполнен или передан в некорректном формате, касса вернет отказ.

Поиск причины в отладке 1С и логах драйвера

Посмотрим на пример из отладки 1С. При выполнении операции формирования чека коррекции вызывается метод компоненты драйвера, который может выглядеть так:


Ответ = ОбъектДрайвера.СформироватьЧекКоррекции(ПараметрыПодключения.ИДУстройства, Кассир, ДанныеЧека, НомерЧека, НомерСмены, ФискальныйПризнак, АдресСайтаПроверки);

В отладчике можно увидеть, что параметр ДанныеЧека часто бывает пустым (не заполнены нужные структуры). Однако, чтобы понять, на каком конкретно теге спотыкается драйвер, отладки кода 1С недостаточно. Рассмотрим подробнее, как получить расширенную информацию из логов самого драйвера АТОЛ.

В зависимости от используемой версии драйвера, логи располагаются в разных каталогах:

  1. Для современного Драйвера ККТ АТОЛ 10.x логи включены по умолчанию. Их можно найти по пути: %USERPROFILE%\AppData\Roaming\ATOL\drivers10\logs\fptr10.log.
  2. При использовании устаревших линеек 8.x или 9.x файл лога интеграционной компоненты называется FprnM1C.log и располагается в папке: %USERPROFILE%\AppData\Roaming\Atol\drivers\.

Откройте лог-файл текстовым редактором и пролистайте в самый конец (ориентируйтесь по времени возникновения ошибки в 1С). Ищите строки, фиксирующие отправку XML-пакета чека коррекции. Там будет прямое указание на проблемный реквизит, например: Ошибка при записи фискального реквизита: Tag 1173.

Решение 1. Обновление драйверов и переход на платформу АТОЛ 10.x

Разберем самый надежный способ исправления ошибки. Проблема с отсутствием реквизитов почти всегда связана с использованием устаревших драйверов (линейки 8.x или 9.x) в связке с новыми требованиями ФФД. Старые версии драйверов не поддерживают корректную структуру передачи тегов для чеков коррекции.

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

  1. Обновите конфигурацию 1С:Бухгалтерия до актуального релиза, чтобы получить свежие версии Библиотеки подключаемого оборудования (БПО).
  2. Скачайте и установите актуальную версию драйвера ДТО АТОЛ 10.x.
  3. Перейдите в 1С в раздел подключаемого оборудования, откройте настройки вашей кассы и измените драйвер на компоненту версии 10.x (вместо старых 8.x или 9.x).
  4. Проверьте корректность настроек и выполните тестовое подключение.

Новые библиотеки стандартных подсистем в 1С полностью совместимы с драйверами 10.x и автоматически формируют правильный XML-пакет со всеми обязательными тегами.

Решение 2. Пробитие чека коррекции через утилиту «Тест драйвера ККТ»

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

  1. Запустите утилиту Тест драйвера ККТ (поставляется вместе с драйверами АТОЛ).
  2. Установите флажок Включено в правом верхнем углу для установки связи с кассой.
  3. Перейдите на вкладку Чек в боковом меню.
  4. Выберите нужный тип: Чек коррекции прихода или Чек коррекции расхода.
  5. Внимательно заполните все поля на вкладке свойств коррекции:
    • Тип коррекции (самостоятельно или по предписанию);
    • Дата документа основания;
    • Номер документа основания (номер вашего акта или служебной записки);
    • Сумма и способ оплаты.
  6. Нажмите кнопку Открыть чек. Если ваша касса прошита под ФФД 1.1 или 1.2, необходимо добавить позицию (товар/услугу), затем нажать Закрыть чек.

В этом случае утилита драйвера сама проконтролирует наличие всех тегов и успешно распечатает чек.

Нюансы форматов фискальных данных (ФФД)

Разберем также важные методические аспекты, касающиеся различных форматов ФФД, так как они напрямую влияют на правильность исправления ошибок кассира.

Если используется ФФД 1.05: Оформление чека коррекции в этом формате сильно ограничено. В нем технически невозможно передать предмет расчета (наименование товара). По рекомендациям ФНС, исправлять ошибки в обычных чеках при ФФД 1.05 следует не чеком коррекции, а двумя обычными чеками. Сначала пробивается чек Возврат прихода (полная копия ошибочного чека с указанием фискального признака исходного документа в теге 1192), а затем формируется новый, правильный чек Приход. Сам по себе чек коррекции в ФФД 1.05 используется в исключительных случаях, например, при обнаружении излишков (неприменение ККТ).

Если используется ФФД 1.1 или 1.2: В этих форматах ошибки исправляются именно полноценным чеком коррекции. Допускается формировать чек коррекции с признаком «возврат прихода» для полного аннулирования некорректной операции, а затем — чек коррекции «приход» для фиксации правильных данных. При этом обязательно указываются все товарные позиции и тег 1192. Для успешного проведения таких операций в 1С у вас должен быть установлен драйвер ветки 10.x, который обеспечивает передачу всей детализированной информации.

← На главную