При работе с торговым оборудованием в среде 1С:Предприятие одной из самых неприятных проблем является ошибка инициализации драйвера: «Не установлен на текущем компьютере. Не определен тип: AddIn.SMDrvFR1C20». Данная ситуация часто возникает после обновления платформы, модернизации кассового аппарата или перехода на новые версии операционных систем. Проблема осложняется тем, что системные тесты драйвера могут показывать успешное соединение, в то время как сама 1С отказывается видеть установленный компонент.
В этой статье мы подробно разберем, почему возникает эта ошибка, и рассмотрим пошаговые алгоритмы её устранения, основываясь на практическом опыте специалистов и технических особенностях драйверов «Штрих-М».
Идентификатор AddIn.SMDrvFR1C20 указывает на то, что 1С пытается обратиться к драйверу по технологии NativeApi. Ошибка «Не определен тип» означает, что операционная система или сама платформа 1С не смогла найти зарегистрированный программный объект в реестре Windows или в локальных папках хранения компонент. Рассмотрим основные причины возникновения этого сбоя:
Проанализируем ситуацию и перейдем к методам решения, начиная от самых простых и заканчивая глубокой настройкой системы.
Это самый важный пункт, с которого стоит начать диагностику. Исторически драйверы «Штрих-М» были преимущественно 32-битными (x86). Если вы установили 64-битную версию платформы 1С:Предприятие, она технически не сможет загрузить 32-битную DLL.
Выясним, какая версия установлена у вас. Если в заголовке программы или в окне «О программе» указано x86_64, а драйвер кассы старый, объект не будет инициализирован. Рассмотрим варианты решения:
_x64, и именно она загружена в справочник «Драйверы оборудования».Иногда штатный механизм установки 1С «Приложение установлено» отрабатывает некорректно. В этом случае нам необходимо зарегистрировать компоненту в системе вручную. Для драйверов «Штрих-М» основной библиотекой часто выступает smDrvFR1CLib20.dll (или DrvLP1C.dll для весов).
Выполним следующие шаги:
C:\Users\ИмяПользователя\AppData\Roaming\1C\1cv8\ExtCompT\.
regsvr32 "C:\Users\ВашПользователь\AppData\Roaming\1C\1cv8\ExtCompT\smDrvFR1CLib20.dll"
Если система выдает ошибку о том, что файл не найден, попробуйте скопировать DLL в системную папку C:\Windows\System32 (для 32-битных ОС) или C:\Windows\SysWOW64 (для 64-битных систем) и повторить регистрацию оттуда. Важно: после регистрации обязательно перезагрузите компьютер.
Если предыдущий метод не помог, рассмотрим альтернативный вариант: регистрацию библиотеки непосредственно в каталоге исполняемых файлов 1С. Это помогает, когда у программы возникают проблемы с поиском путей.
Разберем алгоритм действий:
smDrvFR1CLib.dll в папку bin текущей версии платформы, например: C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin\.
regsvr32 /u "C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin\smDrvFR1CLib.dll"
regsvr32 "C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin\smDrvFR1CLib.dll"
Часто инициализация типа AddIn.SMDrvFR1C20 проваливается из-за того, что в Windows отсутствуют библиотеки времени выполнения (Runtime), на которых написан сам драйвер. Библиотеки «Штрих-М» часто требуют Visual C++ Redistributable 2013 или 2015-2022 (x86).
Проанализируем список установленных программ в панели управления. Если этих компонентов нет, скачайте их с официального сайта Microsoft и установите. Без них команда regsvr32 может отрапортовать об успехе, но при попытке создания объекта в 1С система выдаст «Тип не определен», так как не сможет подгрузить нужные зависимости в память.
Система контроля учетных записей (UAC) в Windows 8, 10 и 11 может блокировать скрытую регистрацию компонент, которую пытается выполнить 1С. Посмотрим, как это обойти:
%TEMP%. 1С распаковывает туда временные файлы перед регистрацией. Если у текущего пользователя нет прав на запись или запуск из этой папки, установка сорвется.Бывают случаи, когда 1С «зацикливается» на ошибочной версии компоненты. Попробуем очистить кэш:
%AppData%\1C\1cv8\ExtCompT%LocalAppData%\1C\1cv8 (папки с длинными именами-идентификаторами)Подводя итог, отметим, что наиболее эффективным решением для ошибки AddIn.SMDrvFR1C20 является использование 32-битной платформы 1С в сочетании с ручной регистрацией библиотеки smDrvFR1CLib20.dll через regsvr32. Всегда помните о необходимости перезагрузки после манипуляций с системным реестром и проверяйте наличие установленных пакетов Visual C++. Если вы работаете через RDP (удаленный рабочий стол), регистрацию необходимо проводить под учетной записью администратора сервера в режиме установки приложений.