Имя: Пароль:
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
Если значение поля "Пользователь" не может быть пустым, то надо заполнить поле "Пользователь".
Ваш Кэп.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn