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

Автор: 1С
ОбщийМодуль.СообщенияУдаленногоАдминистрированияРеализация
1С БСП

Установить полные права области данных. Обработка входящих сообщений с типом http://www.1c.ru/SaaS/RemoteAdministration/App/a.b.c.d}SetFullControl.

// Обработка входящих сообщений с типом http://www.1c.ru/SaaS/RemoteAdministration/App/a.b.c.d}SetFullControl.
//
// Параметры:
//  ИдентификаторПользователяСервиса - УникальныйИдентификатор,
//  ДоступРазрешен - булево, флаг предоставления доступа пользователю к области данных.
//
Процедура УстановитьПолныеПраваОбластиДанных(Знач ИдентификаторПользователяСервиса, Знач ДоступРазрешен) Экспорт
	
	УстановитьПривилегированныйРежим(Истина);
	
	НачатьТранзакцию();
	Попытка
		ПользовательОбластиДанных = ПолучитьПользователяОбластиПоИдентификаторуПользователяСервиса(ИдентификаторПользователяСервиса);
		
		Если ПользователиСлужебный.ЗапретРедактированияРолей()
			И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
			
			МодульУправлениеДоступомСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступомСлужебныйВМоделиСервиса");
			МодульУправлениеДоступомСлужебныйВМоделиСервиса.УстановитьПринадлежностьПользователяКГруппеАдминистраторы(ПользовательОбластиДанных, ДоступРазрешен);
			
		Иначе
			
			ПользовательИБ = ПолучитьПользователяИБПоПользователюОбластиДанных(ПользовательОбластиДанных);
			
			РольПолныеПрава = Метаданные.Роли.ПолныеПрава;
			Если ДоступРазрешен Тогда
				Если НЕ ПользовательИБ.Роли.Содержит(РольПолныеПрава) Тогда
					ПользовательИБ.Роли.Добавить(РольПолныеПрава);
				КонецЕсли;
			Иначе
				Если ПользовательИБ.Роли.Содержит(РольПолныеПрава) Тогда
					ПользовательИБ.Роли.Удалить(РольПолныеПрава);
				КонецЕсли;
			КонецЕсли;
			
			Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СтандартныеПодсистемыСервер.ВерсияБиблиотеки(), "2.3.4.5") >= 0 Тогда
				ПользователиСлужебный.ЗаписатьПользователяИнформационнойБазы(ПользовательИБ, Ложь);
			Иначе
				ПользователиСлужебный.ЗаписатьПользователяИнформационнойБазы(ПользовательИБ, ПользовательОбластиДанных);
			КонецЕсли;
			
		КонецЕсли;
		
		ЗафиксироватьТранзакцию();
	Исключение
		ОтменитьТранзакцию();
		ВызватьИсключение;
	КонецПопытки;
	
КонецПроцедуры

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

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

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

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

УстановитьДоступКAPIОбластиДанных (БСП)

ПолныеПраваНаВарианты (БСП)

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

УстановитьПоставляемоеРасширениеВОбластьДанных (БСП)

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

УстановитьНастройкиРезервногоКопированияОбласти (БСП)

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

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