Как исправить ошибку «Поле Обработчик драйвера не заполнено» при подключении сканера в 1С:Управление торговлей 10.3

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

При работе с обновленными релизами конфигурации «Управление торговлей», редакция 10.3 (начиная с версии 10.3.67.3 и выше), многие пользователи и администраторы столкнулись с неприятной проблемой. При попытке добавить новое торговое оборудование, например, сканер штрихкода или терминал сбора данных, система выдает критическую ошибку: «Поле "Обработчик драйвера" не заполнено». При этом само поле на форме может быть скрыто или недоступно для редактирования, что заводит пользователя в тупик.

В данной статье мы подробно разберем причины возникновения этой ситуации и рассмотрим несколько способов её решения: от простого изменения данных в справочниках до внесения корректировок в программный код конфигурации.

Почему возникла эта проблема? Выясняем причину

Рассмотрим ситуацию глубже. В последних релизах «Управления торговлей 10.3» разработчики 1С начали активно внедрять элементы из современных конфигураций, работающих на базе БСП (Библиотеки стандартных подсистем). Это коснулось и подсистемы торгового оборудования. Теперь настройка устройств происходит не через привычные «обычные» формы, а через управляемые формы в режиме тонкого клиента.

Основная причина ошибки заключается в том, что в программном коде формы элемента справочника ПодключаемоеОборудование допущена недоработка: при выборе конкретного драйвера из списка система «забывает» автоматически заполнить внутренний реквизит ОбработчикДрайвера. Поскольку этот реквизит является обязательным для работы подсистемы, сохранение или настройка оборудования блокируется.

Способ №1: Программное исправление в Конфигураторе

Если ваша база данных снята с поддержки или находится в режиме возможности редактирования, самым правильным решением будет внесение исправления непосредственно в код формы. Это позволит навсегда забыть об ошибке при создании новых карточек оборудования.

Проанализируем необходимые действия по шагам:

  1. Откроем базу в режиме Конфигуратор.
  2. В дереве конфигурации найдем справочник ПодключаемоеОборудование.
  3. Перейдем в раздел Формы и откроем управляемую форму ФормаЭлемента.
  4. Перейдем на закладку Модуль и найдем процедуру ДрайверОборудованияОбработкаВыбора.

Скорее всего, сейчас код выглядит следующим образом:


&НаКлиенте
Процедура ДрайверОборудованияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    Если ВыбранноеЗначение <> Объект.ДрайверОборудования Тогда
        Объект.Наименование = "'" + Строка(ВыбранноеЗначение) + "'" + ?(ПустаяСтрока(Строка(Объект.РабочееМесто)), "", " " + НСтр("ru='на'") + " " + Строка(Объект.РабочееМесто));
    КонецЕсли;
КонецПроцедуры

Проблема в том, что здесь происходит только обновление наименования, но не заполнение важного реквизита. Исправим это, добавив строку присвоения обработчика. Приведем код к следующему виду:


&НаКлиенте
Процедура ДрайверОборудованияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    Если ВыбранноеЗначение <> Объект.ДрайверОборудования Тогда
        Объект.Наименование = "'" + Строка(ВыбранноеЗначение) + "'" + ?(ПустаяСтрока(Строка(Объект.РабочееМесто)), "", " " + НСтр("ru='на'") + " " + Строка(Объект.РабочееМесто));
        
        // Вставляем эту строку для автоматического заполнения обработчика
        Объект.ОбработчикДрайвера = ВыбранноеЗначение.ОбработчикДрайвера; 
    КонецЕсли;
КонецПроцедуры

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

Способ №2: Решение через «Групповую обработку справочников» (без кода)

Если вы не хотите менять конфигурацию или база находится на строгом «замочке» (на поддержке без возможности редактирования), мы можем воспользоваться стандартным инструментом «Групповая обработка справочников и документов».

Разберем алгоритм действий:

  1. Зайдем в меню Сервис — Дополнительные отчеты и обработки — Групдовая обработка справочников и документов.
  2. В поле «Тип объекта» выберем Справочники, нажмем кнопку «Добавить» и найдем в списке Подключаемое оборудование.
  3. Нажмем кнопку «Отобрать». Система выведет список всех созданных устройств.
  4. Найдем наш сканер, который не удается настроить, и отметим его галочкой.
  5. В нижней части формы выберем действие «Изменить реквизит».
  6. В появившемся списке реквизитов найдем Обработчик драйвера.
  7. Установим значение вручную. Обычно для сканеров это значение 1С: Сканеры штрихкода (NativeApi) или аналогичное, соответствующее вашему драйверу.
  8. Нажмем кнопку «Выполнить».

После этой манипуляции значение реквизита будет записано в базу «напрямую», минуя проверку формы, и вы сможете нажать кнопку «Настроить» в карточке оборудования без каких-либо препятствий.

Способ №3: Проверка и актуализация справочника «Рабочие места»

Иногда ошибка может быть косвенно связана с некорректной привязкой оборудования к конкретному компьютеру. В новых версиях УТ 10.3 реализован механизм идентификации рабочего места по уникальному ID компьютера. Рассмотрим ситуацию, когда у одного и того же ПК в базе создается несколько записей рабочих мест.

Проанализируем справочник Рабочие места (путь: Сервис — Торговое оборудование — Настройка и подключение оборудования — Рабочие места). Если вы видите дубли записей для вашего компьютера, попробуйте следующее:

Во-первых, определите, под каким именно рабочим местом вы зашли в текущий момент. Это отображается в заголовке формы настройки оборудования.

Во-вторых, если оборудование было привязано к «старому» рабочему месту, а система создала «новое» (например, после обновления Windows или смены сетевого имени), вам нужно либо перенести настройки на новое место, либо через групповую обработку (описанную выше) поменять коды рабочих мест местами, чтобы актуальный сеанс подхватил старые настройки.

Дополнительные рекомендации по драйверам

Посмотрим на еще один важный момент — сам справочник «Драйверы оборудования». Если при выборе драйвера поле Обработчик драйвера остается пустым даже после программных правок, возможно, информация в самом справочнике драйверов повреждена.

Рекомендуется выполнить следующие действия:

Важно: Всегда проверяйте разрядность платформы 1С. Для корректной работы большинства драйверов торгового оборудования в УТ 10.3 рекомендуется использовать 32-битную (x86) версию платформы, так как многие производители до сих пор не выпустили стабильные 64-битные компоненты связи.

Подводя итог, можно сказать, что данная проблема является следствием «переходного периода» конфигурации УТ 10.3. Сочетание старых подходов и новых управляемых форм иногда порождает такие ошибки. Мы рассмотрели наиболее эффективные способы их устранения, которые позволят вам продолжить работу с торговым оборудованием в штатном режиме.

← На главную