ЗавершитьСеансыОбластиДанных (БСП)

Автор: 1С
ОбщийМодуль.УдаленноеАдминистрированиеБТССлужебный
БСП

Завершить сеансы области данных. Завершает сеанс пользователя области данных.

// Завершает сеанс пользователя области данных.
//
// Параметры:
//  НомераСеансов - Массив - массив номеров сеансов,
//  ПарольПользователя - Строка - пароль текущего пользователя области данных.
//
Процедура ЗавершитьСеансыОбластиДанных(Знач НомераСеансов, Знач ПарольПользователя) Экспорт
	
	ВерсияСервисаУправляющегоПриложения = ИспользуемаяВерсияСервисаУправляющегоПриложения(ПарольПользователя);
	
	Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияСервисаУправляющегоПриложения, "1.0.3.3") = 0 Тогда
		
		ИнформацияОбОшибке = Неопределено;
		
		Прокси = ПроксиСервисаУправляющегоПриложения(ПарольПользователя);
		
		УстановитьПривилегированныйРежим(Истина);
		ТекущаяОбластьДанных = РаботаВМоделиСервиса.ЗначениеРазделителяСеанса();
		КлючТекущийОбластиДанных = Константы.КлючОбластиДанных.Получить();
		УстановитьПривилегированныйРежим(Ложь);
		
		Для Каждого НомерСеанса Из НомераСеансов Цикл
			
			Прокси.TerminateSession(
				ТекущаяОбластьДанных,
				КлючТекущийОбластиДанных,
				НомерСеанса,
				ИнформацияОбОшибке
			);
			
			РаботаВМоделиСервиса.ОбработатьИнформациюОбОшибкеWebСервиса(
				ИнформацияОбОшибке,
				Метаданные.Подсистемы.ТехнологияСервиса.Подсистемы.РаботаВМоделиСервиса.Подсистемы.УдаленноеАдминистрированиеВМоделиСервиса,
				ИнтерфейсСервисаУправляющегоПриложения(),
				"TerminateSession");
			
		КонецЦикла;
		
	ИначеЕсли ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияСервисаУправляющегоПриложения, "1.0.3.4") >= 0 Тогда
		
		ИнформацияОбОшибке = Неопределено;
		
		Прокси = ПроксиСервисаУправляющегоПриложения(ПарольПользователя);
		
		УстановитьПривилегированныйРежим(Истина);
		ТекущаяОбластьДанных = РаботаВМоделиСервиса.ЗначениеРазделителяСеанса();
		КлючТекущийОбластиДанных = Константы.КлючОбластиДанных.Получить();
		УстановитьПривилегированныйРежим(Ложь);
		
		ИнформацияОНомерахСеанса = ПривестиНомераСеансов(НомераСеансов, Прокси.ФабрикаXDTO);
		
		Прокси.TerminateSessions(
			ТекущаяОбластьДанных,
			КлючТекущийОбластиДанных,
			ИнформацияОНомерахСеанса,
			ИнформацияОбОшибке
		);
		
		РаботаВМоделиСервиса.ОбработатьИнформациюОбОшибкеWebСервиса(
			ИнформацияОбОшибке,
			Метаданные.Подсистемы.ТехнологияСервиса.Подсистемы.РаботаВМоделиСервиса.Подсистемы.УдаленноеАдминистрированиеВМоделиСервиса,
			ИнтерфейсСервисаУправляющегоПриложения(),
			"TerminateSessions");
		
	Иначе
		
		ВызватьИсключение НСтр("ru = 'Текущая версия управляющего приложения не поддерживает завершение сеанса из приложений. Необходимо обновить управляющее приложение.'");
		
	КонецЕсли;
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ПолучитьБлокировкуСеансовОбластиДанных (БСП)

УстановитьБлокировкуСеансовОбластиДанных (БСП)

ПроверитьПринадлежностьСеансаТекущейОбластиДанных (БСП)

ЗавершитьРаботуЭтогоСеансаЗавершение (БСП)

ЗначениеРазделителяСеанса (БСП)

ПриИзмененииОбластиДанных (БСП)

НовыеПараметрыБлокировкиСоединений (БСП)

TurboConf 6 - расширение Конфигуратора 1С