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