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