Имя: Пароль:
1C
1С v8
Создание пользователя в двух фрешовских базах
0 vicof
 
22.02.23
13:36
Пользователю нужен доступ в две фрешовские базы.
Управление пользователями в базах идет из сторонней программы через веб-сервис.

Создаю программно пользователя:
ОписаниеПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ();
ОписаниеПользователяИБ.Имя  = "Домен_логин";
....
ПользовательОбъект.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ",    ОписаниеПользователяИБ);
ПользовательОбъект.ДополнительныеСвойства.Вставить("СинхронизироватьССервисом", ЗначениеЗаполнено(ОбластьДанных));
ПользовательОбъект.ДополнительныеСвойства.Вставить("ПарольПользователяСервиса", "Пароль");
ПользовательОбъект.Записать();

Выполняю этот код в одной базе, все хорошо, пользователь в менеджере сервиса создается.

Выполняю тот же код в другой базе, начинает ругаться на то, что такой пользователь уже есть в менеджере.

Создание или обновление пользователя в менеджере переключается в зависимости от того, заполнен ли у пользователя ИдентификаторПользователяСервиса.
А поскольку я пользователя создаю и идентификатора его не знаю, все падает.

Как правильно методологически решать такую проблему?
Перед записью пользователя вызывать из менеджера сервиса GetUsersList, смотреть там моего пользователя, и заполнять ИдентификаторПользователяСервиса? Как-то не очень красиво.
1 Aevarandi
 
22.02.23
16:44
А это два разных фреша? Или это один и надо в двух областях создать пользователя? Тогда надо создавать не пользователя сервиса, а пользователя абонента.