При обновлении конфигурации 1С:Розница (особенно после крупных предновогодних или квартальных релизов) пользователи часто сталкиваются с тем, что торговое оборудование, которое годами работало стабильно, внезапно выходит из строя. Одной из наиболее распространенных проблем является некорректная работа весов с печатью этикеток Штрих-Принт. В этой статье мы подробно разберем, как восстановить работоспособность оборудования, если стандартные методы установки драйверов через интерфейс 1С не помогают.
Проанализируем ситуацию, когда после обновления 1С выдает ошибку: Ошибка получения описания драйвера {ОбщийМодуль.ПодключаемоеОборудованиеУниверсальныйДрайверКлиент.Модуль(2956)}: Метод объекта не обнаружен (ПолучитьНомерВерсии). Эта проблема связана с переходом платформы и конфигураций на новую технологию взаимодействия с внешними компонентами.
Ранее 1С использовала технологию COM для работы с драйверами Штрих-М. Современные версии конфигураций ориентированы на Native API. Если в системе осталась старая библиотека драйвера, которая была «снята с поддержки», но все еще прописана в настройках оборудования, программный код 1С пытается вызвать методы, характерные для нового типа драйверов, у старой компоненты. Поскольку в старой COM-библиотеке метода ПолучитьНомерВерсии попросту не существует, система аварийно завершает работу драйвера.
Прежде чем приступать к установке нового оборудования, мы должны убедиться, что старые файлы не будут конфликтовать с новыми. Рассмотрим последовательность действий по очистке:
C:\Users\ИмяПользователя\AppData\Roaming\1C\1cv8\ExtCompT.DrvLP1C.dll и удалим его. Если файлов несколько, удаляем все, что связано с Shtrih или DrvLP.Многие совершают ошибку, скачивая драйверы с официального сайта производителя, которые могут не совпадать по версии с теми, что ожидает конфигурация. Рекомендуется использовать драйвер, поставляемый внутри самой 1С. Рассмотрим процесс установки заново:
Если автоматическая установка не сработала, нам нужно помочь системе «увидеть» библиотеку. Посмотрим на алгоритм действий, который помог большинству специалистов:
Сначала найдем файл DrvLP1C.dll. После попытки установки из 1С он должен снова появиться в папке %AppData%\1C\1cv8\ExtCompT. Скопируем этот файл.
Далее нам нужно поместить его в каталог исполняемых файлов платформы. Проанализируем путь к bin платформы, например: C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin. Вставим скопированный файл сюда.
Теперь необходимо зарегистрировать библиотеку в реестре Windows. Для этого запустим командную строку (cmd) от имени администратора и выполним следующую команду:
regsvr32 "C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin\DrvLP1C.dll"
Важное замечание: Если у вас 64-битная операционная система, а платформа 1С и драйвер 32-битные (x86), рекомендуется использовать регистратор из папки SysWOW64:
C:\Windows\SysWOW64\regsvr32.exe "C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin\DrvLP1C.dll"
После успешной регистрации перезагрузим компьютер и проверим статус драйвера в 1С. Теперь сообщение «Драйвер установлен» должно появиться в окне настроек.
Проанализируем ситуацию, когда под учетной записью администратора весы работают, а под обычным пользователем (кассиром) 1С пишет, что драйвер не установлен. Проблема заключается в том, что компонента Shtrih-M пытается записать параметры подключения (номер порта, скорость) в защищенные ветки реестра или системные папки.
Для решения этой проблемы можно использовать команду runas, которая позволяет запускать 1С от имени администратора с сохранением пароля. Рассмотрим пример настройки ярлыка:
runas /user:Администратор /savecred "C:\Program Files (x86)\1cv8\common\1cestart.exe"
Однако более правильным и безопасным методом будет предоставление точечных прав на ветки реестра. Драйвер Штрих-М хранит свои настройки здесь:
HKEY_CURRENT_USER\Software\Shtrih-MHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Shtrih-M (для 64-битных систем)Откроем regedit, найдем эти ветки, нажмем правую кнопку мыши — «Разрешения» и предоставим группе «Все» или конкретному «Пользователю» права на «Полный доступ». Это позволит драйверу сохранять настройки COM-порта без обладания правами администратора в системе.
Если ваши весы подключены к локальному компьютеру, а 1С запущена на сервере через удаленный рабочий стол, проанализируем настройки терминального подключения. В настройках RDP-клиента на вкладке «Локальные ресурсы» обязательно должна стоять галочка «Порты». Без этого драйвер, установленный на сервере, не сможет увидеть весы, физически подключенные к клиенту.
Также помните, что при работе в терминале библиотеку DrvLP1C.dll желательно регистрировать под каждым пользователем отдельно или устанавливать её в общесистемную папку, чтобы она была доступна всем сессиям.
Выполнив эти шаги, мы добьемся стабильной работы весов Штрих-Принт в обновленной конфигурации 1С:Розница 2.2, исключив конфликты версий и ограничения прав доступа Windows.