При работе с онлайн-кассами производителя «Штрих-М» (например, ШТРИХ-М-01Ф, ШТРИХ-ON-LINE, ШТРИХ-ЛАЙТ-01Ф) пользователи конфигураций 1С (таких как «1С:Розница», «1С:Управление торговлей», «1С:УНФ») могут столкнуться с внезапной ошибкой при проверке связи или попытке пробития чека: «Тест не пройден. FFFFFFFEh, COM порт недоступен» (код ошибки FFFFFEh или -2).
Особенность ситуации часто заключается в том, что утилита «Тест драйвера ККТ» успешно обнаруживает фискальный регистратор и выполняет базовые запросы, однако попытка печати чека или выполнение проверки из интерфейса 1С завершается ошибкой. Разберем по шагам все возможные причины такого поведения и способы их устранения.
Выделим основные факторы, вызывающие ошибку FFFFFFFFEh:
Сбой микропрограммы (прошивки) ККТ: касса отвечает на короткие запросы состояния, но при получении команд фискализации, печати или закрытия смены аппарат аварийно перезагружается или сбрасывает интерфейсный порт.
Монопольная блокировка COM-порта: порт захвачен открытым приложением «Тест драйвера» (TestFR.exe), фоновыми службами передачи данных в ОФД или зависшим процессом 1С.
Недостаточный таймаут отклика: кассовый аппарат не успевает ответить на запрос драйвера 1С в отведенный промежуток времени.
Проблемы с регистрацией интеграционной компоненты 1С: повреждение или несоответствие разрядности библиотек SMDrvFR1CLib.dll / SMDrvFR1CLib20.dll.
Сброс питания USB-порта: настройки энергосбережения операционной системы отключают виртуальный COM-порт при кратковременном простое.
Шаг 1. Проверка состояния ККТ и обновление прошивки
Если касса успешно отзывается на команду «Установить связь» в тесте драйвера, но при попытке снять Z-отчет (закрыть смену) или напечатать чек выдает сообщение о недоступности порта, причина кроется в ошибке внутреннего программного обеспечения аппарата. Проанализируем версию прошивки кассы:
Откроем утилиту «Тест драйвера ККТ» и нажмем кнопку «Свойства».
Установим связь с кассой и нажмем кнопку «Длинный запрос».
Посмотрим на поля «Версия ПО», «Сборка ПО» и «Дата ПО». Если дата прошивки устарела, микропрограмму кассы необходимо обновить.
Перед обновлением прошивки обязательно снимем отчет с гашением (закроем смену) и выполним сохранение таблиц настроек ККТ в файл через меню «Таблицы» -> «Импорт/Экспорт».
После выполнения перепрошивки устройства (через специализированную утилиту по протоколу XMODEM, SD-карту или силами авторизованного сервисного центра) обязательно выполняем технологическое обнуление, устанавливаем корректную дату и время, а затем восстанавливаем таблицы настроек.
Шаг 2. Устранение монопольной блокировки порта
Интерфейс COM-порта (включая виртуальные порты VCOM) работает в монопольном режиме: одновременно работать с ним может только одно приложение. Проверим отсутствие конфликтующих процессов:
Убедимся, что во время работы 1С полностью закрыта утилита «Тест драйвера ФР» (TestFR.exe).
Откроем Диспетчер задач Windows и проверим вкладку «Процессы». Завершим зависшие фоновые сеансы 1cv8.exe и TestFR.exe.
Проверим сторонние службы передачи данных (например, утилиты типа ComProxy или модули связи с эквайринговыми терминалами): они не должны использовать тот же номер COM-порта, что и 1С.
Шаг 3. Настройка таймаута и скорости обмена в 1С
Частой причиной ошибки FFFFFFFFEh в типовых конфигурациях 1С является слишком низкое значение параметра ожидания ответа. При выполнении сложных операций касса просто не успевает сформировать фискальный ответ. Настроим параметры связи:
В 1С перейдем в раздел Администрирование -> Подключаемое оборудование.
Откроем карточку подключенного фискального регистратора и перейдем по кнопке «Параметры подключения» (или «Настройка драйвера»).
Найдем поле «Таймаут» (в миллисекундах) и увеличим его значение до 1000–3000 мс.
Сверим параметры «Порт» и «Скорость» (BaudRate): скорость в настройках 1С должна строго совпадать со скоростью, указанной в Диспетчере устройств Windows для соответствующего виртуального COM-порта (обычно 115200 или 57600 бит/с).
Шаг 4. Перерегистрация внешних компонент 1С
Если драйвер переустанавливался или обновлялась платформа 1С, библиотеки интеграции могли зарегистрироваться с ошибкой. Выполним ручную перерегистрацию библиотек драйвера «Штрих-М»:
Перейдем в каталог установки драйвера ККТ (по умолчанию: C:\Program Files (x86)\Штрих-М\Драйвер ККТ...\Bin\).
Найдем файлы интеграционной компоненты для 1С: SMDrvFR1CLib.dll и SMDrvFR1CLib20.dll.
Запустим командную строку Windows (cmd) от имени Администратора.
Убедимся, что появилось системное сообщение об успешной регистрации (DllRegisterServer выполнен успешно).
Шаг 5. Отключение энергосбережения USB-портов
При подключении ККТ по интерфейсу USB с эмуляцией COM-порта операционная система Windows может временно отключать контроллер USB для экономии электропитания, что приводит к разрыву связи с драйвером 1С:
Откроем Диспетчер устройств (нажатием клавиш Win + R и вводом команды devmgmt.msc).
Развернем ветку «Контроллеры USB».
Для каждого элемента «Корневой USB-концентратор» (USB Root Hub) и «Универсальный хост-контроллер USB» откроем Свойства -> Управление электропитанием.
Снимем флажок «Разрешить отключение этого устройства для экономии энергии» и нажмем «ОК».
Аналогичную операцию выполним в свойствах виртуального COM-порта кассы в ветке «Порты (COM и LPT)».
Шаг 6. Альтернативный вариант: подключение по TCP/IP
Для исключения проблем с эмуляцией COM-портов и нестабильностью USB-интерфейса рекомендуется перевести кассовый аппарат на прямое сетевое подключение по интерфейсу TCP/IP (Ethernet / RNDIS / Wi-Fi):
В тесте драйвера ККТ переключим тип подключения на TCP сокет.
Укажем постоянный статический IP-адрес кассы в локальной сети и порт (по умолчанию 7778).
В настройках оборудования 1С укажем протокол связи TCP/IP и заданный сетевой адрес. Такой способ обеспечивает максимальную стабильность обмена данными и исключает ошибки блокировки портов операционной системой.