Переход на новый формат фискальных данных (ФФД 1.2) стал серьезным испытанием для многих пользователей 1С и владельцев кассовой техники АТОЛ. Одной из самых распространенных проблем является "Ошибка программирования реквизита 1162". В рамках данной статьи мы подробно проанализируем причины возникновения этой ошибки, разберем архитектурные изменения в форматах данных и представим пошаговый алгоритм решения проблемы, основанный на практическом опыте специалистов.
Проанализируем техническую сторону вопроса. В предыдущих версиях форматов (ФФД 1.05 и 1.1) реквизит 1162 (Код товара) использовался для передачи данных о маркировке. Однако в ФФД 1.2 этот реквизит был официально исключен из структуры чека для маркированных товаров. Вместо него введен совершенно новый реквизит — 1163, который имеет иную структуру и требует обязательной проверки кода маркировки через фискальный накопитель и сервера системы "Честный Знак".
Ситуация, когда касса выдает "Ошибку 1162", означает конфликт протоколов: учетная система 1С пытается отправить данные по старому образцу (в тег 1162), в то время как кассовый аппарат, уже переведенный на ФФД 1.2, блокирует эту попытку, ожидая данные в тег 1163. Разберем по шагам, как привести систему в соответствие новым требованиям.
Многие пользователи ошибочно полагают, что установки свежего драйвера АТОЛ в операционную систему Windows достаточно. На самом деле, для работы 1С требуется обновление внутренней интеграционной компоненты. Рассмотрим процесс правильного обновления на примере драйвера версии 10.9.0.8, который является стабильным для работы с ФФД 1.2.
installer/1c).Важный нюанс: Часто автоматическая установка компоненты из папки Program Files выдает ошибку. В таком случае рекомендуем извлечь файл fptr10_1c_win32_10_x_x_x.dll (или аналогичный для x64) из zip-архива вручную и загрузить его в 1С. После загрузки версия компоненты в окне настроек 1С должна отображаться как 10.9.0.8/10.9.0.8 (или выше).
После обновления компоненты нам необходимо переподключить кассу, чтобы 1С "увидела" поддержку нового стандарта. Рассмотрим этот процесс подробнее:
Создадим новую запись в справочнике "Подключаемое оборудование". При выборе драйвера убедимся, что используется версия, поддерживающая стандарт 3.4. Именно в версии стандарта 3.4 реализована полноценная поддержка ФФД 1.2. Проверим это, нажав кнопку "Параметры подключения". В поле "Ревизия интерфейса" должно стоять значение не ниже 3004.
Если в параметрах ККТ версия ФФД ФН и ККТ обозначаются как "???", это явный признак того, что связь между 1С и драйвером установлена некорректно или используется устаревшая обработка обслуживания.
Проанализируем ситуацию, когда драйверы обновлены, но проверка марки (получение статуса [М+]) не проходит. В ФФД 1.2 касса сама проверяет код маркировки. Для успешной проверки код должен передаваться в "сыром" виде со всеми спецсимволами.
Часто сканеры штрихкода в режиме эмуляции клавиатуры "съедают" символ-разделитель GS (ASCII 29). Без этого символа касса не может корректно разобрать структуру DataMatrix. Посмотрим, как решить эту проблему:
{FNC1} перед группами данных 91 и 92 в коде маркировки.Пример кода (концептуально), как должна выглядеть структура для передачи в драйвер, если 1С не делает этого автоматически:
КодДляККТ = "01" + GTIN + "21" + Serial + Символ(29) + "91" + Ключ + Символ(29) + "92" + Криптохвост;
// или использование подстановки управляющих символов драйвера
КодДляККТ = СтрЗаменить(ИсходныйКод, " ", "{FNC1}");
Рассмотрим специфическую проблему, упомянутую пользователями: при наличии в чеке маркированного товара и обычного весового товара возникает ошибка "Код товара не привязан" (D3h). Это связано с тем, что ФФД 1.2 предъявляет новые требования к тегу 2108 (Мера планируемого количества предмета расчета).
Для устранения этой ошибки необходимо:
Если обновление конфигурации невозможно по причине сильной кастомизации, проанализируем возможность "заплатки" в коде 1С. В модуле ОборудованиеЧекопечатающиеУстройстваВызовСервера найдем процедуру ЗаписатьДанныеКодаТоварнойНоменклатуры.
Иногда система ошибочно определяет ревизию интерфейса. Посмотрим на пример модификации условия:
// Было:
Если ПараметрыФискализации.РевизияИнтерфейса > 3003 Тогда
// Стало (принудительное включение логики ФФД 1.2 для версии драйвера 10.9):
Если ПараметрыФискализации.РевизияИнтерфейса >= 3001 Тогда
// Логика формирования тега 1163 (GoodCodeData)
ЗаписьXML.ЗаписатьНачалоЭлемента("GoodCodeData");
// ... заполнение атрибутов ...
ЗаписьXML.ЗаписатьКонецЭлемента;
КонецЕсли;
Внимание: Данный метод является экстренным и рекомендуется только в случае, если штатные средства обновления не помогают. После такого вмешательства обязательно проверьте чек в личном кабинете ОФД на наличие корректного признака маркировки [M+].
Выясним еще одну причину ошибки "Контрольная марка не проверена". В формате 1.2 касса должна иметь прямой доступ к серверам ИСМ (Информационной Системы Маркировки). Если на роутере закрыт порт 10300 или в настройках ККТ неверно указан адрес сервера (скпф.црпт.рф), проверка будет завершаться ошибкой, и 1С заблокирует пробитие чека.
Рекомендуем зайти в "Тест драйвера" — "Свойства" — "Параметры ККТ" и проверить настройки в разделе "ИСМ". Убедитесь, что выбран правильный канал обмена (например, "EoT" или "USB-на-компьютере").
Подводя итог, можно сказать, что решение ошибки 1162 требует комплексного подхода: от физической настройки сканера до обновления программных модулей 1С. Последовательное выполнение описанных шагов позволит вам успешно торговать маркированной продукцией в соответствии с требованиями законодательства.