Как закрыть конфигуратор из обработки или Программное отключение сеансов

1. Imv 20.10.21 10:21 Сейчас в теме
Ситуация:
Запущен конфигуратор, запущен сеанс отладки.
Нужно програмно, из обработки, закрыть сеанс и конфигуратор.

Как закрыть сеанс я знаю... А вот как закрыть конфигуратор ?!

Вопрос в принципе решен. Спасибо всем.
Ссылка на подробную статью https://infostart.ru/1c/articles/77671/

НО после убиения сеансов происходит задержка в несколько секунд ! ,
не говоря уже о выводе сообщения !!! Может есть способ изменить данное поведение.
Ускорить закрытие и убрать оповещение...
По теме из базы знаний
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. ZergKRSK 129 20.10.21 10:30 Сейчас в теме
8. DJDUH 17 20.10.21 11:22 Сейчас в теме
(1) нужно получить PID процесса и кильнуть его.
10. Fox-trot 157 20.10.21 13:02 Сейчас в теме
(1) копни в сторону ПолучитьСеансыИнформационнойБазы()
3. XAKEP 20.10.21 10:37 Сейчас в теме
зачем ?
это как ветка на которой сидишь :)

убить интерпретатор из интерпретатора - это как :) ?
4. Imv 20.10.21 10:47 Сейчас в теме
>> Убить процесс
Это я понимаю... Но как понять что это мой процесс ?
Допустим открыто несколько экземпляров конфигуратора с разными базами.
Но нужно закрыть только отладочный сеанс и сам конфигуратор по одной базе !!!
5. soft_wind 20.10.21 10:49 Сейчас в теме
если прав хватает, из предприятия, через ком соединение, агента сервера, просто завершаешь свои/нужные сеансы,
через пару секунд, твои запущенные 1С-ки выдадут сообщение: Сеанс завершен Администратором (что то типа такого)
6. soft_wind 20.10.21 10:50 Сейчас в теме
(4) так ты в базу заходишь с логином и паролем, вот по логину и ищи и завершай
7. Imv 20.10.21 11:21 Сейчас в теме
>> из предприятия, через ком соединение, агента сервера, просто завершаешь свои/нужные сеансы
Эээ... а можно пример. Кажется, это будет то что нужно...
9. FatPanzer 20.10.21 11:23 Сейчас в теме
(7) ОМ АдминистрированиеКластераCOM
11. soft_wind 20.10.21 13:28 Сейчас в теме
(7) по идее сначала надо получить список текущих соединений, со всеми атрибутами, НомерамиСеансов и т.д.
и по этим атрибутам затем завершать

вот пример, какой-то старой процедуры, посмотрите, может что из нее и пригодится
Процедура ОтключитьСеансы(прНомерСоединения = Неопределено, прНомерСеанса = Неопределено)
	
	лкСоединения = АгентСервера.GetInfoBaseSessions(глКластер, глБазаАгента);
	
	Для каждого Сеанс из лкСоединения Цикл
		
		//Если нРег(Сеанс.AppID) = "backgroundjob" ИЛИ нРег(Сеанс.AppID) = "designer" Тогда
		лкАППИмя = НРег(Сеанс.AppID);
		Если лкАППИмя = "backgroundjob" 
		 или лкАППИмя = НРег("COMConsole")  Тогда
        	// если это фонового задания, то не отключаем
	        Продолжить;
		КонецЕсли;
		
		Если прНомерСоединения = Неопределено Тогда
			
		    АгентСервера.TerminateSession(глКластер, Сеанс);
			
		ИначеЕсли Сеанс.SessionID = прНомерСеанса
				и Сеанс.connection.ConnID = прНомерСоединения Тогда
				
		    АгентСервера.TerminateSession(глКластер, Сеанс);
			
		КонецЕсли;
		
	КонецЦикла;

	лкСоединения = АгентСервера.GetInfoBaseConnections(глКластер, глБазаАгента);
	// Разорвать соединения клиентских приложений.
	Для Каждого Соединение Из лкСоединения Цикл
		
	    Если нРег(Соединение.Application) = "backgroundjob" Тогда
	        // если это соединение конфигуратора или фонового задания, то не отключаем
	        Продолжить;
		КонецЕсли;
		
		Если прНомерСоединения = Неопределено Тогда
			
		    WorkingProcessConnection.Disconnect(Соединение);
			
		ИначеЕсли Соединение.SessionID = прНомерСеанса
				и Соединение.ConnID = прНомерСоединения Тогда
				
		    WorkingProcessConnection.Disconnect(Соединение);
			
		КонецЕсли;
		
	КонецЦикла
	

КонецПроцедуры
Показать
12. Imv 20.10.21 16:26 Сейчас в теме
Спасибо всем !!! Вопрос закрыт.
>>FatPanzer, soft_wind. "Старая процедура" рулит :) Очень помогло...

Оказывается не у одного меня возник подобный интерес...
нагуглил прям оформленную статью, которая доходчиво все объяснила.
https://infostart.ru/1c/articles/77671/

Может кому пригодится...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот