26.05.2015 13:37
При работе в терминальном режиме на сервере терминалов под управлением Windows 2003, 2008, 2008R2 (возможно и в более поздних) существует проблема с выводом сообщения от 1с об изменении конфигурации либо отключении сеанса 1с. Сообщение в ряде случаев попадает под модальную форму. Таким образом блокируя какой либо ввод с помощью мыши/тач-скрина. Оперативную помощь в такой ситуации можно оказать подключением к данному сеансу и нажатии Alt+Tab. При этом сообщение поднимается "на верх", с последующим выбором действия закрыть/перезапустить.

С проблемой этой я впервые столкнулся лет пять назад, когда ещё только начинал работать над автоматизацией предприятия и до недавнего времени довольствовался оказанием оперативной помощи по требованию. Всё течёт и всё меняется. Количество терминалов работающих по данной схеме увеличивается постоянно, график работы предприятия переведён на круглосуточный и т.д и т.п. Наконец дошли руки до "системного решения" этой проблемы.

Итак. Суть решения в следующем:

написать программу, которая будет запущена перед запуском 1с в терминале и заставить её следить за появлением сообщения от 1с. Как только окно с сообщением будет найдено, искусственно сделать его "наивысшем" относительно всех других окон.

Сказано, сделано. Для тех, кому достаточно просто исполняемого файла, он находится в ForegroundWin1C\bin\Release внутри архива.

Попутно возникает другая проблема. Терминальная сессия не завершается при закрытии 1с, т.к остаётся запущенным наше приложение. Решение есть.
Нужно объяснить терминальному серверу, что процесс поражаемый нашим приложением не являтся пользовательским и его можно останавливать при отсутствии других пользовательских процессов в терминальной сессии. Список таких системных процессов находится в реестре термниратоного сервера

Код:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\SysProcs
создаём там новый параметр с именем исполняемого файла по аналогии с тема, что там уже присутствуют.

Используем. Надеюсь это решение пригодится не только мне.
Часовой пояс GMT +3, время: 06:36.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.