При работе с программой 1С:Розница 2.3 и кассовыми аппаратами семейства «Штрих-М» (например, Штрих-Онлайн, Штрих-М-01Ф) пользователи часто сталкиваются со специфической ошибкой при попытке пробить чек. Текст ошибки выглядит следующим образом: «Чек не напечатан на устройстве для печати чеков. Дополнительное описание: При выполнении операции произошла ошибка: FFFFFFF7h, Неверное значение поля (35). Допустимые значения 0..31».
Эта проблема блокирует продажи и вызывает массу вопросов, так как стандартные настройки параметров связи (скорость порта, номер порта) обычно оказываются корректными. В данной статье мы детально разберем природу этой ошибки и рассмотрим пошаговые методы её устранения.
Для начала разберемся, что именно сообщает нам драйвер. Код ошибки FFFFFFF7h в протоколе обмена с ККТ означает, что устройство получило команду на запись данных в таблицу, но передаваемое значение выходит за рамки допустимого диапазона для этого конкретного поля.
Выясним, за что отвечает поле 35. В архитектуре ККТ «Штрих-М» настройки хранятся в системных таблицах. Поле под номером 35 в Таблице 17 (Региональные настройки) в актуальных версиях прошивок отвечает за так называемый «Строгий ФЛК» (Форматно-логический контроль) или является битовой маской для управления печатью тегов (например, отключение печати необязательных реквизитов чека). Диапазон значений 0..31 указывает на то, что это битовое поле (5 бит).
Причина конфликта заключается в том, что современная Библиотека подключаемого оборудования (БПО), встроенная в 1С:Розница, при каждом открытии смены или пробитии чека пытается принудительно инициализировать параметры кассы. Она отправляет запрос на установку значения в поле 35, чтобы гарантировать соответствие чека требованиям ФФД 1.05 или 1.2. Если на кассе установлена устаревшая прошивка, в которой этого поля еще не существовало или оно имело другой индекс, ККТ возвращает ошибку, и печать чека прерывается.
Как показывает практика и обсуждение на форумах, самым надежным способом решения является приведение внутреннего ПО (прошивки) кассового аппарата в соответствие с требованиями актуальной версии 1С. Рассмотрим этот процесс подробнее:
После обновления прошивки крайне важно выполнить технологическое обнуление и заново настроить таблицы, после чего ошибка FFFFFFF7h исчезает сама собой.
Часто системные администраторы пытаются решить проблему установкой новой версии драйвера «ШТРИХ-М: ККТ с передачей данных в ОФД (54-ФЗ)». Однако при попытке перехода на версию 4.15 и выше драйвер может не подгружаться в 1С. Разберем, как это исправить:
Проанализируем ситуацию: почему компонента не загружается? Обычно это связано с отсутствием необходимых системных библиотек в Windows.
Рассмотрим шаги по восстановлению работы драйвера:
regsvr32 "C:\Program Files (x86)\Shtrih-M\Drivers10\bin\ShtrihM_KKT_2.dll" (путь может отличаться в зависимости от версии драйвера).Подключаемого оборудования в 1С нажмите кнопку «Установить драйвер» и выберите файл из локальной папки после установки дистрибутива от производителя.Если обновление прошивки по каким-то причинам невозможно в данный момент, можно попытаться «согласовать» работу 1С и ККТ вручную. Посмотрим на этот процесс по шагам:
0. Если поле позволяет запись, запишите изменения.Важный момент: Если в таблице 17 вообще отсутствует поле с индексом 35, то ручная настройка не поможет — касса просто не понимает команду. В этом случае единственным выходом остается только понижение версии БПО в 1С (что не рекомендуется из-за законов о маркировке) или обновление прошивки.
При настройке торгового оборудования в 1С:Розница 2.3 обратите внимание на следующие параметры в карточке экземпляра оборудования:
Подведем итог. Ошибка Неверное значение поля (35) — это типичный симптом «разрыва поколений» между быстро обновляемым софтом 1С и консервативным внутренним ПО кассового аппарата. Для корректной работы в современных условиях (маркировка «Честный знак», новые реквизиты чеков) необходимо поддерживать прошивку ККТ в актуальном состоянии.