Имя: Пароль:
1C
1С v8
Поиск пользователя с ролью
0 Любознатель
 
12.05.20
15:20
Добрый день. Подскажите пожалуйста, почему этот код в одной базе отрабатывает, в другой нет. В обеих базах пользователь с данной ролью есть.

ТаблицаЗначений = Новый ТаблицаЗначений;
    ТаблицаЗначений.Колонки.Добавить("Пользователь");
    ТаблицаЗначений.Колонки.Добавить("ЕстьРоль");
    Роль = "НоваяРольС";

    Для Каждого Строчка Из ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл
        СтрТЗ = ТаблицаЗначений.Добавить();
        СтрТЗ.Пользователь = Справочники.Пользователи.НайтиПоНаименованию(Строчка.Имя);
        СтрТЗ.ЕстьРоль = Строчка.Роли.Содержит(Метаданные.Роли.НоваяРольС);
        
        Если СтрТЗ.ЕстьРоль Тогда
               МенеджерЗаписи = РегистрыСведений.НапоминанияПользователя.СоздатьМенеджерЗаписи();            
           ....ну и т.д....
        КонецЕсли;
1 vicof
 
12.05.20
15:23
Что значит не отрабатывает?
2 Любознатель
 
12.05.20
15:27
(1) пишет запись не верна. Значение поля "пользователь" не может быть пустым. В общем не находит пользователя с этой ролью.
3 vicof
 
12.05.20
15:37
Нету в пользователях пользователя с таким именем, как у пользователя ИБ. А вообще включаешь отладку и смотришь.
4 Любознатель
 
13.05.20
10:08
(3) не знал что они еще могут не совпадать. Тогда правильно будет искать по уникальному идентификатору?
5 Волшебник
 
13.05.20
10:21
Если значение поля "Пользователь" не может быть пустым, то надо заполнить поле "Пользователь".
Ваш Кэп.