Пользователи в 1С Бухгалтерия БП 3.0 создание программно
ПОМОГИТЕ!! При программном создании пользователей:
1. Не нажную как назначить профилю группы доступа.
2. Пользователь создается, но не заходит (пишет не найден пользователь в справочнике пользователей, хотя он там есть)
Вот код:
Что я делаю не так?????
1. Не нажную как назначить профилю группы доступа.
2. Пользователь создается, но не заходит (пишет не найден пользователь в справочнике пользователей, хотя он там есть)
Вот код:
Проверкаidпол = справочники.Пользователи.НайтиПоНаименованию(ИмяЭлемента);
Если не ЗначениеЗаполнено(Проверкаidпол) тогда
ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();
ПользовательИБ.Имя = ИмяЭлемента;
ПользовательИБ.ПолноеИмя = ИмяЭлемента;
ПользовательИБ.АутентификацияОС = ЛОЖЬ;
ПользовательИБ.АутентификацияOpenID = ЛОЖЬ;
ПользовательИБ.АутентификацияСтандартная = ИСТИНА;
ПользовательИБ.ЗапрещеноИзменятьПароль = ЛОЖЬ;
ПользовательИБ.ПоказыватьВСпискеВыбора = ИСТИНА;
ПользовательИБ.Пароль ="";
ПользовательИБ.РежимЗапуска = РежимЗапускаКлиентскогоПриложения.Авто;
ПользовательИБ.Язык = Метаданные.Языки.Русский;
СписокРолей = ПолучитьСписокРолей (ГруппаДоступаТз);
Для каждого роль из СписокРолей цикл
ПользовательИБ.Роли.Добавить(Метаданные.Роли[роль.имя]);
КонецЦикла;
Попытка
ПользовательИБ.Записать();
Сообщить ("Пользователь Иб создан " + ИмяЭлемента);
Исключение
Сообщить ("ПользовательИБ не создан " +ОписаниеОшибки());
КонецПопытки;
ПП = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяЭлемента);
СоздатьПользователяСправочник = Справочники.Пользователи.СоздатьЭлемент();
СоздатьПользователяСправочник.Наименование = имяэлемента;
СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("АутентификацияOpenID",Ложь);
СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("АутентификацияOpenID",Ложь);
СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("АутентификацияСтандартная",Истина);
СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("ЗапрещеноИзменятьПароль",Ложь);
СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("АутентификацияOpenID",Ложь);
СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("ПоказыватьВСпискеВыбора",Истина);
СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("ПоказыватьВСпискеВыбора",Истина);
СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("Пароль","");
//СоздатьПользователяСправочник.ОбменДанными.Загрузка = Истина;
СоздатьПользователяСправочник.ИдентификаторПользователяИБ = ПП.УникальныйИдентификатор;
//СоздатьПользователяСправочник.ИдентификаторПользователяСервиса = ПользовательИБ.УникальныйИдентификатор;
ПолучитьСвойстваИБ = СоздатьПользователяСправочник.СвойстваПользователяИБ.Получить();
СоздатьПользователяСправочник.Недействителен = Ложь;
СоздатьПользователяСправочник.Подготовлен = Истина;
СоздатьПользователяСправочник.ПолноеНаименование();
СоздатьПользователяСправочник.Заполнить(ПП);
попытка
СоздатьПользователяСправочник.Записать();
Сообщить("Пользователь " +СоздатьПользователяСправочник.Наименование + " создан!");
Исключение
Сообщить("Ошибка создания или редактирования " +имяэлемента +" "+ ОписаниеОшибки());
КонецПопытки;
ЭтоНовый = истина;
ПользовательДоступа = справочники.Пользователи.НайтиПоНаименованию(имяэлемента);
ОбновлениеИнформационнойБазы.ЗаписатьДанные(СоздатьПользователяСправочник);
КонецЕсли;
Если ПП.АутентификацияСтандартная = ложь тогда
ПП.АутентификацияОС = ЛОЖЬ;
ПП.АутентификацияOpenID = ЛОЖЬ;
ПП.АутентификацияСтандартная = ИСТИНА;
ПП.ЗапрещеноИзменятьПароль = ЛОЖЬ;
ПП.ПоказыватьВСпискеВыбора = ИСТИНА;
ПП.Пароль ="";
ПП.РежимЗапуска = РежимЗапускаКлиентскогоПриложения.Авто;
ПП.Язык = Метаданные.Языки.Русский;
Для каждого роль из СписокРолей цикл
ПП.Роли.Добавить(Метаданные.Роли[роль.имя]);
КонецЦикла;
ПП.Записать();
КонецЕсли;
Если СоздатьФизЛицо тогда
ПроверкаФИзЛицо = справочники.ФизическиеЛица.НайтиПоНаименованию(ИмяЭлемента);
Если ЗначениеЗаполнено (ПроверкаФИзЛицо) тогда
продолжить;
конецесли;
СоздатьФизЛицоПР = Справочники.ФизическиеЛица.СоздатьЭлемент();
ИмяФамилияОтчество = РазборФИО (ИмяЭлемента);
НайтиНаименование = Метаданные.Справочники.ФизическиеЛица.Реквизиты.Найти("Наименование");
Если НайтиНаименование <> Неопределено тогда
СоздатьФизЛицоПР.Наименование = строка (ИмяЭлемента);
КонецЕсли;
СоздатьФизЛицоПР.ДатаРегистрации = ТекущаяДата();
СоздатьФизЛицоПР.НаименованиеСлужебное = ИмяЭлемента;
СоздатьФизЛицоПР.ФИО = ИмяЭлемента;
НайтиИмя = Метаданные.Справочники.ФизическиеЛица.Реквизиты.Найти("Имя");
СоздатьФизЛицоПР.ИмяПредопределенныхДанных = ИмяФамилияОтчество.Имя;
СоздатьФизЛицоПР.ЭтоНовый();
Если НайтиИмя <> Неопределено
и ТипЗнч(ИмяФамилияОтчество) = Тип ("Структура")тогда
СоздатьФизЛицоПР.имя = ИмяФамилияОтчество.имя;
СоздатьФизЛицоПР.Фамилия = ИмяФамилияОтчество.Фамилия;
СоздатьФизЛицоПР.Отчество = ИмяФамилияОтчество.Отчество;
СоздатьФизЛицоПР.ИнициалыИмени = Лев (ИмяФамилияОтчество.Имя, 1)+"." + ЛЕВ (ИмяФамилияОтчество.Отчество,1);
КонецЕсли;
//СоздатьФизЛицо.Пол = перечисления.ПолФизическогоЛица.Мужской;
СоздатьФизЛицоПР.Заполнить(Неопределено);
попытка
СоздатьФизЛицоПР.Записать();
Сообщить ("Физическое лицо " +имяэлемента +"Создан");
Исключение
Сообщить("Ошибка создания или редактирования физического лица " +имяэлемента +" "+ ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
ПоказатьЧто я делаю не так?????
По теме из базы знаний
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2
- Учет и контроль. Механизм управления потреблением ресурсов кластера серверов 1С. Примеры использования
- Загрузка чеков ФНС в документы 1С:БП, 1С:УНФ, 1С:ERP, 1С:КА и 1С:УТ
- Робот-загрузчик и архив документов. Распознавание/загрузка сканов документов в 1С8(7.7), архив сканированных документов.
- Поиск и обработка ликвидированных юридических лиц (ЛИКВЮЛ) и ИП (ЛИКВИП) в 1С 8.3
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Добрый день!
Давайте, вначале выясним, способны Вы самостоятельно решить этот вопрос, а уже потом, исходя из полученного результата, поймем - нужно штудировать эту простыню запроса или нет. Вы можете проверить и привести скриншот проверки созданного пользователя в справочнике ? Через отладчик и табло
2. Пользователь создается, но не заходит (пишет не найден пользователь в справочнике пользователей, хотя он там есть)
Добрый день!
Давайте, вначале выясним, способны Вы самостоятельно решить этот вопрос, а уже потом, исходя из полученного результата, поймем - нужно штудировать эту простыню запроса или нет. Вы можете проверить и привести скриншот проверки созданного пользователя в справочнике ? Через отладчик и табло
(10) Группу я и хочу понять как назначать программно. Я из профиля группы доступа беру роли и присваиваю пользователюИБ , потом создаю пользователя, она создаются, но в списке пользователей не появляются, хотя в списках выбора они есть и даже под ними зайти можно, если в активном сеансе потом их выбрать и нажать записать, тогда они и в пользователях появляются.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот