|
Установить роль через com-соединение | ☑ | ||
---|---|---|---|---|
0
ks-815
11.04.13
✎
11:49
|
Всё хорошо, кроме ролей:
БД=Справочники.БазыДанных.НайтиПоНаименованию(ЭлементыФормы.ИмяБазы.Значение); cntr = Новый COMObject("V82.COMConnector"); connection = cntr.Connect("File=""" + БД.ПутьКбазе + """; Usr= """ + БД.Администратор + """; Pwd=""" + БД.Пароль + """"); СпрИнтерфейс = connection.Метаданные.Interfaces; ПользователиПодключеннойИБ = connection.ПользователиИнформационнойБазы; СпрРоли = connection.Метаданные.Roles; СпрЯзыки = connection.Метаданные.Languages; НовыйПользователь = ПользователиПодключеннойИБ.СоздатьПользователя(); // Установим пользователю интерфейс Для Каждого Интерфейс из СпрИнтерфейс Цикл Если Интерфейс.Name = ЭлементыФормы.ОсновнойИнтерфейс.Значение Тогда НовыйПользователь.DefaultInterface = Интерфейс; Прервать; Иначе КонецЕсли; КонецЦикла; НовыйПользователь.FullName = ЭлементыФормы.ПолноеИмя.Значение; НовыйПользователь.Language = СпрЯзыки.Русский; НовыйПользователь.Name = ЭлементыФормы.Имя.Значение; НовыйПользователь.OSAuthentication = ЭлементыФормы.АутентификацияОС.Значение; НовыйПользователь.OSUser = ЭлементыФормы.ПользовательОС.Значение; НовыйПользователь.Password = ЭлементыФормы.Пароль.Значение; // Установим пользователю роли Для Каждого РольСФормы Из ЭлементыФормы.СписокДоступныхРолей.Значение Цикл Если РольСФормы.Пометка = Истина Тогда Для Каждого РольСДругойБазы из СпрРоли Цикл Если РольСДругойБазы.Name = РольСФормы.Роли Тогда НовыйПользователь.Roles.Contains = РольСДругойБазы; Прервать; Иначе КонецЕсли; КонецЦикла; Иначе КонецЕсли; КонецЦикла; НовыйПользователь.ShowInList = ЭлементыФормы.ПоказыватьВСпискеВыбора.Значение; НовыйПользователь.StandardAuthentication = ЭлементыФормы.АутентификацияСтандартная.Значение; НовыйПользователь.Записать(); Закрыть(); 1С ругается: "Ошибка при установке значения атрибута контекста (Contains) НовыйПользователь.Roles.Contains = РольСДругойБазы; по причине: Метод не найден" Там есть еще НовыйПользователь.Roles._NewEnum, но он тоже не найден. И если просто писать НовыйПользователь.Roles, тоже не работает! Подскажите, кто может, пожалуйста! |
|||
1
ZanderZ
11.04.13
✎
11:55
|
НовыйПользователь.Roles.Contains = РольСДругойБазы;
а причем тут Contains ... |
|||
2
ks-815
11.04.13
✎
11:57
|
Там 3 варианта, ни один не работает :)
|
|||
3
ZanderZ
11.04.13
✎
11:57
|
(2) наугад перебираешь ? СП читал ?
|
|||
4
ks-815
11.04.13
✎
12:07
|
всё. разобралась.
НовыйПользователь.Roles.Добавить(РольСДругойБазы); что-то очень долго думала, а оказалось просто! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |