|
Добавление роли списку пользователей | ☑ | ||
---|---|---|---|---|
0
manti
09.06.12
✎
09:49
|
Делаю через внешнюю обработку. Добавляю реквизит пользователи с типом СписокЗначений. На форме ставлю поле ввода СписокПольз, присваивая ему этот тип. затем делаю следующее
Перем ОписаниеТиповПланСчетовНалоговыйСсылка Экспорт; МассивТипов = Новый Массив; МассивТипов.Добавить(Тип("СправочникСсылка.Пользователи")); ОписаниеТиповПланСчетовНалоговыйСсылка = новый ОписаниеТипов(МассивТипов); ЭлементыФормы.СписокПольз.ТипЗначенияСписка = ОписаниеТиповПланСчетовНалоговыйСсылка; Ругается на метод Содержит. Как к нему правильно обратиться. Также ругается на Добавить. Для каждого Польз Из ЭлементыФормы.СписокПольз.Значение Цикл Если НЕ Польз.Значение.ПрофильПолномочийПользователя.СоставРолей.Содержит(Метаданные.Роли.Найти("ЗащитаПерсДанныхВсе1")) Тогда Польз.Значение.ПрофильПолномочийПользователя.СоставРолей.Добавить(Метаданные.Роли.Найти("ЗащитаПерсДанныхВсе1")); Польз.Записать(); КонецЕсли; КонецЦикла; |
|||
1
manti
09.06.12
✎
09:52
|
не перменная ОписаниеТиповПланСчетовНалоговыйСсылка это от старой обработки осталась)))
|
|||
2
Kaperang
09.06.12
✎
09:55
|
МассивТипов.Добавить(Тип("СправочникСсылка.Пользователи"));
- тип ссылочный .Добавить, .Записать( - такие методы доступны только у объектного типа |
|||
3
manti
09.06.12
✎
10:02
|
(2) сделал такой тип Тип("СправочникОбъект.Пользователи")
не помогло) |
|||
4
Kaperang
09.06.12
✎
10:07
|
Вы, судя по всему, путаете элементы справочника "Пользователи" и тип "ПользовательИнформационнойБазы"
Выдержка из синтакс-справочника: Глобальный контекст (Global context) ПользователиИнформационнойБазы (InfoBaseUsers) Использование: Только чтение. Описание: Тип: МенеджерПользователейИнформационнойБазы. Используется для управления списком пользователей информационной базы. Доступность: Сервер, толстый клиент, внешнее соединение. |
|||
5
Kaperang
09.06.12
✎
10:11
|
Как то так:
МассивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); Для каждого ПользовательИБ Из МассивПользователей Цикл Если НЕ ПользовательИБ.Роли.Содержит(Метаданные.Роли.Найти("ЗащитаПерсДанныхВсе1")) Тогда ПользовательИБ.Роли.Добавить(Метаданные.Роли.Найти("ЗащитаПерсДанныхВсе1")); ПользовательИБ.Записать(); КонецЕсли; КонецЦикла; |
|||
6
manti
09.06.12
✎
10:15
|
(5) хорошее решение, но у меня задача в том, чтобы выбрать пользователя из списка
|
|||
7
manti
09.06.12
✎
10:22
|
Значит нереально так вот из списка добавить роль и обратьться как к МенеджерПользователейИнформационнойБазы
|
|||
8
Kaperang
09.06.12
✎
10:28
|
// предварительно добавьте на форму табличное поле ТЗПользователей
// процедура получить МассивПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); ТЗПользователей.Колонки.Добавить("Использовать",Новый ОписаниеТипов("Булево")); ТЗПользователей.Колонки.Добавить("Пользователь",Новый ОписаниеТипов("ПользовательИнформационнойБазы")); Для каждого ПользовательИБ Из МассивПользователей Цикл НоваяСтрока = ТЗПользователей.Добавить(); НоваяСтрока.Пользователь = ПользовательИБ; КонецЦикла; ЭлементыФормы.ТЗПользователей.СоздатьКолонки(); // процедура записать Для каждого ПользовательИБ Из ТЗПользователей Цикл Если ПользовательИБ.Использовать Тогда ПользовательИБ.Роли.Добавить(Метаданные.Роли.Найти("ЗащитаПерсДанныхВсе1")); ПользовательИБ.Записать(); КонецЕсли; КонецЦикла; |
|||
9
Kaperang
09.06.12
✎
10:28
|
как то так
|
|||
10
Kaperang
09.06.12
✎
10:43
|
ПользовательИБ.Пользователь.Роли.Добавить(Метаданные.Роли.Найти("ЗащитаПерсДанныхВсе1"));
ПользовательИБ.Пользователь.Записать(); |
|||
11
manti
09.06.12
✎
10:51
|
(10) о как все гениальное прсто оказалось) спасибо. А вместо будева да нет какой тип поставить чтобы галочка была?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |