Какие драйверы нужны 1С:Предприятию и где каждый настраивается

· 9 мин

Содержание

Драйвер 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С — она знает, какие команды доступны для этого типа устройства.
  2. Программа производителя на компьютере: драйвер ККТ АТОЛ, драйвер Штрих-М и подобные. Её скачивают с сайта производителя оборудования.

Есть и драйверы без отдельной установки — в виде внешней компоненты, которая загружается в 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 APIWindows, Linux, macOS (если собрана под них)ДаНовые разработки, современные драйверы оборудования
COMТолько WindowsНетСтарые компоненты, уже работающие решения

COM-соединитель (comcntr.dll) — это драйвер, через который внешняя программа подключается к базе 1С: Excel, скрипт на Python, другая база 1С.

Как установить и настроить драйвер 1С

Драйвер торгового оборудования — порядок действий

  1. Установите программу-драйвер производителя на компьютер, к которому подключена касса или сканер. Скачивайте драйвер только с сайта производителя оборудования.
  2. Проверьте, что устройство отвечает в тестовой утилите производителя. Если там касса не печатает — в 1С она тоже не заработает.
  3. Откройте список подключаемого оборудования в 1С.
  4. Создайте новый экземпляр устройства: выберите тип (ККТ, сканер, весы), драйвер и рабочее место.
  5. Откройте настройку экземпляра, укажите порт или IP-адрес и скорость обмена.
  6. Нажмите тест устройства. Успешный тест — драйвер работает.

Где находится список оборудования:

КонфигурацияПуть
Бухгалтерия предприятия 3.0Администрирование → Подключаемое оборудование
Управление торговлей 11НСИ и администрирование → Администрирование → РМК и оборудование → Подключаемое оборудование

Оборудование привязывается к рабочему месту — связке «компьютер + пользователь ОС». Поэтому настроенная на одном компьютере касса не появится на другом. Это не ошибка: на втором компьютере экземпляр устройства создают заново.

Сканер штрихкодов в режиме эмуляции клавиатуры работает без драйвера: он «печатает» штрихкод как клавиатура. Драйвер нужен для режимов COM-порта и виртуального COM-порта.

Драйвер защиты — проверка после установки

  1. Вставьте ключ. Индикатор на ключе должен гореть.
  2. Откройте диспетчер устройств Windows и найдите ключ в списке USB-устройств. Если там «неизвестное устройство» — драйвер не встал.
  3. Запустите 1С. Если ключ увиделся, база откроется без запроса лицензии.

ODBC-драйвер для внешнего источника данных

  1. Установите ODBC-драйвер нужной СУБД на компьютер, где выполняется подключение. В клиент-серверной базе это сервер 1С.
  2. Учтите разрядность: 64-разрядный процесс 1С видит только 64-разрядный драйвер, 32-разрядный — только 32-разрядный.
  3. При необходимости создайте DSN в администраторе источников данных ODBC:
    • C:\Windows\System32\odbcad32.exe — 64-разрядные драйверы;
    • C:\Windows\SysWOW64\odbcad32.exe — 32-разрядные драйверы.
  4. В Конфигураторе добавьте объект в ветку Общие → Внешние источники данных, загрузите таблицы.
  5. Задайте строку соединения: в пользовательском режиме через Все функции → Стандартные → Управление внешними источниками данных или программно.

COM-соединитель

Зарегистрируйте библиотеку из каталога установленной платформы командой от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.24.1586\bin\comcntr.dll"

Номер версии в пути замените на свой. Разрядность платформы должна совпадать с разрядностью программы, которая подключается к 1С.

Перед вызовом специалиста проверьте
Выполнено: 0 / 5

Типичные сбои драйверов 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Нужна публикация на веб-сервере

Частые вопросы

Нужен ли драйвер защиты, если лицензия программная?
Нет. Программная лицензия активируется пин-кодом и хранится в файле. Драйвер HASP нужен только для USB-ключа.
Можно ли поставить 32-разрядный ODBC-драйвер на 64-разрядный сервер 1С?
Поставить можно, но 64-разрядный процесс сервера 1С его не увидит. Нужен драйвер той же разрядности, что и процесс, который подключается.
Почему касса работает на одном компьютере, а на соседнем нет?
Подключаемое оборудование привязано к рабочему месту. На втором компьютере нужно установить драйвер производителя и создать экземпляр устройства для его рабочего места.
Нужно ли ставить драйверы СУБД на компьютеры пользователей?
В клиент-серверном режиме — нет. С СУБД работает только сервер 1С, клиенты подключаются к нему.
Работают ли COM-компоненты в веб-клиенте и на Linux?
Нет, COM — технология Windows. Для веб-клиента и Linux нужны компоненты Native API, собранные под эти платформы.