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

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

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

Почему возникает ошибка реквизита 1162?

Проанализируем техническую сторону вопроса. В предыдущих версиях форматов (ФФД 1.05 и 1.1) реквизит 1162 (Код товара) использовался для передачи данных о маркировке. Однако в ФФД 1.2 этот реквизит был официально исключен из структуры чека для маркированных товаров. Вместо него введен совершенно новый реквизит — 1163, который имеет иную структуру и требует обязательной проверки кода маркировки через фискальный накопитель и сервера системы "Честный Знак".

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

Шаг 1. Обновление драйвера и интеграционной компоненты

Многие пользователи ошибочно полагают, что установки свежего драйвера АТОЛ в операционную систему Windows достаточно. На самом деле, для работы 1С требуется обновление внутренней интеграционной компоненты. Рассмотрим процесс правильного обновления на примере драйвера версии 10.9.0.8, который является стабильным для работы с ФФД 1.2.

  1. Скачаем актуальный дистрибутив драйвера с официального сайта производителя (например, версию 10.9.0.8 или выше).
  2. Установим драйвер в операционную систему, следуя инструкциям мастера установки.
  3. Перейдем в 1С в раздел "Администрирование" — "Подключаемое оборудование".
  4. Откроем список драйверов оборудования и найдем "АТОЛ:ККТ с передачей данных в ОФД (54-ФЗ) 10.x".
  5. Нажмем кнопку "Добавить новый драйвер из файла" и укажем архив с компонентой (обычно находится в папке установленного драйвера в подкаталоге installer/1c).

Важный нюанс: Часто автоматическая установка компоненты из папки Program Files выдает ошибку. В таком случае рекомендуем извлечь файл fptr10_1c_win32_10_x_x_x.dll (или аналогичный для x64) из zip-архива вручную и загрузить его в 1С. После загрузки версия компоненты в окне настроек 1С должна отображаться как 10.9.0.8/10.9.0.8 (или выше).

Шаг 2. Настройка типа оборудования и ревизии интерфейса

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

Создадим новую запись в справочнике "Подключаемое оборудование". При выборе драйвера убедимся, что используется версия, поддерживающая стандарт 3.4. Именно в версии стандарта 3.4 реализована полноценная поддержка ФФД 1.2. Проверим это, нажав кнопку "Параметры подключения". В поле "Ревизия интерфейса" должно стоять значение не ниже 3004.

Если в параметрах ККТ версия ФФД ФН и ККТ обозначаются как "???", это явный признак того, что связь между 1С и драйвером установлена некорректно или используется устаревшая обработка обслуживания.

Шаг 3. Обработка символов GS и FNC1 в кодах маркировки

Проанализируем ситуацию, когда драйверы обновлены, но проверка марки (получение статуса [М+]) не проходит. В ФФД 1.2 касса сама проверяет код маркировки. Для успешной проверки код должен передаваться в "сыром" виде со всеми спецсимволами.

Часто сканеры штрихкода в режиме эмуляции клавиатуры "съедают" символ-разделитель GS (ASCII 29). Без этого символа касса не может корректно разобрать структуру DataMatrix. Посмотрим, как решить эту проблему:

Пример кода (концептуально), как должна выглядеть структура для передачи в драйвер, если 1С не делает этого автоматически:


КодДляККТ = "01" + GTIN + "21" + Serial + Символ(29) + "91" + Ключ + Символ(29) + "92" + Криптохвост;
// или использование подстановки управляющих символов драйвера
КодДляККТ = СтрЗаменить(ИсходныйКод, " ", "{FNC1}"); 

Шаг 4. Решение проблем с весовым товаром (Ошибка D3h)

Рассмотрим специфическую проблему, упомянутую пользователями: при наличии в чеке маркированного товара и обычного весового товара возникает ошибка "Код товара не привязан" (D3h). Это связано с тем, что ФФД 1.2 предъявляет новые требования к тегу 2108 (Мера планируемого количества предмета расчета).

Для устранения этой ошибки необходимо:

  1. Обновить конфигурацию 1С до версии, где реализована поддержка ФФД 1.2 для конкретной программы (например, "Розница" 2.3.10+ или "УТ" 11.4.13.271+).
  2. Убедиться, что в справочнике "Единицы измерения" для весового товара указаны корректные коды по ОКЕИ, которые 1С может сопоставить с новыми кодами форматов ФНС (кг, шт и т.д.).

Шаг 5. Принудительное исправление через модификацию кода (для программистов)

Если обновление конфигурации невозможно по причине сильной кастомизации, проанализируем возможность "заплатки" в коде 1С. В модуле ОборудованиеЧекопечатающиеУстройстваВызовСервера найдем процедуру ЗаписатьДанныеКодаТоварнойНоменклатуры.

Иногда система ошибочно определяет ревизию интерфейса. Посмотрим на пример модификации условия:


// Было:
Если ПараметрыФискализации.РевизияИнтерфейса > 3003 Тогда 
// Стало (принудительное включение логики ФФД 1.2 для версии драйвера 10.9):
Если ПараметрыФискализации.РевизияИнтерфейса >= 3001 Тогда 
    // Логика формирования тега 1163 (GoodCodeData)
    ЗаписьXML.ЗаписатьНачалоЭлемента("GoodCodeData");
    // ... заполнение атрибутов ...
    ЗаписьXML.ЗаписатьКонецЭлемента;
КонецЕсли;

Внимание: Данный метод является экстренным и рекомендуется только в случае, если штатные средства обновления не помогают. После такого вмешательства обязательно проверьте чек в личном кабинете ОФД на наличие корректного признака маркировки [M+].

Проверка связи с ИСМ и ОФД

Выясним еще одну причину ошибки "Контрольная марка не проверена". В формате 1.2 касса должна иметь прямой доступ к серверам ИСМ (Информационной Системы Маркировки). Если на роутере закрыт порт 10300 или в настройках ККТ неверно указан адрес сервера (скпф.црпт.рф), проверка будет завершаться ошибкой, и 1С заблокирует пробитие чека.

Рекомендуем зайти в "Тест драйвера" — "Свойства" — "Параметры ККТ" и проверить настройки в разделе "ИСМ". Убедитесь, что выбран правильный канал обмена (например, "EoT" или "USB-на-компьютере").

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

← На главную