Что делать, если после обновления 1С:УТ 11.4 или Розницы перестал работать ТСД CipherLAB?

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

Обновление конфигураций 1С:Предприятие на новые релизы (например, переход с УТ 11.3 на 11.4 или обновление Розницы до 2.3) часто сопровождается техническими сложностями с торговым оборудованием. Одной из наиболее распространенных проблем является отказ терминалов сбора данных (ТСД), в частности моделей серии CipherLAB 8x00. Типичная ошибка выглядит так: "Отсутствует список COM портов. (999)" или "Метод объекта не обнаружен (УстановитьПараметр)".

В данной статье мы подробно разберем, почему возникают эти ошибки, и рассмотрим пошаговые алгоритмы восстановления работоспособности ТСД.

Выясним причину неисправности

Проанализируем ситуацию: почему до обновления всё работало корректно, а после — оборудование требует постоянного «тестирования» или вовсе не определяется? Основных причин несколько:

  1. Обновление БПО (Библиотеки подключаемого оборудования): В новых релизах 1С меняются внутренние механизмы взаимодействия с драйверами. Старые версии драйверов (например, 1.0.0.9) не поддерживают новые методы NativeApi, которые вызывает конфигурация.
  2. Разрядность платформы: Если после обновления вы перешли на 64-битную версию клиентского приложения 1С, старые 32-битные компоненты (DLL) драйвера ТСД перестанут загружаться.
  3. Конфликт версий: Часто в системе остаются «хвосты» от старых драйверов в кэше или системных папках, которые 1С подхватывает вместо новых.

Рассмотрим последовательные способы решения проблемы.

Способ 1. Обновление драйвера и обработки обслуживания до версии 1.0.0.16

Как показывает практика и опыт пользователей, наиболее стабильной версией для работы ТСД CipherLAB через NativeApi в новых конфигурациях является версия 1.0.0.16. Разберем процесс установки:

Шаг 1. Перейдем в раздел Администрирование — Подключаемое оборудование.

Шаг 2. Откроем список Драйверы оборудования и создадим новый элемент.

Шаг 3. Выберем тип «Добавить новый драйвер из файла» и укажем архив с версией 1.0.0.16. Обратите внимание, что важно устанавливать не только сам драйвер как системную компоненту, но и обновлять обработку обслуживания (XML-описание драйвера) внутри 1С.

Шаг 4. После установки убедимся, что в поле «Версия драйвера» отображается именно 1.0.0.16. Если вы видите версию 1.0.0.9, значит, система продолжает использовать старую библиотеку из кэша.

Способ 2. Устранение ошибки «Метод объекта не обнаружен (УстановитьПараметр)»

Проанализируем программную ошибку, возникающую при попытке настройки. Она связана с тем, что 1С пытается вызвать метод УстановитьПараметр у объекта драйвера, который этот метод не поддерживает. Это характерно для ситуации, когда используется устаревшая компонента с новым программным кодом общего модуля ПодключаемоеОборудованиеУниверсальныйДрайверКлиент.

Рассмотрим фрагмент кода, где происходит сбой:


// Пример вызываемого кода в БПО
Результат = ОбъектДрайвера.УстановитьПараметр("EquipmentType", ТипОборудования);
Если Не Результат Тогда
    // Обработка ошибки
КонецЕсли;

Если обновление драйвера до 1.0.0.16 не помогло, попробуйте следующие действия:

Способ 3. Замена драйвера в Общих макетах (для опытных пользователей)

Иногда штатное обновление драйвера через интерфейс 1С не дает результата, так как конфигурация принудительно берет компоненту из встроенных макетов. В этом случае мы можем прибегнуть к подмене файла в самой конфигурации (через расширение или напрямую, если база снята с поддержки).

Проанализируем этот алгоритм:

  1. Найдем в дереве метаданных Общие макеты.
  2. Найдем макет с названием ДрайверСканкодТерминалыСбораДанныхNative (название может незначительно отличаться в зависимости от версии УТ).
  3. Заменим содержимое макета (загрузим из файла) на проверенный архив драйвера версии 1.0.0.16.
  4. Сохраним изменения и обновим конфигурацию базы данных.

После этой манипуляции 1С будет принудительно устанавливать правильную версию компоненты всем пользователям при первом обращении к ТСД.

Особенности парсинга данных (ошибка ", 1" в штрихкоде)

Рассмотрим еще одну ситуацию: ТСД подключается, тест проходит, но при загрузке данных номенклатура не находится. Вместо штрихкода 2000000012345 в поиск попадает строка 2000000012345, 1.

Выясним причину: это происходит из-за того, что драйвер или прошивка ТСД передает данные в формате «Штрихкод, Количество», а 1С ожидает только штрихкод или использует неверный разделитель. Чтобы исправить это, проанализируем настройки в форме драйвера:

Итоги и рекомендации

Мы рассмотрели основные способы восстановления работы ТСД после обновления. Главным инструментом решения остается контроль версий драйверов и соответствие разрядности платформы. Если ваш терминал работает только до перезапуска 1С, это верный признак проблем с инициализацией COM-порта или прав доступа к временным папкам, куда 1С распаковывает DLL-компоненту.

Помните: перед любыми манипуляциями с драйверами и конфигурацией обязательно создавайте резервную копию базы данных!

← На главную