Содержание:
В типовом исполнении “Пользователи информационной базы” (которых можно посмотреть в конфигураторе) связаны со справочниками “Пользователи” и “Внешние пользователи” через реквизиты “ИдентификаторПользователяИБ” и “СвойстваПользователяИБ” данных справочников. Соответственно “ПользовательИБ” и “Пользователь” работают в паре и при создании и изменении нужно учитывать эту связь.
Создание нового пользователя
Способ 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 |
НайденыйПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("ИвановИИ"); Если НайденыйПользовательИБ <> Неопределено Тогда НайденыйПользовательИБ.ПоказыватьВСпискеВыбора = Истина; НайденыйПользовательИБ.Записать(); КонецЕсли; |