Имя: Пароль:
1C
 
Создаю пользователя программно и ввожу ему почту через БСП. Как теперь в прописать в спр
0 alekosansey
 
15.11.22
12:30
Создаю пользователя программно и ввожу ему почту через БСП. Как теперь в прописать в справочнике пользователи а то при входе в пользователя он спрашивает заполнить почту из информационной базы. Может подскажите метод который это делает. Заранее огромное спасибо
1 alekosansey
 
15.11.22
12:34
ПользовательИБ  = Справочники.Пользователи.СоздатьЭлемент();
            ПользовательИБ.Наименование =Параметры["full_name"];
            
            Свойства    = Новый Структура;
            Свойства.Вставить("Имя",                          Параметры["name"]);
            Свойства.Вставить("ПолноеИмя",                    Параметры["full_name"]);
            Свойства.Вставить("АутентификацияOpenID",         Ложь);
            Свойства.Вставить("АутентификацияСтандартная",    Истина);
            Свойства.Вставить("ПоказыватьВСпискеВыбора",      Истина);
            Свойства.Вставить("ВходВПрограммуЗапрещен",       ЛОжь);
            Свойства.Вставить("СохраняемоеЗначениеПароля",    Неопределено);
            Свойства.Вставить("ЗапрещеноИзменятьПароль",      Истина);        
            Свойства.Вставить("АутентификацияОС",             ЛОжь);
            Свойства.Вставить("ПользовательОС",               "");
            Свойства.Вставить("РежимЗапуска",                 "Авто");
            Свойства.Вставить("Пароль",                       Параметры["password"]);
            Свойства.Вставить("АдресЭлектроннойПочты",        Параметры["email"]);
            Свойства.Вставить("Действие","Записать");
            
            
            
            ПользовательИБ.ДополнительныеСвойства.Вставить(
            "ОписаниеПользователяИБ", Свойства);
            
            ПользовательИБ.Записать();
2 alekosansey
 
15.11.22
12:34
Так создаю пользователя
3 mikecool
 
15.11.22
12:36
смотри на ошибку, поймешь - где проверяются данные, туда и добавь
4 alekosansey
 
15.11.22
12:37
Кнопка появляется заполнить из пользователя иб
5 alekosansey
 
15.11.22
12:37
3 ошибки нет
6 vicof
 
15.11.22
12:50
Ну то есть установить точку останова и проанализировать, почему так тебе конфигурация говорит, ты не можешь?
7 vicof
 
15.11.22
12:51
И почту ты устанавливаешь пользователю ИБ, а не пользователю из справочника пользователей.
8 alekosansey
 
15.11.22
12:53
все понял. Просто нужно добавить почту в контактную инфу. Спасибо
9 alekosansey
 
17.11.22
12:55
up
10 alekosansey
 
17.11.22
12:58
Добавил в контактную информацию не помогло
11 alekosansey
 
17.11.22
12:58
Строчку с email
12 alekosansey
 
17.11.22
13:01
ПользовательОбъект = Пользователь.Ссылка;
    АдрессЭлектроннойПочты = "[email protected]";
    ПараметрыОткрытия = Новый Структура("Ключ",ПользовательОбъект.Ссылка);
    Форма = ПолучитьФорму("Справочник.Пользователи.Форма.ФормаЭлемента",ПараметрыОткрытия);  
    УправлениеКонтактнойИнформацией.ИмяРеквизитыДляВосстановленияПароля(Форма, АдрессЭлектроннойПочты, УправлениеКонтактнойИнформацией.ВидКонтактнойИнформацииПоИмени("EmailПользователя"));
    
    ИмяРеквизитаСПочтойДляВосстановленияПароля = "";
    
    Если ПустаяСтрока(ИмяРеквизитаСПочтойДляВосстановленияПароля) Тогда
        Возврат;
    КонецЕсли;
    
    Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
        
        МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
        
        ПочтаДляВосстановленияПароляИзОбъекта = Новый Структура(ИмяРеквизитаСПочтойДляВосстановленияПароля, Неопределено);
        ЗаполнитьЗначенияСвойств(ПочтаДляВосстановленияПароляИзОбъекта, ПользовательОбъект);
        
        Если ЗначениеЗаполнено(ПочтаДляВосстановленияПароляИзОбъекта[ИмяРеквизитаСПочтойДляВосстановленияПароля])
            Или ПочтаДляВосстановленияПароляИзОбъекта[ИмяРеквизитаСПочтойДляВосстановленияПароля] <> АдрессЭлектроннойПочты Тогда
            
            ВидEmailПользователя = МодульУправлениеКонтактнойИнформацией.ВидКонтактнойИнформацииПоИмени("EmailПользователя");
            ОписаниеПочты = МодульУправлениеКонтактнойИнформацией.СтрокаОписанияПочтыДляВосстановленияПароляИзДанныхФормы(ПользовательОбъект, ВидEmailПользователя, ПользовательОбъект[ИмяРеквизитаСПочтойДляВосстановленияПароля]);
            
            Если ОписаниеПочты <> Неопределено Тогда
                ОписаниеПочты.Представление = АдрессЭлектроннойПочты;
                ОписаниеПочты.Значение = МодульУправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению(
                    АдрессЭлектроннойПочты, ВидEmailПользователя);
                
                ПользовательОбъект[ИмяРеквизитаСПочтойДляВосстановленияПароля] = АдрессЭлектроннойПочты;
            КонецЕсли;
            
        КонецЕсли;
        
    КонецЕсли;
13 alekosansey
 
17.11.22
13:03
часть взял с типового по кнопки которая интерактивно это заполняет. Прикол в том что нужно получать форму. Которой по существу я не могу получить на сервере. Или могу? Я же просто создаю пользователя на сервере.
14 alekosansey
 
17.11.22
13:05
Подскажите куда копать дальше. Мне просто нужно подставить в реквизит данные. Но 1с почему то сделала этот реквизит таким если смотреть по отладке то он называется АдресЭлектроннойПочтыДляВосстановления123sdfadfsd14e43sdfsdf35r3
15 alekosansey
 
17.11.22
13:06
Какие то цифры и буквы после названия
16 Джун1С
 
17.11.22
13:22
Позвони в ИТС, пусть разжуют тему