Содержание:
В типовом исполнении «Пользователи информационной базы» (которых можно посмотреть в конфигураторе) связаны со справочниками «Пользователи» и «Внешние пользователи» через реквизиты «ИдентификаторПользователяИБ» и «СвойстваПользователяИБ» данных справочников. Соответственно «ПользовательИБ» и «Пользователь» работают в паре и при создании и изменении нужно учитывать эту связь.
Создание нового пользователя
Способ 1 — используя функционал БСП
Создается элемент справочника «Пользователи». В его «Дополнительных свойствах» описываются данные «Пользователя ИБ» и при записи элемента «Пользователь» по указанному описанию автоматически создается и привязывается «Пользователь ИБ». Далее можно включить пользователя в необходимую группу доступа.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
НовыйПользователь = Справочники.Пользователи.СоздатьЭлемент(); НовыйПользователь.Наименование = "ИвановИИ"; НовыйПользователь.ФизическоеЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию("Иванов Иван Иванович"); //НовыйПользователь.Недействителен = Ложь; //НовыйПользователь.Служебный = Ложь; ОписаниеПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ(); ОписаниеПользователяИБ.Имя = "ИвановИИ"; ОписаниеПользователяИБ.ПолноеИмя = "Иванов Иван Иванович"; ОписаниеПользователяИБ.АутентификацияСтандартная = Истина; ОписаниеПользователяИБ.ПоказыватьВСпискеВыбора = Истина; ОписаниеПользователяИБ.Пароль = "1234"; //Пользователи.СоздатьПароль(); //не меньше 4-х символов ОписаниеПользователяИБ.Вставить("Действие", "Записать"); НовыйПользователь.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ", ОписаниеПользователяИБ); НовыйПользователь.Записать(); // Включение пользователя в группу доступа ГруппаДоступаНовогоПользователя = Справочники.ГруппыДоступа.НайтиПоНаименованию("Бухгалтер"); ГруппаДоступаНовогоПользователяОбъект = ГруппаДоступаНовогоПользователя.ПолучитьОбъект(); ГруппаДоступаНовогоПользователяОбъект.Пользователи.Добавить().Пользователь = НовыйПользователь; ГруппаДоступаНовогоПользователяОбъект.Записать(); |
Способ 2 — не используя функционал БСП
Создается «Пользователь ИБ», затем создается элемент справочника «Пользователи» и осуществляется привязка.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя(); ПользовательИБ.Имя = "ИвановИИ"; ПользовательИБ.ПолноеИмя = "Иванов Иван Иванович"; ПользовательИБ.АутентификацияОС = Ложь; ПользовательИБ.АутентификацияOpenID = Ложь; ПользовательИБ.АутентификацияСтандартная = Истина; ПользовательИБ.ЗапрещеноИзменятьПароль = Ложь; ПользовательИБ.ПоказыватьВСпискеВыбора = Истина; ПользовательИБ.Пароль =""; //ПользовательИБ.ОсновнойИнтерфейс = Метаданные.Интерфейсы[""]; //ПользовательИБ.Язык = Метаданные.Языки[""]; //ПользовательИБ.Роли.Добавить(Метаданные.Роли[""]); //ПользовательИБ.РежимЗапуска = РежимыЗапуска[""]; ПользовательИБ.Записать(); НовыйПользователь = Справочники.Пользователи.СоздатьЭлемент(); НовыйПользователь.Наименование = "ИвановИИ"; НовыйПользователь.ОбменДанными.Загрузка = Истина; НовыйПользователь.ИдентификаторПользователяСервиса = Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"); НовыйПользователь.ИдентификаторПользователяИБ = ПользовательИБ.УникальныйИдентификатор; НовыйПользователь.Недействителен = Ложь; НовыйПользователь.Подготовлен = Истина; НовыйПользователь.Записать(); |
Способ 3 — используя функционал конфигурации ЗУП 3.1
В ЗУП 3.1 есть стандартная обработка, которая называется «СозданиеПользователейФизическихЛиц» (синоним — Создание пользователей для сотрудников). Данная обработка использует функцию СамообслуживаниеСотрудников.НовыйПользователь(), ниже приведен пример создания нового пользователя на основе данной функции:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
ФизическоеЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию("Иванов Иван Иванович"); НастройкиПользователей = СамообслуживаниеСотрудниковКлиентСервер.ОписаниеНастроекСозданияПользователей(); НастройкиПользователей.АутентификацияСтандартная = Истина; НастройкиПользователей.ПоказыватьВСпискеВыбора = Истина; ДанныеСотрудника = Новый Структура("Пользователь, ФизическоеЛицо, ПользовательОС, Фамилия, Имя, Отчество", Справочники.Пользователи.ПустаяСсылка(), ФизическоеЛицо, ""); ЗаполнитьЗначенияСвойств(ДанныеСотрудника, ФизическиеЛицаКлиентСервер.ЧастиИмени(ФизическоеЛицо.Наименование)); НовыйПользователь = СамообслуживаниеСотрудников.НовыйПользователь(ДанныеСотрудника, НастройкиПользователей, НастройкиСообщений); // Присвоение группы доступа ГруппаДоступаНовогоПользователя = Справочники.ГруппыДоступа.НайтиПоНаименованию("Сотрудник"); ГруппаДоступаНовогоПользователяОбъект = ГруппаДоступаНовогоПользователя.ПолучитьОбъект(); ГруппаДоступаНовогоПользователяОбъект.Пользователи.Добавить().Пользователь = НовыйПользователь; ГруппаДоступаНовогоПользователяОбъект.Записать(); |
Изменение существующего пользователя
Пример изменения уже привязанного «Пользователя ИБ»
|
1 2 3 4 5 6 7 |
НайденыйПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("ИвановИИ"); Если НайденыйПользовательИБ <> Неопределено Тогда НайденыйПользовательИБ.ПоказыватьВСпискеВыбора = Истина; НайденыйПользовательИБ.Записать(); КонецЕсли; |
