Пользователи в 1С Бухгалтерия БП 3.0 создание программно

1. skala12345 08.11.19 00:29 Сейчас в теме
ПОМОГИТЕ!! При программном создании пользователей:
1. Не нажную как назначить профилю группы доступа.
2. Пользователь создается, но не заходит (пишет не найден пользователь в справочнике пользователей, хотя он там есть)
Вот код:


Проверкаidпол = справочники.Пользователи.НайтиПоНаименованию(ИмяЭлемента);
   	   
	   Если не ЗначениеЗаполнено(Проверкаidпол) тогда
		    ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();
            ПользовательИБ.Имя = ИмяЭлемента;
            ПользовательИБ.ПолноеИмя = ИмяЭлемента;
		    ПользовательИБ.АутентификацияОС = ЛОЖЬ;
            ПользовательИБ.АутентификацияOpenID = ЛОЖЬ;
            ПользовательИБ.АутентификацияСтандартная = ИСТИНА;
            ПользовательИБ.ЗапрещеноИзменятьПароль = ЛОЖЬ;
            ПользовательИБ.ПоказыватьВСпискеВыбора = ИСТИНА;
            ПользовательИБ.Пароль ="";
		    ПользовательИБ.РежимЗапуска = РежимЗапускаКлиентскогоПриложения.Авто;
			ПользовательИБ.Язык = Метаданные.Языки.Русский;
			СписокРолей = ПолучитьСписокРолей (ГруппаДоступаТз);
			Для каждого роль из СписокРолей цикл 
            ПользовательИБ.Роли.Добавить(Метаданные.Роли[роль.имя]); 
		КонецЦикла;
		   Попытка
			ПользовательИБ.Записать();
			Сообщить ("Пользователь Иб создан " + ИмяЭлемента);
		Исключение
			Сообщить ("ПользовательИБ не создан " +ОписаниеОшибки());
		КонецПопытки;
		    ПП = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяЭлемента);
		    СоздатьПользователяСправочник = Справочники.Пользователи.СоздатьЭлемент();
            СоздатьПользователяСправочник.Наименование = имяэлемента;
			СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("АутентификацияOpenID",Ложь);
			СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("АутентификацияOpenID",Ложь);
			СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("АутентификацияСтандартная",Истина);
			СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("ЗапрещеноИзменятьПароль",Ложь);
			СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("АутентификацияOpenID",Ложь);
			СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("ПоказыватьВСпискеВыбора",Истина);
			СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("ПоказыватьВСпискеВыбора",Истина);
            СоздатьПользователяСправочник.ДополнительныеСвойства.Вставить("Пароль","");

			//СоздатьПользователяСправочник.ОбменДанными.Загрузка = Истина;
			СоздатьПользователяСправочник.ИдентификаторПользователяИБ = ПП.УникальныйИдентификатор;
			//СоздатьПользователяСправочник.ИдентификаторПользователяСервиса = ПользовательИБ.УникальныйИдентификатор;
			ПолучитьСвойстваИБ = СоздатьПользователяСправочник.СвойстваПользователяИБ.Получить(); 
		    СоздатьПользователяСправочник.Недействителен = Ложь;
			СоздатьПользователяСправочник.Подготовлен = Истина;
			
			СоздатьПользователяСправочник.ПолноеНаименование();
			СоздатьПользователяСправочник.Заполнить(ПП);
	  		 
			попытка
						

			СоздатьПользователяСправочник.Записать();
            Сообщить("Пользователь " +СоздатьПользователяСправочник.Наименование + " создан!");
            Исключение
            Сообщить("Ошибка создания или редактирования " +имяэлемента +" "+ ОписаниеОшибки());
		КонецПопытки;
		
        ЭтоНовый = истина;
	    ПользовательДоступа = справочники.Пользователи.НайтиПоНаименованию(имяэлемента);
	
	    ОбновлениеИнформационнойБазы.ЗаписатьДанные(СоздатьПользователяСправочник);

				  КонецЕсли;	

				  Если ПП.АутентификацияСтандартная = ложь  тогда
					ПП.АутентификацияОС = ЛОЖЬ;
		            ПП.АутентификацияOpenID = ЛОЖЬ;
		            ПП.АутентификацияСтандартная = ИСТИНА;
		            ПП.ЗапрещеноИзменятьПароль = ЛОЖЬ;
		            ПП.ПоказыватьВСпискеВыбора = ИСТИНА;
		            ПП.Пароль ="";
				    ПП.РежимЗапуска = РежимЗапускаКлиентскогоПриложения.Авто;
					ПП.Язык = Метаданные.Языки.Русский;
					Для каждого роль из СписокРолей цикл 
		            ПП.Роли.Добавить(Метаданные.Роли[роль.имя]); 
				    КонецЦикла;
					ПП.Записать();
				КонецЕсли;

 Если СоздатьФизЛицо тогда 
	ПроверкаФИзЛицо = справочники.ФизическиеЛица.НайтиПоНаименованию(ИмяЭлемента); 

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

