1. skala12345 08.11.19 00:29 Сейчас в теме

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

ПОМОГИТЕ!! При программном создании пользователей:
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С
Екатеринбург
зарплата до 120 000 руб.
Полный день

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

Программист 1С
Рязань
зарплата от 90 000 руб.
Полный день

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день