Как исправить ошибку программирования реквизита 1023 при продаже разливного пива в 1С?

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

С переходом на новые требования к разрешительному режиму и обязательной маркировке разливного пива, многие пользователи столкнулись с критической проблемой. При попытке пробития чека в новом РМК (Рабочее место кассира) возникает сообщение: «Ошибка добавления маркированного товара. Ошибка программирования реквизита 1023». Чаще всего эта проблема проявляется на кассовых аппаратах марки АТОЛ (например, АТОЛ 30Ф, 27Ф) после обновления конфигураций «1С:Розница» до версии 2.3.19.24 или «1С:УНФ» до 3.0.8.x. При наличии нескольких информационных баз для автоматического запуска этого процесса по расписанию можно использовать программу для резервного копирования и обновления 1С.

Проанализируем ситуацию: до обновления «пели птички», а после — работа розничной точки встала. Разберем по шагам, почему возникает этот сбой и как его устранить, используя официальные рекомендации вендора и практический опыт системных администраторов.

Причина возникновения ошибки: технический анализ реквизита 1023

Выясним причину на уровне протокола обмена данными. Реквизит 1023 в формате фискальных данных (ФФД) отвечает за «Количество предмета расчета». Согласно требованиям ФФД 1.2, при работе с маркированным товаром, который не является штучным (а разливное пиво — это именно весовой/объемный товар), в запросе на проверку кода маркировки (КМ) должны передаваться как количество, так и мера количества.

Ошибка кроется в несоответствии логики формирования XML-пакета библиотекой подключаемого оборудования (БПО) «1С» и парсера этого пакета внутри прошивки ККТ. Программа передает меру количества (для пива это код 41 — литр), но при значении количества, равном 1, старые прошивки ККТ ожидают иного формата или вовсе не понимают передаваемый тег в контексте запроса марки. Это классический конфликт версий ПО, где драйвер и прошивка «не договорились» о формате дробного или единичного значения.

Решение 1: Обновление прошивки ККТ АТОЛ

Рассмотрим основной способ решения, подтвержденный отделом разработки «1С» и специалистами по кассовой технике. Проблема носит аппаратный характер обработки данных внутри кассы.

  1. Проверим текущую версию прошивки вашего аппарата АТОЛ. Ошибка массово проявляется на версиях платформы 5.0 ниже 5.12.
  2. Установим прошивку версии 5.12.0 или выше. Практика показывает, что наиболее стабильно разрешительный режим и реквизит 1023 работают на версии 5.12.4.
  3. В данных версиях АТОЛ скорректировал алгоритм валидации тегов 1023 и 2108 (мера количества), что позволяет кассе корректно принимать запросы от новых релизов «1С».

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

Решение 2: Работа с патчами «1С»

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

Проанализируем действия с патчем EF_00_00635682:

Для управления патчами перейдем в раздел Администрирование — Обслуживание — Обновление программы — Установленные исправления (патчи). Найдите указанный выше номер и попробуйте изменить его статус.

Решение 3: Обновление драйвера торгового оборудования (ДТО)

Посмотрим на версию драйвера, установленного в операционной системе. Использование актуальной прошивки ККТ требует и актуального «переводчика» между «1С» и железкой.

Рекомендуется использовать драйвер АТОЛ версии 10.10.0.0 и выше. В старых версиях драйвера (например, 10.9.x) наблюдались ошибки при трансляции структуры «Дробное количество» в фискальный накопитель, что также провоцировало ошибку 148 [Ошибка программирования реквизита 1023] в логах драйвера.

Временные обходные пути (Workarounds)

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

  1. Добавление товара через поиск: Как заметили пользователи на форуме, при добавлении разливного пива в корзину через форму поиска (а не сканированием кода маркировки напрямую в РМК), цепочка вызовов методов в коде «1С» меняется, и чек может пробиться успешно.
  2. Использование старого интерфейса РМК: В «1С:Розница 2.3» все еще доступен старый интерфейс рабочего места кассира. Он использует более ранние методы библиотеки подключаемого оборудования, которые не так строго валидируют реквизит 1023 перед отправкой на ККТ.

Рассмотрим пример того, как в логах драйвера выглядит данная ошибка для понимания сути происходящего:


2024.05.22 12:52:30.977 ERROR [FiscalPrinter] Код ошибки ККТ - 7017h
2024.05.22 12:52:30.978 ERROR [FiscalPrinter] Объекту 0x0C7A9850 присвоен код ошибки 148 [Ошибка программирования реквизита 1023]

Этот код 7017h прямо указывает на то, что ККТ отвергла команду записи реквизита из-за неверного формата значения в контексте текущей операции проверки марки.

Резюме и рекомендации

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

  1. Обновим платформу «1С:Предприятие» до актуальной (не ниже 8.3.24.1548).
  2. Обновим драйвер АТОЛ до версии 10.10.x.
  3. Обновим прошивку кассы до версии 5.12.4.
  4. Проверим наличие и актуальность патча EF_00_00635682 (или его аналога для вашего релиза).

Помните, что работа с маркированным пивом в розлив требует особого внимания к заполнению карточки номенклатуры: единица измерения должна быть «литр», а в настройках интеграции с «Честным знаком» должен быть корректно указан вид продукции (пиво и слабоалкогольные напитки).

← На главную