Программное создание пользователя 1с83
☑
0
program345
13.02.15
✎
11:32
добрый день!
Программно создаю пользователя.
код:
//
&НаКлиенте
Процедура новая(Команда)
СоздатьПользователя();
КонецПроцедуры
&НаСервере
Процедура СоздатьПользователя()
НП = ПользователиИнформационнойБазы.СоздатьПользователя();
НП.Имя = "НовыйПользователь1";
НП.Пароль = "123";
НП.АутентификацияОС = Ложь;
НП.РежимЗапуска = РежимЗапускаКлиентскогоПриложения.Авто;
НП.Роли.Добавить("Роль1");
НП.Записать();
Сообщить("пользователь " + НП.Имя + " создан!");
КонецПроцедуры // СоздатьПользователя()
//
выдает ошибку
{Форма.Форма.Форма(18)}: Ошибка при вызове метода контекста (Добавить)
НП.Роли.Добавить("Роль1");
по причине:
Несоответствие типов (параметр номер '1')
как исправить?
1
program345
13.02.15
✎
11:33
или даже как получить тип РолиПользователя?
2
program345
13.02.15
✎
11:33
СП не помог
3
Cube
13.02.15
✎
11:35
(2) Позорище...
СП:
РолиПользователя.Добавить (UserRoles.Add)
РолиПользователя (UserRoles)
Добавить (Add)
Синтаксис:
Добавить(<Роль>)
Параметры:
<Роль> (обязательный)
Тип: ОбъектМетаданных: Роль.
Добавляемая роль.
Описание:
Добавляет используемую роль в коллекцию ролей пользователя.
Доступность:
Сервер, толстый клиент, внешнее соединение.
4
silent person
13.02.15
✎
11:36
ТекущийПользователь.Роли.Добавить(Метаданные.Роли.Найти(Роль.Значение));
как то так по моему
5
silent person
13.02.15
✎
11:37
ну всмысле
ТекущийПользователь.Роли.Добавить(Метаданные.Роли.Найти("Роль1"));
6
program345
13.02.15
✎
11:41
(5) спасибо!
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой