При обновлении платформы 1С:Предприятие с версии 8.2 на 8.3 администраторы часто сталкиваются с ситуацией, когда торговое оборудование прекращает функционировать в информационной базе. В операционной системе сканер штрихкодов может работать исправно, считывая данные в текстовые редакторы, однако при попытке обращения к устройству из 1С появляется сообщение: «Ошибка загрузки драйвера. Программе не удалось загрузить драйвер устройств ввода».
Разберем причины возникновения этой неполадки, проанализируем механизм взаимодействия платформы с COM-библиотеками и рассмотрим пошаговую инструкцию по восстановлению работоспособности сканера.
Проанализируем техническую сторону вопроса. Чаще всего сбой связан со следующими факторами:
Scaner1C.dll регистрируется в системе как COM-сервер. В ветке реестра InprocServer32 фиксируется полный путь к файлу. Если библиотека ранее находилась в каталоге платформы 8.2 (например, .../1cv82/8.2.19.83/bin/), а затем была скопирована в каталог 8.3 без предварительной разрегистрации, в реестре нередко сохраняется ссылка на старую папку. В результате процесс 1С обращается по несуществующему адресу и завершает инициализацию ошибкой.Scaner1C.dll представляет собой 32-разрядную библиотеку. 64-битное клиентское приложение 1С:Предприятие не способно загрузить 32-битный COM-модуль напрямую в свое адресное пространство. Для работы с подобными библиотеками на клиентских местах обязательно должен использоваться 32-битный клиент (x86).regsvr32.exe. Если 32-битная библиотека регистрируется через 64-битную утилиту по умолчанию без указания окружения, записи могут создаваться некорректно.Разберем последовательность действий, которая позволяет гарантированно устранить ошибку и запустить оборудование в работу.
regedit) от имени администратора. Выполняем поиск по имени компоненты Scaner1C и ключам CLSID. Удаляем найденные разделы, которые ссылаются на старые каталоги платформы 8.2 или несуществующие пути.cmd.exe) от имени администратора. Для корректной регистрации 32-битной библиотеки в 64-битной Windows вызываем системную утилиту из каталога SysWOW64:
C:\Windows\SysWOW64\regsvr32.exe "C:\Program Files (x86)\1cv8\8.3.8.1747\bin\Scaner1C.dll"
Обратим внимание на распространенную ошибку сопровождения. Копирование внешних библиотек торгового оборудования в папку bin конкретного релиза платформы создает сложности при регулярных обновлениях. При каждом переходе на новый релиз 1С (например, с 8.3.8 на более актуальный) путь к каталогу меняется, а старая папка удаляется, что снова приводит к поломке регистрации COM-объекта.
Чтобы избежать подобных ситуаций в будущем, рекомендуем придерживаться следующих правил:
Program Files (x86)), либо в системной папке C:\Windows\SysWOW64. В этом случае обновление платформы 1С никак не затронет зарегистрированные пути.regsvr32 и поддерживают как 32-, так и 64-разрядные клиенты.