Установить право открытия внешних отчетов обработок. Добавляет всех администраторов системы в группу доступа,
// Добавляет всех администраторов системы в группу доступа,
// связанную с предопределенным профилем ОткрытиеВнешнихОтчетовИОбработок.
// Скрывает предупреждения безопасности, всплывающие при первом открытии сеанса администратора.
// Не для модели сервиса.
//
// Параметры:
// ОткрытиеРазрешено - Булево - если Истина, установить разрешение открытия.
//
Процедура УстановитьПравоОткрытияВнешнихОтчетовИОбработок(ОткрытиеРазрешено) Экспорт
Если ОбщегоНазначения.РазделениеВключено() Тогда
Возврат;
КонецЕсли;
ПараметрыАдминистрирования = СтандартныеПодсистемыСервер.ПараметрыАдминистрирования();
ПараметрыАдминистрирования.Вставить("ПринятоРешениеПоОткрытиюВнешнихОтчетовИОбработок", Истина);
СтандартныеПодсистемыСервер.УстановитьПараметрыАдминистрирования(ПараметрыАдминистрирования);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда
МодульУправлениеДоступомСлужебный = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступомСлужебный");
МодульУправлениеДоступомСлужебный.УстановитьПравоОткрытияВнешнихОтчетовИОбработок(ОткрытиеРазрешено);
Возврат;
КонецЕсли;
РольАдминистраторСистемы = Метаданные.Роли.АдминистраторСистемы;
РольИнтерактивноеОткрытие = Метаданные.Роли.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок;
ПользователиИБ = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого ПользовательИБ Из ПользователиИБ Цикл
Если Не ПользовательИБ.Роли.Содержит(РольАдминистраторСистемы) Тогда
Продолжить;
КонецЕсли;
ПользовательИзменен = Ложь;
ЕстьРольИнтерактивногоОткрытия = ПользовательИБ.Роли.Содержит(РольИнтерактивноеОткрытие);
Если ОткрытиеРазрешено Тогда
Если Не ЕстьРольИнтерактивногоОткрытия Тогда
ПользовательИБ.Роли.Добавить(РольИнтерактивноеОткрытие);
ПользовательИзменен = Истина;
КонецЕсли;
Иначе
Если ЕстьРольИнтерактивногоОткрытия Тогда
ПользовательИБ.Роли.Удалить(РольИнтерактивноеОткрытие);
ПользовательИзменен = Истина;
КонецЕсли;
КонецЕсли;
Если ПользовательИзменен Тогда
ПользовательИБ.Записать();
КонецЕсли;
ОписаниеНастроек = Новый ОписаниеНастроек;
ОписаниеНастроек.Представление = НСтр("ru ='Предупреждение безопасности'");
ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(
"ПредупреждениеБезопасности",
"ПользовательОзнакомлен",
Истина,
ОписаниеНастроек,
ПользовательИБ.Имя);
КонецЦикла;
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
УстановитьПравоОткрытияВнешнихОтчетовИОбработок (БСП)
ЭтоПрофильОткрытиеВнешнихОтчетовИОбработок (БСП)
ДобавитьАдминистраторамПравоОткрытияВнешнихОтчетовИОбработок (БСП)
ОписаниеПрофиляОткрытиеВнешнихОтчетовИОбработок (БСП)
ОбновитьДанныеПрофиляОткрытиеВнешнихОтчетовИОбработок (БСП)
ПереименоватьКлючХраненияРешенияПоОткрытиюВнешнихОтчетовИОбработок (БСП)
Шаблоны внешних отчетов и обработок
Программное открытие отчета или обработки из справочника "ВнешниеОбработки"
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)