Какие драйверы нужны 1С:Предприятию и где каждый настраивается
Содержание
Драйвер 1С — это не одна программа, а несколько разных: драйвер ключа защиты HASP, драйверы торгового оборудования (кассы, сканеры, весы), драйверы доступа к СУБД (ODBC, OLE DB) и внешние компоненты. Самой платформе 1С:Предприятие 8.3 для работы в файловом режиме с программной лицензией дополнительные драйверы не нужны. Они нужны, когда 1С работает с «железом», с аппаратным ключом или с чужой базой данных.
Поэтому первый вопрос при любой проблеме — какой именно драйвер не работает . От ответа зависит, где его ставить: на компьютер пользователя, на сервер 1С или на сервер СУБД.
Что называют драйвером в 1С и зачем он нужен
Драйвер — прослойка между 1С и внешним миром. Платформа не умеет напрямую говорить с фискальным накопителем кассы или с базой Oracle. Она обращается к драйверу, а тот переводит команды на язык устройства или СУБД.
Пять ситуаций, где без драйвера не обойтись:
- 🔑 Аппаратный ключ защиты (USB-ключ HASP). Без драйвера платформа не видит ключ и не находит лицензию.
- 🧾 Торговое оборудование: онлайн-кассы, сканеры штрихкодов, весы, эквайринговые терминалы, принтеры этикеток.
- 🗄️ СУБД в клиент-серверном режиме: сервер 1С подключается к Microsoft SQL Server через клиентский драйвер.
- 🔌 Внешние источники данных: чтение таблиц чужой программы через ODBC.
- 🧩 COM-соединение и внешние компоненты: связь 1С с другими приложениями и расширение возможностей платформы.
| Драйвер | Где ставится | Кто обычно ставит |
|---|---|---|
| Драйвер защиты HASP | Компьютер или сервер, куда вставлен ключ | Администратор |
| Драйвер кассы, сканера, весов | Компьютер, к которому подключено устройство | Администратор или пользователь с правами |
| OLE DB / Native Client для MS SQL | Сервер 1С | Администратор сервера |
| ODBC-драйвер внешней СУБД | Там, где выполняется подключение (в клиент-сервере — сервер 1С) | Администратор |
| COM-соединитель comcntr.dll | Компьютер, где работает внешняя программа | Администратор |
В клиент-серверном режиме компьютерам пользователей драйверы СУБД не нужны. С базой данных общается только сервер 1С.
Виды драйверов 1С: ODBC, OLE DB, Native API, COM и драйвер защиты
Драйвер ключа защиты HASP
Нужен только при аппаратной лицензии — USB-ключе. Для программной лицензии (пин-код, файл лицензии) драйвер защиты не требуется вовсе.
Драйвер поставляется в составе дистрибутива платформы. На последнем шаге мастера установки есть флажок установки драйвера защиты. Если флажок пропустили, драйвер ставят отдельно утилитой производителя ключа haspdinst.exe:
rem установка драйвера ключа (запуск от имени администратора)
haspdinst.exe -i
rem удаление драйвера
haspdinst.exe -r
Сетевой ключ раздаёт лицензии по сети через менеджер лицензий производителя ключа. Драйвер и менеджер ставят на тот компьютер, куда вставлен ключ.
Драйверы торгового оборудования
Работают через Библиотеку подключаемого оборудования (БПО), которая встроена в типовые конфигурации: Бухгалтерию 3.0, Управление торговлей 11, Розницу, УНФ, ERP.
Драйвер устройства состоит из двух частей:
- Обработка-обслуживание внутри 1С — она знает, какие команды доступны для этого типа устройства.
- Программа производителя на компьютере: драйвер ККТ АТОЛ, драйвер Штрих-М и подобные. Её скачивают с сайта производителя оборудования.
Есть и драйверы без отдельной установки — в виде внешней компоненты, которая загружается в 1С архивом.
Драйверы доступа к СУБД: OLE DB и ODBC
OLE DB — интерфейс Microsoft. Через него сервер 1С работает с Microsoft SQL Server. Нужен клиентский компонент: исторически Microsoft SQL Server Native Client, в свежих версиях платформы поддерживается и Microsoft OLE DB Driver for SQL Server. Какой из них подходит вашей версии, смотрите в системных требованиях к платформе.
С PostgreSQL сервер 1С работает своими средствами, отдельный ODBC-драйвер для этого не нужен.
ODBC — универсальный интерфейс. Через него 1С читает и пишет данные во внешнюю базу: MySQL, Oracle, Firebird, Access, Excel. Для каждой СУБД нужен свой ODBC-драйвер от её производителя.
Native API и COM-компоненты
Внешняя компонента — библиотека, которая добавляет в 1С новые возможности: работу с оборудованием, шифрование, распознавание. Два технологических типа:
| Тип | ОС | Веб-клиент | Когда выбирают |
|---|---|---|---|
| Native API | Windows, Linux, macOS (если собрана под них) | Да | Новые разработки, современные драйверы оборудования |
| COM | Только Windows | Нет | Старые компоненты, уже работающие решения |
COM-соединитель (comcntr.dll) — это драйвер, через который внешняя программа подключается к базе 1С: Excel, скрипт на Python, другая база 1С.
Как установить и настроить драйвер 1С
Драйвер торгового оборудования — порядок действий
- Установите программу-драйвер производителя на компьютер, к которому подключена касса или сканер. Скачивайте драйвер только с сайта производителя оборудования.
- Проверьте, что устройство отвечает в тестовой утилите производителя. Если там касса не печатает — в 1С она тоже не заработает.
- Откройте список подключаемого оборудования в 1С.
- Создайте новый экземпляр устройства: выберите тип (ККТ, сканер, весы), драйвер и рабочее место.
- Откройте настройку экземпляра, укажите порт или IP-адрес и скорость обмена.
- Нажмите тест устройства. Успешный тест — драйвер работает.
Где находится список оборудования:
| Конфигурация | Путь |
|---|---|
| Бухгалтерия предприятия 3.0 | Администрирование → Подключаемое оборудование |
| Управление торговлей 11 | НСИ и администрирование → Администрирование → РМК и оборудование → Подключаемое оборудование |
Оборудование привязывается к рабочему месту — связке «компьютер + пользователь ОС». Поэтому настроенная на одном компьютере касса не появится на другом. Это не ошибка: на втором компьютере экземпляр устройства создают заново.
Сканер штрихкодов в режиме эмуляции клавиатуры работает без драйвера: он «печатает» штрихкод как клавиатура. Драйвер нужен для режимов COM-порта и виртуального COM-порта.
Драйвер защиты — проверка после установки
- Вставьте ключ. Индикатор на ключе должен гореть.
- Откройте диспетчер устройств Windows и найдите ключ в списке USB-устройств. Если там «неизвестное устройство» — драйвер не встал.
- Запустите 1С. Если ключ увиделся, база откроется без запроса лицензии.
ODBC-драйвер для внешнего источника данных
- Установите ODBC-драйвер нужной СУБД на компьютер, где выполняется подключение. В клиент-серверной базе это сервер 1С.
- Учтите разрядность: 64-разрядный процесс 1С видит только 64-разрядный драйвер, 32-разрядный — только 32-разрядный.
- При необходимости создайте DSN в администраторе источников данных ODBC:
C:\Windows\System32\odbcad32.exe— 64-разрядные драйверы;C:\Windows\SysWOW64\odbcad32.exe— 32-разрядные драйверы.
- В Конфигураторе добавьте объект в ветку
Общие → Внешние источники данных, загрузите таблицы. - Задайте строку соединения: в пользовательском режиме через
Все функции → Стандартные → Управление внешними источниками данныхили программно.
COM-соединитель
Зарегистрируйте библиотеку из каталога установленной платформы командой от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1586\bin\comcntr.dll"
Номер версии в пути замените на свой. Разрядность платформы должна совпадать с разрядностью программы, которая подключается к 1С.
Типичные сбои драйверов 1С и как их исправить
Каждое сообщение указывает на свой драйвер. Нажмите на симптом, чтобы увидеть причину.
Два частых промаха:
- ❌ Драйвер ставят не туда. ODBC-драйвер ставят на компьютер бухгалтера, хотя база клиент-серверная и подключается сервер 1С. Правило простое: драйвер нужен там, где выполняется код.
- ❌ Обновили платформу — забыли про COM.
comcntr.dllрегистрируется для конкретной версии. После обновления платформы его регистрируют заново из каталога новой версии.
Переустановка драйвера HASP на сервере с сетевым ключом отключает лицензии у всех пользователей. Делайте это вне рабочего времени и предупредите людей заранее — у них оборвутся сеансы.
Драйверы для интеграций: Битрикс, МойСклад, СБП
Здесь путаница чаще всего. Для обмена с сайтом или облачным сервисом драйвер не нужен. Эти интеграции работают по HTTP, а не через драйвер устройства или СУБД.
| Интеграция | Как устроена | Что настраивать |
|---|---|---|
| Сайт на 1С-Битрикс | Обмен файлами CommerceML по HTTP | Узел обмена с сайтом в 1С и модуль обмена на сайте |
| МойСклад | Обмен через API сервиса | Готовая обработка или расширение для обмена |
| Оплата по СБП в рознице | Сервис банка-партнёра | Подключение к банку, а для оплаты картой — драйвер эквайрингового терминала |
| Маркетплейсы | API площадок | Модуль интеграции с маркетплейсами в конфигурации |
С СБП есть нюанс. Оплата по QR-коду идёт через банк и платёжный сервис, драйвер для неё не нужен. А оплата картой через POS-терминал требует драйвера эквайрингового терминала в подключаемом оборудовании — это уже работа с «железом».
Если подрядчик говорит «надо поставить драйвер для Битрикса» — уточните, что он имеет в виду. Скорее всего, речь о модуле обмена на стороне сайта.
Работа с драйверами из кода 1С
Подключение внешней компоненты Native API
Компоненту храните в общем макете конфигурации (тип «Внешняя компонента»). Пример для сервера:
// Серверная процедура: подключение компоненты из общего макета
Местоположение = "ОбщийМакет.КомпонентаСканера";
Подключена = ПодключитьВнешнююКомпоненту(Местоположение, "Сканер", ТипВнешнейКомпоненты.Native);
Если Подключена Тогда
Компонента = Новый("AddIn.Сканер.Main");
Иначе
ВызватьИсключение "Не удалось подключить внешнюю компоненту";
КонецЕсли;
Имя объекта после AddIn.Сканер. задаёт разработчик компоненты — смотрите её документацию. На клиенте используйте асинхронные методы подключения: в современных конфигурациях синхронные вызовы на клиенте отключены свойством «Режим использования синхронных вызовов».
Внешний источник данных через ODBC
Строку соединения можно задать программно:
Параметры = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
Параметры.СтрокаСоединения = "DSN=ShopDB;";
Параметры.Пользователь = "reader";
Параметры.Пароль = ПарольИзНастроек;
ВнешниеИсточникиДанных.Магазин.УстановитьОбщиеПараметрыСоединения(Параметры);
Здесь Магазин — имя внешнего источника в конфигурации. Пароль не пишите в код открытым текстом: храните его в безопасном хранилище или в защищённой настройке.
ADO через COM (только Windows)
Когда внешний источник в конфигурацию добавлять нельзя, данные читают напрямую через ADO:
Соединение = Новый COMОбъект("ADODB.Connection");
Соединение.Open("DSN=ShopDB;UID=reader;PWD=" + ПарольИзНастроек);
Набор = Соединение.Execute("SELECT code, name FROM goods");
Пока Не Набор.EOF Цикл
Код = Набор.Fields("code").Value;
Наименование = Набор.Fields("name").Value;
Сообщить(СтрШаблон("%1 — %2", Код, Наименование));
Набор.MoveNext();
КонецЦикла;
Набор.Close();
Соединение.Close();
Код выполняется там, где работает процедура. Если она серверная, ODBC-драйвер и DSN должны быть на сервере 1С.
Подключение к 1С из внешней программы
Обратная задача — достучаться до базы 1С снаружи. Используется COM-соединитель:
Set Connector = CreateObject("V83.COMConnector")
Set Base = Connector.Connect("Srvr=""srv1c"";Ref=""buh"";Usr=""Обмен"";Pwd=""***"";")
Для файловой базы вместо Srvr и Ref указывают File="путь к каталогу базы".
| Задача | Технология | Ограничения |
|---|---|---|
| Свои функции в 1С (оборудование, криптография) | Внешняя компонента Native API | Компонента собирается под каждую ОС и разрядность |
| Чтение чужой СУБД, связи в запросах | Внешние источники данных + ODBC | Нужен ODBC-драйвер на стороне выполнения |
| Разовое чтение чужой СУБД | ADO через COMОбъект | Только Windows |
| Внешняя программа читает 1С | COM-соединитель | Только Windows, совпадение разрядности |
| Интеграция по сети | HTTP-сервисы, OData | Нужна публикация на веб-сервере |