Помогите добавить 1000 пользователей

1. antipod13 01.02.20 06:37 Сейчас в теме
Подскажите как, попробовали сами, пользователи создаются, но в систему им войти нельзя, по идее эти пользователи входить в систему не будут, им будут назначаться задачи, подскажите как правильно сделать, думаю что должна быть загрузка существовать, там в коде для этого переменная предусмотрена.
По теме из базы знаний
Найденные решения
6. sergathome 4 04.02.20 11:49 Сейчас в теме
Реальная функция, создающая нового пользователя ДО по данным ЗУП.

Функция СоздатьПользователя(пСтр)
	Рез = Ложь;
	НачатьТранзакцию();
	Попытка 	
		лПользователь = Справочники.Пользователи.СоздатьЭлемент();
		лПользователь.Наименование = пСтр.Представление;
		
		лПользователь.ПредставлениеВДокументах = пСтр.Представление;
		лПользователь.ПредставлениеВПереписке = пСтр.Представление;
		лПользователь.ПредставлениеВПерепискеСРангом = пСтр.Представление;
		
		лПользователь.Недействителен = Ложь;
		
		//ФизЛицо
		Фл = Справочники.ФизическиеЛица.НайтиПоНаименованию(лПользователь.Наименование, ложь);
		Если Фл.Пустая() Тогда
			ФлО = Справочники.ФизическиеЛица.СоздатьЭлемент();
			ФлО.Наименование = лПользователь.Наименование;
			
			УстановитьКИ(ФлО, Справочники.ВидыКонтактнойИнформации.EmailПользователя, пСтр.Почта);
			УстановитьКИ(ФлО, Справочники.ВидыКонтактнойИнформации.ТелефонПользователя, пСтр.ТелефонВнутренний);
			
			ФлО.Записать();
			Фл = ФлО.Ссылка;
		КонецЕсли;	
		
		УстановитьКИ(лПользователь, Справочники.ВидыКонтактнойИнформации.EmailПользователя, пСтр.Почта);
		УстановитьКИ(лПользователь, Справочники.ВидыКонтактнойИнформации.ТелефонПользователя, пСтр.ТелефонВнутренний);
		
		лПользователь.ФизЛицо = Фл;
		лПользователь.Подразделение = пСтр.НайденноеПодразделение;
		лПользователь.Записать();
		
		УстановитьМейлУведомлений(лПользователь.Ссылка, пСтр.Почта);		
		
		// Должность не критична, её можно создать. Раз она не нашлась на этапе подбора, то будем создавать.
		Если (НЕ ЗначениеЗаполнено(пСтр.НайденнаяДолжность)) И ЗначениеЗаполнено(пСтр.Должность) Тогда
			пСтр.НайденнаяДолжность = СоздатьДолжность(пСтр.Должность);
		КонецЕсли;
		
		МенеджерЗаписи = РегистрыСведений.СведенияОПользователяхДокументооборот.СоздатьМенеджерЗаписи();
		МенеджерЗаписи.Пользователь = лПользователь.Ссылка;    			
		//МенеджерЗаписи.СрокДействияНеОграничен = Истина;
		МенеджерЗаписи.Должность		       = пСтр.НайденнаяДолжность;
		МенеджерЗаписи.Подразделение		   = пСтр.НайденноеПодразделение;
		//		МенеджерЗаписи.Ранг					   = 1;
		МенеджерЗаписи.Записать();
		
		Если ЗначениеЗаполнено(пСтр.Имя) Тогда  // Только если есть сопоставление
		
			лПользовательИБ = Пользователи.НовоеОписаниеПользователяИБ();
			лПользовательИБ.Имя = пСтр.Представление;
			лПользовательИБ.ПолноеИмя = пСтр.Представление;
		
			лПользовательИБ.Язык = Метаданные.Языки.Русский;
		
			//Доменная аутентификация
			лПользовательИБ.АутентификацияОС = Истина;
			лПользовательИБ.ПользовательОС = "\\domain\" + пСтр.Имя;   
		
			лСсылкаНаПользователя = лПользователь.Ссылка;
			Пользователи.ЗаписатьПользователяИБ(, лПользовательИБ, Истина,, лСсылкаНаПользователя);
			лПользовательИБ.Вставить("Действие", "Записать");
			лПользователь.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ", лПользовательИБ);
			лПользователь.Записать();
		КонецЕсли;	
		
		ЗафиксироватьТранзакцию();
		
		СОобщить ("Создан пользователь: " + пСтр.Представление);
		
	Исключение
		СтрОшибки = ОписаниеОшибки();
		ОтменитьТранзакцию();
		Сообщить("Не удалось создать пользователя: " + пСтр.Представление + ". Ошибка: " + СтрОшибки);
		Рез = Истина;
	КонецПопытки;
	
	Возврат Рез;
