Как исправить ошибку программирования реквизита 1162 в 1С:Розница при переходе на ФФД 1.2?

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

Переход на формат фискальных данных (ФФД) 1.2 — это сложный процесс, который затрагивает взаимодействие конфигурации 1С, драйвера ККТ и прошивки самой кассы. Одной из самых распространенных проблем при пробитии чеков с маркированным товаром (когда требуется оперативный ввод в оборот товаров легкой промышленности) является сообщение "Ошибка программирования реквизита 1162". Рассмотрим подробнее, почему это происходит и как настроить систему для корректной работы.

Выясняем причину возникновения ошибки

Проанализируем ситуацию: реквизит 1162 (Код товара) использовался в ФФД версии 1.05 и 1.1 для передачи кода маркировки. Однако в новом формате ФФД 1.2 этот реквизит был исключен и заменен структурированным тегом 1163. Если ваша касса уже фискализирована под ФФД 1.2 (используется ФН-М), а программное обеспечение (1С или драйвер) пытается отправить данные в старом формате через тег 1162, касса выдает ошибку программирования реквизита.

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

  1. Прошивка ККТ АТОЛ: Для работы с ФФД 1.2 требуется платформа 5.0 и прошивка не ниже 5.8.3 (рекомендуются более поздние версии, например, 5.8.14, так как в промежуточных версиях часто встречались баги).
  2. Драйвер ККТ: Необходим драйвер версии 10.9.0.4 и выше.
  3. Конфигурация 1С: Версия 1С:Розница должна быть не ниже 2.3.9.37, а библиотека подключаемого оборудования (БПО) — версии 3.1.1.5 или выше.

Пошаговая инструкция по настройке драйвера и компоненты

Часто простого обновления недостаточно, так как 1С может продолжать использовать старую внутреннюю компоненту драйвера. Рассмотрим, как принудительно обновить компоненту 10.9.0.4 в вашей базе.

Шаг 1: Подготовка файлов. Скачайте актуальный драйвер с сайта АТОЛ. В архиве найдите папку 1C, в которой находится файл компоненты (обычно это zip-архив с именем типа AtolMarkingCloud_v10.zip).

Шаг 2: Удаление старых данных. Выполним очистку кэша компонент, чтобы система не подтягивала старые версии. Пройдем по пути C:\Users\ИмяПользователя\AppData\Roaming\1C\1cv8\ExtCompT и удалим все файлы, связанные с АТОЛ (fptr10.dll и аналогичные).

Шаг 3: Обновление в 1С. Зайдем в раздел Администрирование — Печатные формы, отчеты и обработки — Внешние компоненты. Найдем драйвер АТОЛ и удалим его запись. После этого перейдем в Подключаемое оборудование — Драйверы оборудования, добавим новый драйвер, выбрав тип "ККТ с передачей данных" и загрузив ранее подготовленный архив из папки 1C драйвера АТОЛ.

Шаг 4: Настройка параметров. После установки драйвера нажмем кнопку "Настроить". Важно убедиться, что поле "Версия требований" приняло значение 3.4. Если там указано 3.2, это означает, что компонента осталась старой и поддержка ФФД 1.2 не будет работать корректно.

Настройка проверки марок в 1С и ККТ

После устранения ошибки 1162 может возникнуть следующая преграда: "Контрольная марка не проверена". Это означает, что касса не смогла получить подтверждение от информационной системы маркировки (ИСМ). Выясним причину этой ситуации. При возникновении этой проблемы можно задействовать расширение для отмены проверки маркированного товара в ОИСМ на кассе.

Посмотрим на настройки в драйвере ККТ (через Тест драйвера АТОЛ):

  1. Перейдем в раздел "Параметры ККТ" — "15 ИСМ/ОФД".
  2. Проверим наличие адреса ИСМ и ОКП. Эти данные зависят от вашего производителя ФН-М. Если они не заполнены, касса не сможет проверить марку в режиме реального времени.
  3. В самой 1С перейдем в настройки ИСМП (Интеграция с ИС МП) и попробуем временно отключить контроль марок, если продажи встали, а техническая возможность проверки через ККТ еще не отлажена.

Важный нюанс: Чтобы в чеке печатался признак [M+], проверка должна успешно пройти и в фискальном накопителе, и на серверах "Честного знака". Если вы видите только [M], значит, онлайн-проверка не сработала.

Решение проблемы "Неподдерживаемый тип кода товара" через код

Бывают ситуации, когда даже на немаркированном товаре 1С пытается сформировать данные для тега 1162, что приводит к ошибке. Проанализируем программное решение этой проблемы. Если вы программист и вам нужно быстро "починить" продажи для товаров без маркировки, можно внести правки в общий модуль МенеджерОборудованияВызовСервера. В качестве альтернативного решения можно использовать обработку для продажи без кода маркировки через документ Чек ККМ.

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


// В процедуре ЗаписатьДанныеКодаТоварнойНоменклатуры
// Находим блок формирования GoodCodeData (тег 1162)

// Реквизит кода товара (1162) для стандарта 3.2 и выше в ККТ передается в готовом виде.
Если НЕ ПустаяСтрока(РеквизитКодаТовара) Тогда
    // Добавим проверку: если товар не маркированный, не пишем секцию
    Если Позиция.ЭтоМаркированныйТовар Тогда 
        ЗаписьXML.ЗаписатьНачалоЭлемента("GoodCodeData");
        ЗаписьXML.ЗаписатьАтрибут("MarkingCode", XMLСтрока(РеквизитКодаТовара));
        ЗаписьXML.ЗаписатьКонецЭлемента;
    КонецЕсли;
КонецЕсли;

Также обратим внимание на ситуацию с префиксами внутренних штрихкодов. Если система ошибочно принимает внутренний штрихкод (например, начинающийся на 22) за код маркировки, она пытается его разобрать и передать в ККТ. В этом случае поможет условие, исключающее такие коды из обработки функцией РазобратьШтриховойКодТовара.

Особенности продажи алкоголя (Ошибка 1309)

При переходе на ФФД 1.2 часто "отваливается" продажа алкоголя с ошибкой 1309 (Превышена длина наименования или ошибка единиц измерения). Выясним причину: ФФД 1.2 требует строгого соответствия единиц измерения для подакцизных товаров.

Практический совет: попробуйте изменить последовательность действий кассира. Сначала сканируйте обычный штрихкод товара (EAN13), а затем — акцизную марку. В некоторых релизах Розницы именно такой порядок позволяет корректно сформировать структуру чека без возникновения ошибки 1309.

Подведем итог: исправление ошибки реквизита 1162 — это комплексная работа. Начните с обновления прошивки и драйвера, затем обязательно проверьте версию компоненты в ExtCompT, и только если штатные методы не помогают, прибегайте к корректировке программного кода в части формирования XML-пакета для ККТ.

← На главную