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

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

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

Основные причины проблемы

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

  1. Повреждение пользовательских настроек в базе данных. При завершении работы 1С сохраняет форму, отборы и персональные параметры в системных таблицах СУБД. Если там образовались некорректные или битые бинарные данные, при каждом запуске они снова загружаются с сервера и моментально портят свежий локальный кэш.
  2. Подключенные принтеры и службы печати. При инициализации интерфейса 1С опрашивает принтеры, установленные в системе по умолчанию (включая проброшенные через RDP). Если сетевой принтер недоступен или его драйвер сбойный, клиент 1С уходит в длительный тайм-аут ожидания отклика.
  3. Тайм-ауты системы лицензирования (NetHASP). При обновлении сервера или платформы сеанс может зависать на этапе поиска сетевого ключа защиты через опрос широковещательных портов.
  4. Ограничения 32-разрядного сервера 1С. Процесс rphost.exe 32-битной версии ограничен объемом адресации памяти (до 2–3 ГБ). При загрузке «тяжелых» персональных настроек или отчетов процесс может временно зацикливаться.

Шаг 1. Очистка и сброс настроек пользователя в 1С

Поскольку проблема привязана к учетной записи 1С, а не к пользователю ОС Windows, первоочередной задачей является сброс сохранения формы и пользовательских настроек.

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

  1. Зайдем в базу под учетной записью администратора.
  2. Перейдем в раздел Администрирование > Настройки пользователей и прав > Персональные настройки пользователей (или Очистка настроек в зависимости от конфигурации).
  3. Выберем проблемного пользователя и удалим сохраненные настройки форм, отчетов и динамических списков.

Если требуется выполнить очистку программно, можно воспользоваться методом платформы ОчиститьНастройкиПользователя():


ВыбранныйПользователь = ПользователиИнформационнойБазы.НайтиПоИмени("ПроблемныйПользователь");
Если ВыбранныйПользователь <> Неопределено Тогда
    НастройкиПользователей.ОчиститьНастройкиПользователя(ВыбранныйПользователь);
КонецЕсли;

Шаг 2. Проверка принтеров по умолчанию и драйверов печати

Частой причиной зависания при входе в терминальном сеансе RDP являются принтеры. При запуске 1С пытается инициализировать параметры страницы и опрашивает принтеры.

Проанализируем порядок действий для проверки:

  1. В терминальной сессии пользователя откроем Устройства и принтеры.
  2. Установим в качестве принтера по умолчанию локальный виртуальный принтер (например, Microsoft Print to PDF или XPS Document Writer).
  3. Отключим перенаправление (проброс) клиентских принтеров в настройках RDP-подключения, если они не требуются для работы.
  4. Проверим скорость входа в 1С. Если вход прошел успешно, следует обновить или заменить драйвер печати на сервере.

Шаг 3. Очистка серверного кэша 1С

Если сброс настроек в режиме «Предприятие» не дал результата, рекомендуется очистить сеансовые данные и серверный кэш информационной базы.

Разберем по шагам очистку серверного кэша:

  1. Остановим службу агента сервера 1С:Предприятия (1cv8service).
  2. Откроем каталог данных серверов 1С (по умолчанию C:\Program Files (x86)\1cv8\srvinfo\reg_1541\).
  3. В папке соответствующей базы данных удалим временно созданные папки с идентификаторами сеансов (кэш-файлы), исключая файл конфигурации кластера 1CV8Reg.lst.
  4. Запустим службу агента сервера 1С.

Шаг 4. Настройка технологического журнала для диагностики

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

Создадим файл logcfg.xml в каталоге C:\Program Files (x86)\1cv8\conf\ со следующим содержимым:


<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/logcfg">
    <log location="C:\1C_Logs" history="24">
        <event>
            <eq property="name" value="PROC"/>
        </event>
        <event>
            <eq property="name" value="ADMIN"/>
        </event>
        <property name="all"/>
    </log>
</config>

После воспроизведения зависания проанализируем созданные лог-файлы в папке C:\1C_Logs. Это позволит определить конкретный метод или внешнее событие (запрос к СУБД, обращение к файлу, проверка лицензии), на котором останавливается выполнение процесса 1cv8.exe или rphost.exe.

Рекомендации по предотвращению сбоев

  1. Переход на 64-разрядный сервер 1С: Использование 32-битного сервера платформы на современных СУБД (MS SQL 2014) создает риски нехватки адресуемой памяти процесса rphost.exe. 64-разрядный сервер полностью снимает данное ограничение.
  2. Пересоздание учетной записи: Если настройки пользователя повреждены глубоко в структуре базы, самым быстрым решением будет создание дубликата пользователя 1С с переносом прав доступа и удаление старого профиля.
← На главную