|
БСП: Как программно перезаписать пользователя? | ☑ | ||
---|---|---|---|---|
0
_stay true_
09.09.16
✎
15:00
|
Всем пятницы! выручайте, более опытные коллеги, ибо туплю малька. Конфа ERP 2.2.1.100, нужно быстро завести 1200 юзеров(считать с таблицы ods), да так, чтобы сразу можно было входить и работать.
Есть один нюанс: есть юзеры, которых пытался программно создать другой 1С-ник, по сему: есть юзеры ИБ без ролей и есть криво записанный Юзер в справочнике(в списке не отображается, галка "вход в программу разрешен" не установлена, но связь с юзером ИБ есть) и есть руками заведенные "Корректные" юзеры. Как программно завести новых я разобрался: &НаСервере Процедура ЗаписатьПользователя(ФИОЮзера, ИмяДляВхода, ПользовательОбъект, ТекСтрока) ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяДляВхода); ПользовательОбъект.Наименование = ФИОЮзера; ОбновляемыеСвойства = Пользователи.НовоеОписаниеПользователяИБ(); ОбновляемыеСвойства.Вставить("Имя", ИмяДляВхода); ОбновляемыеСвойства.Вставить("ПолноеИмя", ФИОЮзера); ОбновляемыеСвойства.Вставить("ПоказыватьВСпискеВыбора", Истина); ОбновляемыеСвойства.Вставить("АутентификацияСтандартная", Истина); ОбновляемыеСвойства.Вставить("УникальныйИдентификатор", ПользовательИБ.УникальныйИдентификатор); ОбновляемыеСвойства.Вставить("Действие", "Записать"); ПользовательОбъект.ДополнительныеСвойства.Вставить("Действие", "Записать"); ПользовательОбъект.ДополнительныеСвойства.Вставить("АутентификацияОС", ЛОЖЬ); ПользовательОбъект.ДополнительныеСвойства.Вставить("АутентификацияСтандартная", ИСТИНА); ПользовательОбъект.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ", ОбновляемыеСвойства); ПользовательОбъект.ФизическоеЛицо = ПроверитьФизЛицо(ФИОЮзера, ТекСтрока.Фамилия, ТекСтрока.Имя, ТекСтрока.Отчество); ЗаполнитьКИ(ПользовательОбъект,ТекСтрока); ПользовательОбъект.КодАксапта = ТекСтрока.КодАксапта; Попытка ПользовательОбъект.Записать(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; //ПриЗаписи пользователя создается пользователь ИБ; ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяДляВхода); ПользовательИБ.Роли.Добавить(Метаданные.Роли.ЗапускВебКлиента); ПользовательИБ.Роли.Добавить(Метаданные.Роли.ПолныеПрава); ПользовательИБ.Роли.Добавить(Метаданные.Роли.ЗапускТонкогоКлиента); ПользовательИБ.Роли.Добавить(Метаданные.Роли.ЗапускТолстогоКлиента); Попытка ПользовательИБ.Записать(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; //Добавим в указанную группу доступа; ГруппаДоступа = Объект.ГруппаДоступа.Ссылка.ПолучитьОбъект(); НовЮзерВГруппе = ГруппаДоступа.Пользователи.Добавить(); НовЮзерВГруппе.Пользователь = ПользовательОбъект; Попытка ГруппаДоступа.Записать(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; А вот как таким же макаром перезаписать существующих без костылей? Чтобы не удалять их и создавать по новому, а как-то связать существующих. Заранее спасибо. Пятнично(( |
|||
1
_stay true_
09.09.16
✎
15:04
|
Up: если такой процедурой пытаться перезаписывать существующих, получаем ошибку "Такой пользователь ИБ уже зарегистрирован в системе, укажите другое имя для входа".
Если же как в случае создания нового меняем одну строку: ОбновляемыеСвойства.Вставить("УникальныйИдентификатор", Неопределено) То получаем "Пользователь с таким именем уже зарегистрирован в справочнике "Пользователи"". |
|||
2
_stay true_
09.09.16
✎
15:09
|
Если в справочнике вручную ставишь галку "Вход в программу разрешен", ругается "Имя для входа уже занято".
Велосипедный вариант: удалить юзера ИБ и перезаписать элемент справочника(юзер иб создается в процессе записи элемента справочника). Кто сталкивался - поделитесь мудростью. Ну позязя:)) |
|||
3
_stay true_
09.09.16
✎
15:27
|
Придётся велосипедить, ибо никаких революций в пятницу!
|
|||
4
xafavute
09.09.16
✎
15:40
|
соостветстиве не по имени, а по гуиду идет
|
|||
5
xafavute
09.09.16
✎
15:40
|
реквизит ИдентификаторПользователяИБ
|
|||
6
_stay true_
09.09.16
✎
15:41
|
Пробовал, не помогает. Ругается. Только после удаления пользователя ИБ в результате перезаписи элемента справочника всё окей)))
|
|||
7
xafavute
09.09.16
✎
15:42
|
пройдись по пользователям спаравочника и проставь ид
|
|||
8
_stay true_
09.09.16
✎
15:45
|
(7) А вот это мысль. Сейчас попробую!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |