При работе с платформой 1С:Предприятие 8.3 (особенно на релизах ветки 8.3.21 и 8.3.22) системные администраторы и пользователи могут столкнуться с крайне необычным поведением интерфейса. Вместо привычной работы внутри одного главного окна программы, каждая открытая форма (справочник, документ или отчет) начинает вести себя как самостоятельное приложение Windows. Это создает хаос на панели задач, делает невозможным нормальное переключение через Alt+Tab и приводит к зависанию сеансов на сервере.
В этой статье мы подробно разберем, почему возникает этот эффект, как его предотвратить и в каких версиях платформы ошибка была официально исправлена разработчиками.
Рассмотрим сценарий возникновения ошибки. Проблема характерна исключительно для режима «Толстого клиента» при использовании «Обычного приложения» (Ordinary Forms). В обычном режиме работы 1С использует так называемый MDI-интерфейс (Multiple Document Interface), где все дочерние окна жестко привязаны к родительскому. Однако при возникновении сбоя связь разрывается.
Проанализируем основные симптомы, с которыми сталкиваются пользователи:
1cv8.exe не завершается, а сеанс продолжает висеть в консоли администрирования серверов 1С, занимая лицензию.Разберем по шагам механизм воспроизведения этой ошибки. Исследования показывают, что триггером является диалог ввода пароля. Сбой происходит в следующей последовательности:
Именно в этот момент механизм инициализации главного окна платформы дает сбой. Первое (неудачное) обращение к системе не завершает сеанс полностью, а повторный вход происходит в контексте, где связь между родительским MDI-окном и рабочим окружением нарушена. С точки зрения операционной системы, новые формы создаются без указания владельца (Owner Window), поэтому Windows считает их независимыми приложениями.
Данный дефект официально зарегистрирован в баг-трекере фирмы 1С под номером 000132029. Проблема оказалась связана с глубокими изменениями в коде платформы, направленными на оптимизацию работы с экранными формами в ОС Windows. Выясним, какие версии платформы оказались наиболее уязвимы:
Важно понимать, что обычная очистка кэша (папок Local\1C и Roaming\1C) в данном случае не помогает, так как проблема заложена в алгоритме исполнения самого бинарного файла платформы.
Разберем, что можно предпринять, если вы столкнулись с подобным поведением системы.
Самый надежный способ — установка версии платформы, в которой данная ошибка официально исправлена. Разработчики устранили баг в следующих релизах:
Если оперативное обновление платформы невозможно (например, из-за жестких требований к инфраструктуре), научим пользователей правильно реагировать на ошибку аутентификации. Проанализируем алгоритм:
Такой подход гарантирует, что сеанс будет инициализирован «с чистого листа», и окна будут открываться корректно внутри программы.
Поскольку при возникновении ошибки сеансы часто остаются висеть на сервере, системному администратору необходимо проконтролировать освобождение лицензий. Посмотрим на необходимые действия:
Сеансы нужной информационной базы.Диспетчер задач. Если процесс 1cv8.exe продолжает висеть после закрытия видимых окон, его нужно завершить вручную.Проблема «разрозненных окон» в 1С на обычных формах — это классический пример бага платформы, связанного с обработкой исключительных ситуаций при входе в систему. Несмотря на пугающий вид, она не приводит к повреждению данных в базе, однако сильно мешает работе и «съедает» клиентские лицензии.
Наилучшим решением остается переход на актуальные релизы платформы 8.3.21.1622 или 8.3.22.1704. В качестве временной меры используйте метод полной остановки приложения через кнопку «Отмена» при любых ошибках ввода логина или пароля.