Что я делаю не так?????
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. uk09 08.11.19 07:41 Сейчас в теме
(1)
2. Пользователь создается, но не заходит (пишет не найден пользователь в справочнике пользователей, хотя он там есть)


Добрый день!

Давайте, вначале выясним, способны Вы самостоятельно решить этот вопрос, а уже потом, исходя из полученного результата, поймем - нужно штудировать эту простыню запроса или нет. Вы можете проверить и привести скриншот проверки созданного пользователя в справочнике ? Через отладчик и табло
3. skala12345 08.11.19 07:45 Сейчас в теме
(2) Я уже как только не проверял =)) и через отладчик и через сообщить, отлючал, включал функции, в конце концов добился того, что пользователь создается, в него можно зайти, но его нет в списке пользователей!! И не понятно почему...
5. uk09 08.11.19 08:01 Сейчас в теме
(3)
но его нет в списке пользователей!!


Визуально нет ? Можно посмотреть, на скриншоте ?
7. skala12345 08.11.19 08:52 Сейчас в теме
(5)Это версия бп 8.3.30 в 8.3.61 все ок! Только не присваиваются групы доступа (при этом роли назначаются и пользователь входит, все ок.
Прикрепленные файлы:
4. skala12345 08.11.19 07:46 Сейчас в теме
(2)Самое инетерсное, что ведет себя по разному в зависисмости от версии БП
6. uk09 08.11.19 08:02 Сейчас в теме
(4) Все версии БП - коробочные или всё-таки переписанные ?
8. skala12345 08.11.19 08:53 Сейчас в теме
(6) Версии коробочные без доработок
9. skala12345 08.11.19 08:54 Сейчас в теме
(6)На скриншоте демо данные, всего пользователей более 3-х десятков загружено
10. uk09 08.11.19 09:16 Сейчас в теме
(9) Пришлите, пожалуйста, скриншот, соответствующий проверяемой ситуации. И, покажите, входит этот пользователь в назначаемую группу или нет
11. skala12345 08.11.19 09:28 Сейчас в теме
(10) Так я скриншот и прислал, который соответствует проверяемой ситуации.
В списке выбора пользователи есть (это скриншот той же базы).
Прикрепленные файлы:
12. skala12345 08.11.19 09:32 Сейчас в теме
(10) Группу я и хочу понять как назначать программно. Я из профиля группы доступа беру роли и присваиваю пользователюИБ , потом создаю пользователя, она создаются, но в списке пользователей не появляются, хотя в списках выбора они есть и даже под ними зайти можно, если в активном сеансе потом их выбрать и нажать записать, тогда они и в пользователях появляются.
13. uk09 08.11.19 09:45 Сейчас в теме
(12) Покажите, пожалуйста, в группах есть созданные Вами пользователи ?
14. skala12345 08.11.19 10:02 Сейчас в теме
У меня не получается добавить их в группу доступа программно! (создается пустая группа доступа, если новую с профилем создаю)
15. uk09 08.11.19 14:11 Сейчас в теме
(14) Показать - можете ? Вы, лучше , не пишите, а показывайте
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)