УстановитьПравоОткрытияВнешнихОтчетовИОбработок (БСП)

Автор: 1С
ОбщийМодуль.Пользователи
1С БСП

Установить право открытия внешних отчетов обработок. Добавляет всех администраторов системы в группу доступа,

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

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

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

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

УстановитьПравоОткрытияВнешнихОтчетовИОбработок (БСП)

ЭтоПрофильОткрытиеВнешнихОтчетовИОбработок (БСП)

ДобавитьАдминистраторамПравоОткрытияВнешнихОтчетовИОбработок (БСП)

ОписаниеПрофиляОткрытиеВнешнихОтчетовИОбработок (БСП)

ОбновитьДанныеПрофиляОткрытиеВнешнихОтчетовИОбработок (БСП)

ПереименоватьКлючХраненияРешенияПоОткрытиюВнешнихОтчетовИОбработок (БСП)

Шаблоны внешних отчетов и обработок

ПравоДобавления (БСП)

Программное открытие отчета или обработки из справочника "ВнешниеОбработки"

TurboConf ИР адаптер 2.64