Система создана для упрощения процесса обучения новых сотрудников, кураторства или помощи коллеге в каком-либо вопросе.
Предусмотрен следующий процесс: "Стажер" связывается с "Куратором" или службой поддержки, например, по телефону, просит помощи. Для удобства быстрого поиска способа связи "Стажер" самостоятельно запускает команду расширения в меню "Главное" - пункт "Создать" - команда "Запрос помощи".
При запуске система определяет адрес и номер сессии "Стажера". "Стажер" выбирает демонстрацию экрана в режиме "Только просмотр" или с "Доступом к управлению" и нажимает "Запросить помощь", при этом все данные для подключения отображаются в табличной части обработки у всех, кто откроет её для приема запроса.
"Куратор" двойным кликом вызывает команду подключения к экрану "Стажера" в режиме теневой копии или зеркала (RDP Shadow), используя стандартную утилиту системы mstsc.exe и ожидает подтверждения подключения.
Окно ожидания подтверждения на экране "Куратора" выглядит так:
Запрос на подключение на экране "Стажера" выводиться стандартными средствами ОС Windows, в зависимости от версии может выглядеть так:
или так:
Здесь нужно убедиться что к вам подключается именно тот кого вы ожидаете, имя пользователя и его домен выводиться первым словом. С любой стороны и на любом этапе можно прервать соединение. После подтверждения у "Куратора" откроется отдельное окно с содержимым сессии "Стажера". При наличии нескольких мониторов у "Стажера", все они выводятся в одном окне у "Куратора". "Куратор" может уменьшить или увеличить размер окна, в том числе "растянуть" его на два и более мониторов, изображение при этом масштабируется. Это действие может понадобиться если разрешение и количество мониторов не совпадают.
Тестирование расширения проводилось подключением в конфигурациях "1С: Бухгалтерия предприятия, редакция 3.0 (3.0.111.16)"; "Управление торговлей, редакция 11 (11.4.11.55)"; Зарплата и управление персоналом, редакция 3.1 (3.1.23.63) на версии платформы 8.3.18.1289.
Расширение сделано в режиме назначения "Дополнение" и не использует никаких данных основной конфигурации. Подключение производится так же, как и любое другое расширение.
Так как основная обработка расширения использует запуск системных утилит, при первом использовании у каждого пользователя будет выходить "Предупреждение безопасности", для его отключения у расширения нужно снять флаг "Защита от опасных действий". Действие не обязательное, так как влияет только на однократный вывод предупреждения о запуске объекта WScript.Shell.
Для настройки прав доступа в расширении присутствуют две роли "Shadow: Запрос помощи" для доступа к основной обработке и "Shadow: Настройки" - для изменения настроек. "Основные роли" не используются для совместимости с устаревшими БСП.
ВАЖНО!: При первом запуске вероятно выйдет ошибка про утилиту "quser.exe". Утилита quser.exe запускается на клиенте, но доступ клиентского приложения к системным утилитам может быть запрещен. Для решения этой проблемы достаточно скопировать утилиту в общедоступный каталог, например, в сеть, и указать путь к нему в настройках обработки. Окно настроек открывается сразу после этой ошибки. Утилита находится в каталоге "C:\Windows\System32".
Флаг настройки "Хранить статистику запросов" оставляет все запросы в базе, не удаляя их после истечения времени отображения, тем не менее в таблице основной обработки они фильтруются по этому времени, чтобы отображать только актуальные. Также при этом флаге доступен отчет "Статистика запросов".
ВАЖНО!: Если у организации несколько баз данных, удобно централизовать все запросы помощи, чтобы из любой базы можно было подать запрос, при этом в любой другой базе можно было ответить на запрос. Для этого предусмотрены параметры использования HTTP-сервисов. Перед применением нужно выбрать центральную базу, установить в ней расширение и опубликовать её HTTP-сервис расширения на web-сервере. Добавить пользователя с правами доступа, где добавлена роль "Shadow: Запрос помощи", и указать эти параметры в настройках расширений во всех остальных базах.
Часто в организациях применяются терминальные сервера в режиме удаленного рабочего стола или только для публикации приложения 1С, в этих случаях система будет определять как сервер и номер сессии на сервере терминалов, так и компьютер клиента и номер сессии на клиенте. В таком режиме подключение осуществляется к клиенту, чтобы "Куратор" видел не только 1С, но и другие приложения. Но если компьютер клиента не подчинен домену, у "Куратора" к нему нет прав и/или он не поддерживает режим RDP Shadow (Windows 7), то можно подключиться к сессии 1С на сервере терминалов. Для этого нужно вызвать контекстное меню, нажав правой кнопкой мыши по строке запроса, и выбрать пункт "Подключиться к сессии сервера".
Если "Куратор" забыл отключиться от "Стажера", то "Стажер" может самостоятельно сделать отключение. Чтобы отключить всех ранее подключившихся к вашему сеансу, необходимо нажать Ctrl+Alt+Del и выбрать пункт "Сменить пользователя" (Switch user). В режиме удаленного рабочего стола сочетание Ctrl+Alt+End. При этом все подключенные, сеансы в том числе и ваш, будут отключены. Для возврата в сеанс нужна повторная авторизация. Открытые приложения останутся на месте. Пункт "Сменить пользователя" (Switch user) так же есть в меню "Пуск" по клику на имени пользователя:
ВАЖНО!: У пользователя - администратора домена, а так же у администраторов терминальных серверов не возникнет проблем с доступом. Но если потребуется настроить доступ для группы непривилегированных пользователей, например, чтобы любой пользователь сети мог помочь любому сотруднику в трудной ситуации, по этой теме нужно искать статьи на тему RDS Shadow. Делается это созданием LOGON-скрипта для группы пользователей в AD. Подробности для такого скрипта можно найти по ссылкам, например, в этой статье https://winitpro.ru/index.php/2014/02/12/rds-shadow-v-windows-2012-r2/ с момента RDS Shadow из PowerShell есть конкретика с примерами по ссылке https://winitpro.ru/index.php/2016/03/02/zapusk-osnastok-tsadmin-msc-i-tsconfig-msc-v-windows-server-2012-r2/, я использовал для настройки именно их. Здесь нужно обратить внимание, что в примере права настраиваются для TerminalName='RDP-Tcp', но это справедливо только для терминальных серверов и сессий удаленного подключения к обычным машинам, но не забывайте, что есть еще TerminalName='Console' для консольной сессии.