Почему 1С зависает на заставке при запуске и не доходит до окна авторизации?

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

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

Анализ влияния динамических обновлений

Одной из наиболее распространенных причин зависания в клиент-серверном варианте являются последствия динамического обновления конфигурации. Несмотря на удобство этой функции, она может оставлять «хвосты» в системных таблицах базы данных, которые блокируют инициализацию новых сеансов. Проанализируем состояние базы данных с помощью SQL-запроса к таблице _Config. Нам необходимо выяснить, есть ли записи, связанные с динамическими изменениями (содержащие 'dyn' в имени файла).

Выполним следующий запрос в консоли SQL Server Management Studio (SSMS):


SELECT *
FROM _Config
WHERE FileName LIKE '%dyn%'

Если запрос возвращает строки, это верный признак того, что динамическое обновление не завершилось корректно или его структура конфликтует с текущим состоянием сеансов. В этом случае рекомендуется выполнить «честное» (нединамическое) обновление. Для этого выгоним всех пользователей, зайдем в Конфигуратор, внесем любое незначительное изменение (например, добавим пробел в описание любого объекта), сохраним и обновим конфигурацию базы данных (клавиша F7).

Проблемы с сетевыми протоколами и IPv6

Начиная с версии 8.3.12, платформа 1С активно использует протокол IPv6. Выясним причину, по которой это может приводить к зависанию: если на сервере или клиентской машине включен IPv6, но сетевая инфраструктура (маршрутизаторы, брандмауэры) настроена на работу только с IPv4, 1С будет пытаться установить соединение по IPv6 до истечения внутреннего таймаута. Это ожидание может длиться от 20 до 60 секунд на каждый запрос, что визуально выглядит как «глухое» зависание.

Проанализируем сетевые настройки и попробуем принудительно приоритезировать IPv4. Рассмотрим шаги для исправления:

  1. Откроем свойства сетевого адаптера на сервере 1С и терминальном сервере.
  2. Снимем галочку с пункта "Протокол Интернета версии 6 (TCP/IPv6)".
  3. В некоторых случаях требуется правка реестра Windows для полной отдачи приоритета IPv4 над IPv6 (параметр DisabledComponents в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters).

Диагностика службы DNS и контроллера домена

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

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

Аппаратное ускорение графики и WebKit

В современных релизах платформы (8.3.15 и выше) для отрисовки интерфейса используется движок WebKit. Он чувствителен к драйверам видеокарты и настройкам аппаратного ускорения, особенно в среде терминальных серверов (RDP). Если графический стек дает сбой, процесс 1cv8.exe создает окно заставки, но не может отрисовать форму авторизации.

Посмотрим на ситуацию через запуск с параметром отключения ускорения. Попробуем запустить тонкий или толстый клиент из командной строки следующим образом:

"C:\Program Files\1cv8\8.3.15.1830\bin\1cv8.exe" /DisableHardwareAcceleration

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

Конфликты поиска лицензий (HASP и программные ключи)

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

Найдем файл nnhasp.ini (обычно в папке C:\Program Files\1cv8\conf или в папке с установленной платформой) и жестко пропишем адрес сервера лицензий:


[NH_COMMON]
NH_TCPIP = ENABLED

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10  ; Укажите IP вашего сервера лицензий
NH_TCPIP_METHOD = TCP
NH_USE_BROADCAST = DISABLED

Отключение NH_USE_BROADCAST заставляет 1С обращаться сразу по указанному адресу, минуя стадию долгого поиска в сети, что часто устраняет зависание на старте.

Очистка серверного и сеансового кэша

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

Разберем процедуру полной очистки на стороне сервера:

  1. Остановим службу 1C:Enterprise 8.3 Server Agent.
  2. Перейдем в каталог данных сервера (по умолчанию C:\Program Files\1cv8\srvinfo).
  3. Найдем папку конкретной информационной базы (ее ID можно посмотреть в консоли администрирования).
  4. Удалим содержимое папок snaccxt и config внутри папки базы. Внимание: не удаляйте файл 1CV8Reg.lst, если не планируете пересоздавать кластер с нуля.
  5. Запустим службу сервера 1С.

Ошибки платформы и взаимодействие с SQL

Нельзя исключать и специфические баги релизов. Например, в релизах ветки 15.х наблюдались утечки памяти и проблемы с «прожорливостью» рабочих процессов rphost.exe. Существует задокументированная ошибка (bug 000062641), связанная с некорректным обновлением конфигурации на SQL-версиях, когда база начинает вести себя нестабильно именно после перехода на новый релиз платформы.

Проанализируем ситуацию: если откат платформы на предыдущий релиз (например, с 15.1830 обратно на 15.1700) не помогает, значит, изменения уже зафиксированы в таблицах базы данных на уровне SQL. В таких случаях иногда помогает выгрузка базы в .dt и загрузка обратно. Это полностью пересоздает структуру таблиц и индексов, устраняя логические повреждения, которые не видны при обычном тестировании и исправлении. При работе с несколькими информационными базами регулярный запуск процедур обслуживания и проверки можно настроить с помощью программы для автоматического резервного копирования и тестирования 1С.

Взаимодействие с WMI и антивирусом

Напоследок проанализируем состояние операционной системы. 1С при запуске обращается к счетчикам производительности Windows (WMI). Если база данных WMI повреждена, вызов может «зависнуть». Попробуем пересобрать счетчики командой:

lodctr /r

Также проверим работу антивирусного ПО. В момент массового утреннего подключения пользователей антивирус может блокировать доступ к временным файлам в %TEMP%, которые создаются при распаковке программных модулей 1С. Рекомендуется добавить расширения *.1cv8, *.1clck, *.1cindex и папки с данными сервера в исключения сканирования.

Подводя итог, если стандартные методы очистки кэша не помогают, следует последовательно проверить: динамические обновления в SQL, доступность DNS, настройки IPv6 и параметры поиска ключей HASP. Сочетание этих мер в 90% случаев позволяет локализовать и устранить причину «бесконечной» заставки при старте 1С.

← На главную