Имя: Пароль:
1C
1С v8
Справочник пользователи и ПользователиИБ. Как связать?
,
0 tabarigen
 
09.01.16
09:40
Здравствуйте.
Создал справочник пользователи. Какие основные действия нужно сделать чтоб связать его со справочник пользователи ИБ.
1) При записи(удалении) в справочник, проверять наличие пользователя в справочнике ПользователиИБ.
2) Сделаит связь между ними через реквизит.

Что еще может понадобиться?
1 Defender aka LINN
 
09.01.16
09:58
Во всех типовых практически так сделано
2 butterbean
 
09.01.16
10:00
Связь:  код справочника = имя пользователя ИБ.
3 tabarigen
 
09.01.16
10:11
(1) в УНФ мудренно конечно. В форме элемента справочника только 1600 строк.
4 tabarigen
 
09.01.16
12:14
Ребят пособите.
При создании Пользователя он также создается в ПользователиИБ.
При удалении как правильно удалить его?
ПользовательИБ.Удалить(<индекс>);

Что за индекс?

Процедура ПриЗаписи(Отказ)
    // Проверяем новый объект или нет
    Если  Не ЭтотОбъект.Ссылка.Пустая() Тогда
        //Создадим пользователя в справочнике ПользователиИБ
        ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();
        ПользовательИБ.Имя = ЭтотОбъект.Наименование;
        ПользовательИБ.ПолноеИмя    = ЭтотОбъект.Наименование;
        ПользовательИБ.АутентификацияОС    = Истина;
        //ПользовательИБ.ПользовательОС = ПользовательОС;
        //ПользовательИБ.ОсновнойИнтерфейс = Метаданные.Интерфейсы.Полный;
        ПользовательИБ.Роли.Добавить(Метаданные.Роли.АптекаКлиент);
        ПользовательИБ.Записать();
        
        ЭтотОбъект.ИдентификаторПользователяИБ = ПользовательИБ.УникальныйИдентификатор;
    КонецЕсли    
КонецПроцедуры

Процедура ПередУдалением(Отказ)
    // Вставить содержимое обработчика.
    ПользовательИБ.Удалить(3);
КонецПроцедуры
5 Heckfy
 
09.01.16
12:42
Надо бы сначала НайтиПоИмени (FindByName) например.
6 tabarigen
 
09.01.16
12:47
(5) упс ссори не додумался.
Только вот у Справочника есть только методы Найти и НайтиСтроки.

в первом случае в метод передается значение, во втором структура.
7 Heckfy
 
09.01.16
12:48
Нужно использовать

МенеджерПользователейИнформационнойБазы (InfoBaseUsersManager)
Методы:

НайтиПоИмени (FindByName)
НайтиПоУникальномуИдентификатору (FindByUUID)
ПолучитьПользователей (GetUsers)
СоздатьПользователя (CreateUser)
ТекущийПользователь (CurrentUser)

Описание:

Предназначен для работы со списком пользователей информационной базы.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
См. также:
8 tabarigen
 
09.01.16
13:04
МенеджерПользователейИнформационнойБазы

У меня такой функции вообще нет.
9 Heckfy
 
09.01.16
13:06
Набери в СП: ПользователиИнформационнойБазы
10 tabarigen
 
09.01.16
14:02
&НаСервере
Процедура ПередУдалением(Отказ)
    // Вставить содержимое обработчика.
    Польз = ПользователиИнформационнойБазы.НайтиПоИмени(ЭтотОбъект.Наименование);
    Польз.Удалить();
КонецПроцедуры
11 tabarigen
 
09.01.16
14:03
(9) спасибо вам
12 Повелитель
 
09.01.16
14:13
(0) Зачем изобретать велосипед?
Качаем стандартную библиотеку подсистем, там все это уже есть.
На базе её можно и любую конфу новую разрабатывать.
13 tabarigen
 
09.01.16
14:19
(12) Я не осилил ее. Дальше чем демку ничего не получилось. Даже базоаую систему из обязательных подсистем не смог поднять( сто тысяу зависимостей, а нормальной документации нету.

А так да, я сразу подумал про БСП, и даже курил ее недельку. Но увы.
14 Мимохожий Однако
 
09.01.16
14:49
(13)Там нормальная документация
15 tabarigen
 
09.01.16
14:56
(14) Она как минимум для разработчиков со стажем от 3=х лет. Имхо.
16 Мимохожий Однако
 
09.01.16
15:11
(15)Не переживай. Дело не в стаже, ИМХО. В инете полно видео как подключать отдельные подсистемы БСП. День-два разберешься. Рожать своё будет дольше.
17 MaxS
 
09.01.16
15:17
На основе БСП связь такая:
ИмяПользователя = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(ПользовательСсылка.ИдентификаторПользователяИБ);
ИмяПользователя = ?(ИмяПользователя=Неопределено, Неопределено, ИмяПользователя.Имя;
Основная теорема систематики: Новые системы плодят новые проблемы.