Потребовалось распределять роли пользователям от 20 в день. Написал обработку, которая файл Excel читает / анализирует.
Есть отдельные кнопки по установке ролей, по созданию пользователей.
Обработка для программистов. Скачав её, вы доделаете её под свои задачи.
Здесь код по созданию пользователя.
ОписаниеПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ();
ОписаниеПользователяИБ.Вставить("Действие", "Записать");
ОписаниеПользователяИБ.Вставить("Имя", ИмяПользователя);
ОписаниеПользователяИБ.Вставить("ПолноеИмя", ИмяПользователя);
ОписаниеПользователяИБ.Вставить("АутентификацияСтандартная", Истина);
ОписаниеПользователяИБ.Вставить("АутентификацияОС", Истина);
//ОписаниеПользователяИБ.Вставить("ПользовательОС", "\\"+?(СтрДлина(Стр.УчеткаДомена) = 6, " ", "")+Стр.УчеткаДомена);
ОписаниеПользователяИБ.Вставить("АутентификацияOpenID", Ложь);
ОписаниеПользователяИБ.Вставить("ПоказыватьВСпискеВыбора", Истина);
ОписаниеПользователяИБ.Вставить("СохраняемоеЗначениеПароля", Ложь);
ОписаниеПользователяИБ.Вставить("Пароль", Неопределено);
ОписаниеПользователяИБ.Вставить("ЗапрещеноИзменятьПароль", Ложь);
ОписаниеПользователяИБ.Вставить("ВходВПрограммуРазрешен", Истина);
ОписаниеПользователяИБ.Вставить("ПотребоватьСменуПароляПриВходе", Истина);
//ОписаниеПользователяИБ.Вставить("УникальныйИдентификатор", СтрокаТаблицы.ИдентификаторПользователяИБ);
ПользовательОбъект = Справочники.Пользователи.СоздатьЭлемент();
ПользовательОбъект.Наименование = ИмяПользователя;
ПользовательОбъект.ФизЛицо = Стр.Сотрудник.Владелец;
ПользовательОбъект.Недействителен = Ложь;
ПользовательОбъект.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ", ОписаниеПользователяИБ);
//ПользовательОбъект.ДополнительныеСвойства.Вставить("ЗначениеПередЗаписью_ИдентификаторПользователяИБ", СтрокаТаблицы.ИдентификаторПользователяИБ);
//ПользовательОбъект.ИдентификаторПользователяИБ = СтрокаТаблицы.ИдентификаторПользователяИБ;
// ПользователиИнформационнойБазы.СоздатьПользователя()
СотрудникОбъект = Стр.Сотрудник.ПолучитьОбъект();
// контактная информация EmailПользователя
Если ЗначениеЗаполнено(Стр.Почта ) ТОгда
ВидКИ = Справочники.ВидыКонтактнойИнформации.EmailПользователя;
УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(ПользовательОбъект, Стр.Почта, ВидКИ);
//ОписаниеПользователяИБ.Вставить("ЗапрещеноВосстанавливатьПароль", ЛОжь);
ВидКИ = Справочники.ВидыКонтактнойИнформации.EmailСотрудника;
УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(СотрудникОбъект, Стр.Почта, ВидКИ);
КонецЕсли;
Если ЗначениеЗаполнено(Стр.Телефон ) ТОгда
ВидКИ = Справочники.ВидыКонтактнойИнформации.ТелефонСотрудника;
УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(СотрудникОбъект, Стр.Телефон, ВидКИ);
КонецЕсли;
ПользовательОбъект.Записать();
//ПользовательВнутриИБ= ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(ПользовательОбъект.ИдентификаторПользователяИБ);
СотрудникОбъект.записать();
ПользовательСсылка = ПользовательОбъект.Ссылка;
//УстановитьРесурсПотребоватьСменуПароляПриВходе
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.СведенияОПользователях");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.УстановитьЗначение("Пользователь", ПользовательСсылка);
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
НаборЗаписей = РегистрыСведений.СведенияОПользователях.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Пользователь.Установить(ПользовательСсылка);
НаборЗаписей.Прочитать();
Если НаборЗаписей.Количество() > 0 Тогда
ЗаписьНабора = НаборЗаписей[0];
Иначе
ЗаписьНабора = НаборЗаписей.Добавить();
ЗаписьНабора.Пользователь = ПользовательСсылка;
КонецЕсли;
ЗаписьНабора.ПотребоватьСменуПароляПриВходе = Истина;
НаборЗаписей.Записать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
РегистрыСведений.СотрудникиПользователей.ДобавитьЗапись( ПользовательОбъект.Ссылка, Стр.Сотрудник);
Проверено на версии Документооборот 3.0.13 и 3.0.19.30.
Вступайте в нашу телеграмм-группу Инфостарт