КонецФункции
Показать
Aleksandr_prof; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Aleksandr_prof 194 01.02.20 09:32 Сейчас в теме
1. Сначала нужно узнать, что у вас за конфигурация.
2. Необходимо выяснить, как эти пользователи будут узнавать о своих задачах? И будут ли вообще?
3. И вообще лучше описать полностью задачу. В общем если нет ТЗ, то и решение ХЗ.
trickster; Vitaly1C8; vadim.semyonov.rzn; +3 Ответить
4. antipod13 04.02.20 11:32 Сейчас в теме
(2)Документооборот 2.1.16.1
в принципе нет, большая часть, но 50-60 будут,
Да ТЗ долго описывать у нас интеграция документооборота и веб ресурса
как пользователей в ДГУ Добавить правильно не знаю
7. Aleksandr_prof 194 04.02.20 13:45 Сейчас в теме
(4) Если 1000 пользователей, то нам необходима таблица значений с данными пользователей. По нему проходим циклом и программно добавляем всех пользователей. Для специалиста среднего уровня разобраться как это сделать - часа 4, написать механизм создания - часа 2, и создать всех - часа 2. Итого примерно 8 часов. Тут вряд ли кто-то подскажешь весь код целиком. Либо своими силами, либо обращаться к специалисту.
3. Vitaly1C8 02.02.20 12:04 Сейчас в теме
Необходимо написать обработку, которая будет создавать новый элемент Справочника (1000 раз)
Также важно заполнить все необходимые для последующей работы поля.

P.S. Посмотри в интернете что означает Объект.Обмен.Загрузка = Истина
5. antipod13 04.02.20 11:33 Сейчас в теме
(3) для теста обработка создает справочник пользователи 100 раз, но они не входят, пишет что недостаточно правв
PS именно с ее помощью удалось записать первую сотню, иначе идентификатор пользователя просто сбрасывался
6. sergathome 4 04.02.20 11:49 Сейчас в теме
Реальная функция, создающая нового пользователя ДО по данным ЗУП.

Функция СоздатьПользователя(пСтр)
	Рез = Ложь;
	НачатьТранзакцию();
	Попытка 	
		лПользователь = Справочники.Пользователи.СоздатьЭлемент();
		лПользователь.Наименование = пСтр.Представление;
		
		лПользователь.ПредставлениеВДокументах = пСтр.Представление;
		лПользователь.ПредставлениеВПереписке = пСтр.Представление;
		лПользователь.ПредставлениеВПерепискеСРангом = пСтр.Представление;
		
		лПользователь.Недействителен = Ложь;
		
		//ФизЛицо
		Фл = Справочники.ФизическиеЛица.НайтиПоНаименованию(лПользователь.Наименование, ложь);
		Если Фл.Пустая() Тогда
			ФлО = Справочники.ФизическиеЛица.СоздатьЭлемент();
			ФлО.Наименование = лПользователь.Наименование;
			
			УстановитьКИ(ФлО, Справочники.ВидыКонтактнойИнформации.EmailПользователя, пСтр.Почта);
			УстановитьКИ(ФлО, Справочники.ВидыКонтактнойИнформации.ТелефонПользователя, пСтр.ТелефонВнутренний);
			
			ФлО.Записать();
			Фл = ФлО.Ссылка;
		КонецЕсли;	
		
		УстановитьКИ(лПользователь, Справочники.ВидыКонтактнойИнформации.EmailПользователя, пСтр.Почта);
		УстановитьКИ(лПользователь, Справочники.ВидыКонтактнойИнформации.ТелефонПользователя, пСтр.ТелефонВнутренний);
		
		лПользователь.ФизЛицо = Фл;
		лПользователь.Подразделение = пСтр.НайденноеПодразделение;
		лПользователь.Записать();
		
		УстановитьМейлУведомлений(лПользователь.Ссылка, пСтр.Почта);		
		
		// Должность не критична, её можно создать. Раз она не нашлась на этапе подбора, то будем создавать.
		Если (НЕ ЗначениеЗаполнено(пСтр.НайденнаяДолжность)) И ЗначениеЗаполнено(пСтр.Должность) Тогда
			пСтр.НайденнаяДолжность = СоздатьДолжность(пСтр.Должность);
		КонецЕсли;
		
		МенеджерЗаписи = РегистрыСведений.СведенияОПользователяхДокументооборот.СоздатьМенеджерЗаписи();
		МенеджерЗаписи.Пользователь = лПользователь.Ссылка;    			
		//МенеджерЗаписи.СрокДействияНеОграничен = Истина;
		МенеджерЗаписи.Должность		       = пСтр.НайденнаяДолжность;
		МенеджерЗаписи.Подразделение		   = пСтр.НайденноеПодразделение;
		//		МенеджерЗаписи.Ранг					   = 1;
		МенеджерЗаписи.Записать();
		
		Если ЗначениеЗаполнено(пСтр.Имя) Тогда  // Только если есть сопоставление
		
			лПользовательИБ = Пользователи.НовоеОписаниеПользователяИБ();
			лПользовательИБ.Имя = пСтр.Представление;
			лПользовательИБ.ПолноеИмя = пСтр.Представление;
		
			лПользовательИБ.Язык = Метаданные.Языки.Русский;
		
			//Доменная аутентификация
			лПользовательИБ.АутентификацияОС = Истина;
			лПользовательИБ.ПользовательОС = "\\domain\" + пСтр.Имя;   
		
			лСсылкаНаПользователя = лПользователь.Ссылка;
			Пользователи.ЗаписатьПользователяИБ(, лПользовательИБ, Истина,, лСсылкаНаПользователя);
			лПользовательИБ.Вставить("Действие", "Записать");
			лПользователь.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ", лПользовательИБ);
			лПользователь.Записать();
		КонецЕсли;	
		
		ЗафиксироватьТранзакцию();
		
		СОобщить ("Создан пользователь: " + пСтр.Представление);
		
	Исключение
		СтрОшибки = ОписаниеОшибки();
		ОтменитьТранзакцию();
		Сообщить("Не удалось создать пользователя: " + пСтр.Представление + ". Ошибка: " + СтрОшибки);
		Рез = Истина;
	КонецПопытки;
	
	Возврат Рез;
КонецФункции
Показать
Aleksandr_prof; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот