ТребуетсяСоздатьПервогоАдминистратора (БСП)

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

Требуется создать первого администратора. Нельзя вызвать из фоновых заданий с пустым пользователем.

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

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

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

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

ПриОпределенииТекстаВопросаПередЗаписьюПервогоАдминистратора (БСП)

СоздатьАдминистратора (БСП)

СоздатьОписаниеТипаИнцидента (БСП)

РольАдминистратор (БСП)

ЭтоАдминистраторСистемы (БСП)

Объединение данных двух периодических регистров

ПриСозданииАдминистратора (БСП)

Преобразование Объекта ДеревоЗначений в Объект ТаблицаЗначений

TurboConf ИР адаптер 2.64