Имя: Пароль:
1C
1С v8
а есть ли такое в УТП.шаблонно заполнить пользователей
0 zladenuw
 
28.01.13
23:03
Нужно шаблонно заполнить пользователей. как то можно ?
1 shuhard
 
28.01.13
23:07
(0) тебе групп и профилей мало - оооооооооооооооооооооооооо
2 DrShad
 
28.01.13
23:08
ЗаполнитьЗначенияСвойств()
3 DrShad
 
28.01.13
23:10
в параметрах НовыйПользователь, ПользовательШаблон
4 zladenuw
 
29.01.13
00:01
сделал так
НаборЗаписей  = РегистрыСведений.НастройкиПользователей.СоздатьНаборЗаписей();
   НаборЗаписей.Отбор.пользователь.Установить(ПолеВвода2);
   КопияФизЛица = ПолеВвода2.ФизЛицо;
   Запрос = Новый Запрос ("ВЫБРАТЬ
                          |    ФизическиеЛица.Ссылка
                          |ИЗ
                          |    Справочник.ФизическиеЛица КАК ФизическиеЛица
                          |ГДЕ
                          |    ФизическиеЛица.Наименование ПОДОБНО &Наименование");
   НаборЗаписей.Прочитать();
   ТЗ = НаборЗаписей.Выгрузить();
   СпрПользователи = Справочники.Пользователи;
   Для каждого СтрокаСписка Из ПолеСписка1 Цикл
            Наименование = СтрокаСписка.Значение;
            Пользователь =СпрПользователи.НайтиПоНаименованию(Наименование).Ссылка;
            НаименованиеПоиска = Лев(Наименование,Найти(Наименование,"_")-1)+"%";
            Запрос.УстановитьПараметр("Наименование",НаименованиеПоиска);
            Выборка = Запрос.Выполнить().Выбрать();
            Если НЕ Выборка.Следующий() Тогда
                 Продолжить;            
            Иначе
                ФизЛицо = Выборка.Ссылка;
            КонецЕсли;
            Если Пользователь = СпрПользователи.ПустаяСсылка() Тогда
                НовыйПользователь = СпрПользователи.СоздатьЭлемент();
                НовыйПользователь.Наименование = СтрокаСписка.Значение;
                НовыйПользователь.Код = СтрокаСписка.Значение;
                НовыйПользователь.Записать();
                Пользователь = НовыйПользователь.Ссылка;
                ТЗ.ЗаполнитьЗначения(Пользователь,"Пользователь");
                НайденноеЗначение = ТЗ.Найти(КопияФизЛица,"Значение");
                НайденноеЗначение.Значение = ФизЛицо;
                НайденноеЗначение = ТЗ.Найти(ПолеВвода2,"Значение");
                НайденноеЗначение.Значение = Пользователь;
               
                НаборЗаписей.Отбор.пользователь.Установить(Пользователь);
                НаборЗаписей.Загрузить(ТЗ);
                НаборЗаписей.Записать();
            Иначе    
                ТЗ.ЗаполнитьЗначения(Пользователь,"Пользователь");
                НайденноеЗначение = ТЗ.Найти(КопияФизЛица,"Значение");
                НайденноеЗначение.Значение = ФизЛицо;
                НайденноеЗначение = ТЗ.Найти(ПолеВвода2,"Значение");
                НайденноеЗначение.Значение = Пользователь;
                НаборЗаписей.Отбор.пользователь.Установить(Пользователь);
                НаборЗаписей.Загрузить(ТЗ);
                НаборЗаписей.Записать();
            КонецЕсли;
   
   КонецЦикла;
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший