|
Как поставить галочку в справочнике Пользователи | ☑ | ||
---|---|---|---|---|
0
IvanVlad007
19.03.19
✎
13:27
|
Как проставить галочку "ДоступКИнформационнойБазеРазрешен" в справочнике "Пользователи" Если она находится на форме. Или как сделать так чтобы пользователь ИБ и пользователь справочника "Пользователи" были связаны. Использовал этот код тоже не помогает. Пользователь создается а связи все равно нету и если руками поставить галочку "ДоступКИнформационнойБазеРазрешен" то при записи справочника будет создаваться новый пользователь ИБ. Пользователь создается через ComConnector по Guid.
СтрокаGUID = СокрЛП(Результат.ИдентификаторПользователяИБ); НовыйGUID = V8.NewObject("УникальныйИдентификатор",СтрокаGUID); СпрСсылка = V8.Справочники.Пользователи.ПолучитьСсылку(НовыйGUID); Если СпрСсылка.ПолучитьОбъект()=Неопределено Тогда НовыйПользователь = V8.Справочники.Пользователи.СоздатьЭлемент(); НовыйПользователь.УстановитьСсылкуНового(СпрСсылка); НовыйПользователь.ИдентификаторПользователяИБ = НовыйGUID; НовыйПользователь.Наименование = Результат.Наименование; НовыйПользователь.ОсновнойEmail = Результат.Email; НовыйПользователь.ОсновнойТелефон = Результат.Телефон; НовыйПользователь.Логин = Результат.Наименование; НовыйПользователь.Служебный = Ложь; НовыйПользователь.Должность = ПолучитьДолжность(Результат.Должность,V8); НовыйПользователь.Организация = ПолучитьОрганизацию(Результат.Подразделение2,V8); НовыйПользователь.Подразделение = ПолучитьПодразделение(Результат.Подразделение2,V8,НовыйПользователь.Организация); НовыйПользователь.Записать(); ОписаниеПользователяИБ = Новый Структура; ОписаниеПользователяИБ.Вставить("Действие","Записать"); ОписаниеПользователяИБ.Вставить("Имя",Результат.Наименование); ОписаниеПользователяИБ.Вставить("Пароль","123"); ОписаниеПользователяИБ.Вставить("Язык",""); ОписаниеПользователяИБ.Вставить("АутентификацияСтандартная ",Истина); ОписаниеПользователяИБ.Вставить("ПоказыватьВСпискеВыбора",Истина); ОписаниеПользователяИБ.Вставить("РежимЗапуска","Авто"); ОписаниеПользователяИБ.Вставить("ДоступКИнформационнойБазеРазрешен",Истина); НовыйПользователь.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ",ОписаниеПользователяИБ); V8.ПользователиСлужебный.НачатьОбработкуПользователяИБ(НовыйПользователь,ПараметрыОбработкиПользователяИБ); V8.ПользователиСлужебный.ЗавершитьОбработкуПользователяИБ(НовыйПользователь,ПараметрыОбработкиПользователяИБ); |
|||
1
Mort
19.03.19
✎
13:49
|
НовыйПользователь.ИдентификаторПользователяИБ = НовыйGUID вот где связь настраивается.
|
|||
2
Mort
19.03.19
✎
13:52
|
ПользователиСлужебный.НачатьОбработкуПользователяИБ - сейчас нет под рукой, но если туда передается объект, большая вероятность что в него вносятся изменения. А ты записываешь его ещё до вызова.
|
|||
3
IvanVlad007
19.03.19
✎
14:01
|
(1) Я так делал, он мне пишет ошибку
"Поле объекта недоступно для записи (УникальныйИдентификатор) ПользовательИБ.УникальныйИдентификатор = НовыйGUID;" Вот код: НовыйПользователь = V8.Справочники.Пользователи.СоздатьЭлемент(); НовыйПользователь.УстановитьСсылкуНового(СпрСсылка); НовыйПользователь.ИдентификаторПользователяИБ = НовыйGUID; НовыйПользователь.Наименование = Результат.Наименование; НовыйПользователь.ОсновнойEmail = Результат.Email; НовыйПользователь.ОсновнойТелефон = Результат.Телефон; НовыйПользователь.Логин = Результат.Наименование; НовыйПользователь.Служебный = Ложь; НовыйПользователь.Должность = ПолучитьДолжность(Результат.Должность,V8); НовыйПользователь.Организация = ПолучитьОрганизацию(Результат.Подразделение2,V8); НовыйПользователь.Подразделение = ПолучитьПодразделение(Результат.Подразделение2,V8,НовыйПользователь.Организация); НовыйПользователь.Записать(); ПользовательИБ = V8.ПользователиИнформационнойБазы.СоздатьПользователя(); ПользовательИБ.Имя = Результат.Наименование; ПользовательИБ.УникальныйИдентификатор = НовыйGUID; ПользовательИБ.АутентификацияСтандартная = Истина; ПользовательИБ.Пароль = "123"; ПользовательИБ.ПоказыватьВСпискеВыбора = Истина; ПользовательИБ.Записать(); |
|||
4
Mort
19.03.19
✎
14:03
|
(3) Ну так сначала запиши пользователя ИБ, а потом его гуид укажи пользователю - элементу справочника.
|
|||
5
IvanVlad007
19.03.19
✎
14:03
|
(2) Объясни пожалуйста что значит записываю до вызова? Я просто этот код нашел на просторах интернета. Заранее благодарен
|
|||
6
IvanVlad007
19.03.19
✎
14:04
|
(4) Понятно, это плохо т.к. мне нужно еще по GUID связать пользователя из другой базы. а присвоить получается пользователю его нельзя(. Потому что у меня синхронизация между базами будет не по коду а по GUIDу
|
|||
7
IvanVlad007
19.03.19
✎
14:08
|
(4) Спасибо большое)))) Ура))) Все заработало, только теперь надо продумать как им присвоить GUID из другой базы)))
|
|||
8
aleks_default
19.03.19
✎
14:12
|
не создавай нового пользователя ИБ в другой базе, а передавай его напрямую в виде XML
|
|||
9
IvanVlad007
19.03.19
✎
14:36
|
Спасибо большое всем за помощь. Высылаю работающий код, вдруг кому пригодиться)
ПользовательИБ = V8.ПользователиИнформационнойБазы.СоздатьПользователя(); ПользовательИБ.Имя = Результат.Наименование; ПользовательИБ.АутентификацияСтандартная = Истина; ПользовательИБ.Пароль = "123"; ПользовательИБ.ПоказыватьВСпискеВыбора = Истина; ПользовательИБ.Записать(); НовыйПользователь = V8.Справочники.Пользователи.СоздатьЭлемент(); НовыйПользователь.УстановитьСсылкуНового(СпрСсылка); НовыйПользователь.ИдентификаторПользователяИБ = ПользовательИБ.УникальныйИдентификатор; НовыйПользователь.Наименование = Результат.Наименование; НовыйПользователь.ОсновнойEmail = Результат.Email; НовыйПользователь.ОсновнойТелефон = Результат.Телефон; НовыйПользователь.Логин = Результат.Наименование; НовыйПользователь.Служебный = Ложь; НовыйПользователь.Должность = ПолучитьДолжность(Результат.Должность,V8); НовыйПользователь.Организация = ПолучитьОрганизацию(Результат.Подразделение2,V8); НовыйПользователь.Подразделение = ПолучитьПодразделение(Результат.Подразделение2,V8,НовыйПользователь.Организация); НовыйПользователь.Записать(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |