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