Как исправить отсутствие драйверов оборудования в РИБ и ошибку создания первого пользователя в 1С:Розница 2.1?

Программист 1С v8.3 (Управляемые формы) 1С:Розница Торговля и дистрибуция
← На главную

При развертывании распределенной информационной базы (РИБ) или первоначальной настройке конфигурации «1С:Розница» редакции 2.1 (в частности, на релизах линейки 2.1.3) технические специалисты часто сталкиваются с двумя критическими проблемами: подчиненный узел РИБ создается без поставляемых драйверов подключаемого оборудования, а при попытке завести первого пользователя система выдает ошибку о невозможности создания администратора. Разберем причины возникновения этих сбоев и пошаговые методы их устранения.

Проблема 1. Отсутствие поставляемых драйверов оборудования в подчиненном узле РИБ

Проанализируем ситуацию: после создания начального образа и первого входа в периферийную базу список драйверов в справочнике Драйверы оборудования оказывается пуст, а подключить сканеры, фискальные регистраторы или эквайринговые терминалы стандартным способом не удается. В центральной базе при этом всё работает корректно.

Выясним причину такого поведения. Поставляемые драйверы в Библиотеке подключаемого оборудования (БПО) хранятся в виде двоичных данных в общих макетах конфигурации. Их первоначальное извлечение и запись в справочник выполняются обработчиками обновления информационной базы. Однако при формировании начального образа РИБ файл базы данных создается с уже зафиксированным текущим номером версии конфигурации. При первом старте подчиненной базы система считает, что обновление не требуется, и процедура распаковки драйверов из макетов просто не запускается. Кроме того, сами бинарные файлы драйверов нередко исключены из правил синхронизации для оптимизации сетевого трафика.

Рассмотрим способы решения проблемы с оборудованием.

Способ 1. Программная инициализация драйверов через внешнюю обработку

Наиболее быстрое и чистое решение — принудительно запустить штатную процедуру БПО, которая извлекает драйверы из макетов конфигурации и заполняет справочник. Для этого создадим простую внешнюю обработку и выполним вызов экспортного метода на стороне сервера:


&НаСервере
Процедура ОбновитьДрайверыНаСервере()
    МенеджерПодключаемогоОборудованияВызовСервераПереопределяемый.ОбновитьПоставляемыеДрайвера();
КонецПроцедуры

Разберем по шагам, как применить этот метод в подчиненной базе:

  1. Откроем периферийную базу в режиме «1С:Предприятие».
  2. Через главное меню откроем файл внешней обработки с указанным кодом.
  3. Выполним команду вызова процедуры. Метод распакует поставляемые драйверы из макетов конфигурации и зарегистрирует их в информационной базе.
  4. Перейдем в раздел настроек подключаемого оборудования и убедимся, что драйверы появились в списке.

Способ 2. Ручная загрузка драйверов из файлов

Если нет возможности запустить внешнюю обработку, загрузим драйверы вручную через пользовательский интерфейс:

  1. В центральной информационной базе перейдем в справочник Драйверы оборудования и сохраним нужные драйверы в виде zip-архивов на диск (либо найдем их в каталоге шаблона установленной конфигурации).
  2. В подчиненном узле откроем форму списка справочника Драйверы оборудования.
  3. Воспользуемся командой добавления нового драйвера из файла и укажем сохраненный архив.

Способ 3. Принудительный сброс версии подсистемы БПО

Еще один вариант — заставить систему поверить, что подсистема оборудования еще не обновлялась:

  1. В подчиненной базе откроем регистр сведений Версии подсистем.
  2. Найдем запись, отвечающую за библиотеку подключаемого оборудования, и временно очистим или уменьшим номер версии.
  3. Перезапустим базу в режиме «1С:Предприятие». Система автоматически инициирует процедуры обновления БСП/БПО и заполнит справочники поставляемыми данными.

Проблема 2. Ошибка: «После исполнения в списке не осталось бы ни одного пользователя с административными правами!»

Вторая частая неполадка в релизах 2.1.3 (особенно в базовых версиях) возникает при заведении пользователей: создать первого пользователя в режиме «1С:Предприятие» не удается из-за ошибки контроля прав, а создание через Конфигуратор приводит к отказу запуска с сообщением о недопустимости таких действий.

Выясним причину сбоя: платформа строго контролирует наличие хотя бы одного системного пользователя с административными правами. В релизах 2.1.3 алгоритм БСП при создании первого пользователя сначала модифицировал системные роли до завершения записи, что вызывало блокировку со стороны платформы («защита от удаления последнего администратора»).

Рассмотрим подробнее пути обхода этой ошибки.

Способ 1. Создание двух пользователей в Конфигураторе (основной рабочий способ)

Для успешного обхода проверки платформы выполним следующий алгоритм:

  1. Запустим базу в режиме Конфигуратор.
  2. Откроем список пользователей через меню «Администрирование» → «Пользователи».
  3. Создадим первого пользователя (например, с именем Администратор) и назначим ему роли Администратор системы и Полные права.
  4. Сразу же создадим второго временного пользователя (например, Админ2) с точно таким же полным набором прав.
  5. Сохраним изменения и закроем Конфигуратор.
  6. Запустим базу в режиме «1С:Предприятие» под учетной записью Администратор. Наличие второго пользователя страхует платформу от потери прав администратора, и запуск пройдет без ошибки.
  7. В режиме предприятия откроем справочник Пользователи, проверим сопоставление созданной учетной записи и включим ее в группу доступа «Администраторы».
  8. После завершения начальной инициализации временного пользователя Админ2 можно удалить.

Способ 2. Обновление конфигурации до актуального релиза

Данная ошибка была официально зарегистрирована разработчиками 1С и полностью исправлена в последующих релизах конфигурации (начиная с 2.1.3.11 и старше). Если специфика проекта позволяет, наиболее правильным долгосрочным решением будет обновление конфигурации «1С:Розница» до актуальной версии перед началом создания пользователей и настройкой обменов РИБ.

← На главную