Почему 1С запрашивает пароль дважды при первом запуске базы?

Системный администратор 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

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

Физика процесса: почему происходит двойной запрос авторизации?

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

  1. Отсутствие локального кэша. Когда информационная база только что добавлена в список или когда у пользователя очищен кэш (включая создание нового профиля ОС), на локальном компьютере полностью отсутствуют файлы кэша метаданных для этой конкретной базы. Стартер 1С (утилита 1cestart.exe) ничего не знает о конфигурации, к которой пытается подключиться.
  2. Режим автоматического определения. По умолчанию для всех вновь добавляемых баз в настройках запуска установлен режим «Выбирать автоматически». Не имея информации в локальном кэше, стартер по умолчанию предполагает, что база является современной, и пытается подключиться к ней через наиболее легкий Тонкий клиент (1cv8c.exe).
  3. Первая авторизация (Тонкий клиент). Тонкий клиент запускается, обращается к серверу 1С или файловой базе и требует от пользователя ввести логин и пароль. Пользователь выполняет авторизацию.
  4. Анализ метаданных. После успешной проверки подлинности Тонкий клиент считывает корневой объект конфигурации и ее настройки. В этот момент платформа понимает, что данная конфигурация разработана на обычных формах (или в ее свойствах жестко прописано требование использовать исключительно Толстый клиент).
  5. Переключение клиента. Тонкий клиент осознает, что не может работать с этой конфигурацией. Он завершает свою работу, передает управление стартеру, который инициирует запуск Толстого клиента (1cv8.exe).
  6. Вторая авторизация (Толстый клиент). Поскольку Толстый клиент запускается как абсолютно новый, независимый процесс операционной системы, он не может автоматически унаследовать сеанс авторизации от закрытого Тонкого клиента. Платформа вынуждена повторно запросить у пользователя логин и пароль.
  7. Сохранение информации в кэш. После того как пользователь успешно вводит пароль во второй раз и заходит в базу, Толстый клиент сохраняет информацию о правильном типе запуска в локальный кэш пользователя (в каталоги %userprofile%\AppData\Local\1C и %userprofile%\AppData\Roaming\1C). При всех последующих запусках стартер сразу считывает эти данные и запускает Толстый клиент напрямую, запрашивая пароль всего один раз.

Диагностика проблемы с помощью Журнала регистрации

Чтобы окончательно убедиться в том, что двойной запрос пароля вызван именно переключением клиентов, мы можем обратиться к встроенному инструменту диагностики — Журналу регистрации. Проанализируем события, которые фиксируются в базе данных при первом входе:

Если мы откроем Журнал регистрации и установим отбор по нашему пользователю за последние несколько минут, мы увидим два последовательных события входа с разницей в несколько секунд:

Это подтверждает, что пользователь физически заходил в систему дважды через разные клиентские приложения.

Как решить проблему и предотвратить двойной ввод пароля

Существует несколько административных способов полностью исключить повторный запрос авторизации, сделав работу пользователей максимально комфортной.

Способ 1. Явное указание типа клиента в настройках базы

Самый простой и надежный способ — принудительно указать платформе, какой именно клиент необходим для работы с базой, минуя стадию автоопределения.

Вариант А. Настройка через графический интерфейс:

  1. Запустите стартер 1С и выберите необходимую информационную базу в списке.
  2. Нажмите кнопку «Изменить» на правой панели.
  3. В открывшемся окне параметров нажмите кнопку «Далее», а затем еще раз «Далее», чтобы перейти на последнюю вкладку настроек.
  4. Найдите поле «Режим запуска». Вместо значения «Выбирать автоматически» установите переключатель в положение «Толстый клиент» (или «Тонкий клиент», если ваша конфигурация работает на управляемых формах).
  5. Нажмите кнопку «Готово» для сохранения настроек.

Вариант Б. Настройка через файл общего списка баз (ibases.v8i):

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

Вместо стандартного автоматического определения:


[НашаИнформационнаяБаза]
Connect=Srvr="server-1c";Ref="base_db";
ID=e5b3f274-129a-4c92-88ef-2f08f847b2c1
OrderInList=16384
Folder=/
App=Auto

Пропишите жесткое использование Толстого клиента:


[НашаИнформационнаяБаза]
Connect=Srvr="server-1c";Ref="base_db";
ID=e5b3f274-129a-4c92-88ef-2f08f847b2c1
OrderInList=16384
Folder=/
App=ThickClient

Способ 2. Проверка прав доступа к каталогам кэша

Если двойной ввод пароля происходит не только при первом старте, а при каждом запуске программы, это свидетельствует о серьезной системной проблеме. Платформа 1С после успешного входа пытается сохранить информацию о правильном типе клиента в локальный кэш пользователя, но не может этого сделать.

Такая ситуация часто возникает в терминальных средах (RDP на Windows Server) или при некорректной настройке прав учетных записей пользователей домена. Для решения этой проблемы выполните следующие действия:

  1. Проверьте, что у пользователя операционной системы есть права «Полный доступ» или как минимум «Изменение» на следующие каталоги на его локальном компьютере (или в его профиле на терминальном сервере):
    • %userprofile%\AppData\Local\1C
    • %userprofile%\AppData\Roaming\1C
  2. Если права ограничены, операционная система будет блокировать запись конфигурационных файлов 1С, и при каждом новом запуске стартер будет инициировать процедуру автоопределения заново, заставляя пользователя вводить пароль дважды. Предоставьте пользователю необходимые права на запись в эти папки.

Способ 3. Жесткое указание версии платформы

Иногда задержки и сбои в определении клиента могут быть вызваны тем, что стартер пытается анализировать совместимость различных установленных на компьютере версий технологической платформы 1С. Чтобы исключить этот фактор, в свойствах информационной базы рекомендуется явно прописать целевую версию запуска.

В поле «Версия платформы» в настройках базы укажите конкретный релиз, например, 8.3.22.1709. Это ускорит запуск и избавит систему от необходимости проводить перекрестные проверки совместимости установленных дистрибутивов.

Способ 4. Использование параметров командной строки для автоматической авторизации

Если вам необходимо полностью автоматизировать процесс авторизации (например, при развертывании рабочих мест, настройке ярлыков для пользователей или запуске регламентных процедур), вы можете прописать учетные данные непосредственно в параметрах запуска информационной базы. В этом случае даже при переключении между клиентами авторизация пройдет незаметно для пользователя.

Для этого в свойствах базы в поле «Дополнительные параметры запуска» добавьте следующие ключи (обратите внимание, что символы /N и /P должны быть написаны на английской раскладке клавиатуры):

/N "ИмяПользователя" /P "ПарольПользователя"

Если вы запускаете 1С через ярлык или bat-файл, строка запуска в Толстом клиенте с автоматической авторизацией будет выглядеть следующим образом:


"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S "server-1c\base_db" /N "ИмяПользователя" /P "ПарольПользователя"

При таком подходе стартер автоматически передаст параметры авторизации сначала Тонкому клиенту, а затем, выполнив переключение, продублирует их для Толстого клиента. Пользователь сразу окажется в рабочем интерфейсе программы без каких-либо дополнительных диалоговых окон.

← На главную