0
vicof
22.02.23
✎
13:36
|
Пользователю нужен доступ в две фрешовские базы.
Управление пользователями в базах идет из сторонней программы через веб-сервис.
Создаю программно пользователя:
ОписаниеПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ();
ОписаниеПользователяИБ.Имя = "Домен_логин";
....
ПользовательОбъект.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ", ОписаниеПользователяИБ);
ПользовательОбъект.ДополнительныеСвойства.Вставить("СинхронизироватьССервисом", ЗначениеЗаполнено(ОбластьДанных));
ПользовательОбъект.ДополнительныеСвойства.Вставить("ПарольПользователяСервиса", "Пароль");
ПользовательОбъект.Записать();
Выполняю этот код в одной базе, все хорошо, пользователь в менеджере сервиса создается.
Выполняю тот же код в другой базе, начинает ругаться на то, что такой пользователь уже есть в менеджере.
Создание или обновление пользователя в менеджере переключается в зависимости от того, заполнен ли у пользователя ИдентификаторПользователяСервиса.
А поскольку я пользователя создаю и идентификатора его не знаю, все падает.
Как правильно методологически решать такую проблему?
Перед записью пользователя вызывать из менеджера сервиса GetUsersList, смотреть там моего пользователя, и заполнять ИдентификаторПользователяСервиса? Как-то не очень красиво.
|
|