Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 сен 2021, 18:39

Условие проверки наличия пользователя в таблице

Автор Viels, 24 окт 2016, 18:49

0 Пользователей и 1 гость просматривают эту тему.

Viels

Подскажите, как записать условие наличия пользователя в таблице. Спасибо.

&НаСервере
Процедура СозданиеИзменениеПользователя(Ссылка, ИмяПользователя)
УстановитьПривилегированныйРежим(Истина);
        ТекЮзер = Справочники.Пользователи.НайтиПоНаименованию(Объект.Наименование);
        ТекПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(Объект.Наименование);

        если ТекПользователь = неопределено тогда  //если пользователя нет в таблице
            Пользователь = ПользователиИнформационнойБазы.СоздатьПользователя();
        ИначеЕсли    Ссылка = Справочники.Пользователи.ПустаяСсылка() Тогда // Если пользователь новый   
        Пользователь = ПользователиИнформационнойБазы.СоздатьПользователя();
        ИначеЕсли ТекПользователь =    // Если пользователь уже есть // И тут главная загвоздка, как проверить   
//Существование этого пользов. в таблице. Я тут хотел сделать так: Если ТекПользов. = ТекЮзер но думаю так не верно
        Пользователь = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователя);
    КонецЕсли;
    Пользователь.Имя = Объект.Наименование;
    Пользователь.ПолноеИмя = Объект.Наименование;
    Пользователь.АутентификацияСтандартная = Истина;
    Если Объект.Пароль <> "" Тогда
        Пользователь.Пароль = Объект.Пароль;
    КонецЕсли;
    Пользователь.ПоказыватьВСпискеВыбора = Истина;
    Пользователь.Язык = Метаданные.Языки.Русский;
    // Перед добавлением ролей, очищаем все имеющиеся
    Пользователь.Роли.Очистить();
    Для Каждого ТекРоль ИЗ СписокРолей Цикл
        Если ТекРоль.Пометка = Истина Тогда
            ТекущаяРольВбазе = Метаданные.Роли.Найти(ТекРоль.Значение);
            Пользователь.Роли.Добавить(ТекущаяРольВбазе);
        Конецесли;
    Конеццикла;
    Пользователь.Записать();

       
    КонецПроцедуры

ilyay

Сложно, непонятно, ну да ладно...
ЗначениеЗаполнено(ТекЮзер) // и ТекПользователь <> Неопределено // уже проверили

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск