При работе с 1С:Предприятие в режиме терминального сервера (RDP) пользователи часто сталкиваются со специфической проблемой: программа внезапно перестает реагировать на любые действия. Особенно это заметно при запуске длительных обработок, таких как восстановление последовательности документов, проведение большого массива данных или формирование сложных отчетов. Окно программы «замораживается», при этом диспетчер задач показывает отсутствие нагрузки на процессор и диск со стороны процесса 1С. В данной статье мы разберем причины этого поведения и методы устранения зависаний.
Проанализируем ситуацию: почему учетная система, выполняющая чисто вычислительные задачи, вдруг начинает зависеть от подсистемы печати? Основным виновником здесь выступает процесс splwow64.exe (Print Driver Host for Applications). Этот процесс является своеобразным «мостом» в 64-битных версиях Windows (таких как Server 2008 R2 или 2012 R2), который позволяет 32-битным приложениям (которым обычно является клиент 1С) взаимодействовать с 64-битной подсистемой печати.
Выясним, в какие моменты 1С обращается к этому процессу:
splwow64.exe уходит в бесконечное ожидание ответа, блокируя при этом вызывающий поток 1С.Рассмотрим самый простой и быстрый способ решения. Проблема часто заключается в том, что 1С пытается «достучаться» до медленного или сетевого принтера. Чтобы исключить эту задержку, выполним следующие шаги:
Это позволит платформе 1С мгновенно получать параметры страницы от локальной службы, не инициируя запросы к удаленным драйверам через нестабильные каналы связи RDP.
Посмотрим на техническую сторону работы Windows. По умолчанию в серверных операционных системах процесс splwow64.exe завершается автоматически через 2 минуты простоя. Постоянный запуск и завершение этого процесса при обращении 1С может приводить к «мертвым» блокировкам. Мы можем принудительно увеличить время жизни этого процесса.
Выполним редактирование реестра на стороне сервера:
regedit.exe от имени администратора.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print.SplWOW64TimeOutSeconds.3600 (в десятичной системе), что соответствует одному часу.После этой настройки процесс не будет постоянно перезапускаться, что значительно снизит риск возникновения конфликтов при выполнении длительных операций в 1С.
Проанализируем ситуацию, когда зависание вызвано некорректной работой конкретного драйвера принтера (например, HP Universal Print Driver). В Windows Server есть механизм, позволяющий запускать драйверы в изолированном процессе, чтобы их сбой не влиял на другие службы.
Это гарантирует, что если драйвер «повиснет», он не заблокирует основной поток splwow64.exe, и 1С сможет продолжить работу.
Если для конкретного пользователя или конкретной задачи (например, ночное восстановление последовательности) печать не нужна, лучше полностью исключить фактор принтеров. В настройках RDP-клиента на вкладке «Локальные ресурсы» снимите галочку «Принтеры» перед подключением к серверу. Это самый радикальный, но и самый надежный способ предотвратить любые конфликты с splwow64.exe.
Иногда зависание является мнимым. В режиме RemoteApp или при специфических настройках RDP модальное окно (например, вопрос «Завершить выполнение?» или сообщение об ошибке) может оказаться позади основного окна 1С. Пользователь его не видит, а программа ждет реакции.
Чтобы проверить это, попробуйте нажать комбинацию клавиш Alt + Tab внутри сессии или несколько раз клавишу Esc. Если после этого программа «ожила», значит, проблема была в фокусе окон. Для борьбы с этим рекомендуется использовать современные версии платформы и отключать использование модальных окон в настройках конфигурации (если это позволяет код).
Подведем итог. Зависания 1С в терминале чаще всего связаны не с объемом базы данных или кодом обработки, а с инфраструктурными особенностями Windows. Взаимодействие 32-битной 1С и подсистемы печати через splwow64.exe — это известное узкое место. Применяя комплекс мер от настройки принтера по умолчанию до правки реестра, можно добиться стабильной работы системы даже на устаревших ОС, таких как Windows Server 2008 R2.