Имя: Пароль:
1C
 
Конвертация данных БП 3 - Перенос пользователей
0 cmex
 
13.08.14
15:39
Добрый день.
Как правильно написать правила для переноса справочника "Пользователи"?
У меня в базе источника и приемника есть один и тот же пользователь - с разным наименованием, но одинаковой учетной записью при аутентификации средствами ОС. Но информация о "ПользовательОС" в явном виде не хранится в справочнике "Пользователи".Есть только реквизит "ИдентификаторПользователяИБ", по которому находится ПользовательИнформационнойБазы. Можно ли в КД написать собственный алгоритм поиска и подпихнуть его в какой-нибудь обработчик событи ПКО или ПКС? Спасибо
1 Поpyчик-4
 
13.08.14
15:41
(0) Можно. Для этого и есть обработчик Поля поиска.
2 cmex
 
13.08.14
15:45
(1) в полях поиска нужно указать по каким полям искать, а мне нужно сперва в источнике по "ИдентификаторПользователяИБ" найти ПользователяИнформационнойБазы, оттуда выцепить "ПользователяОС", потом в приемнике перебрать всех пользователей и ПользователейИнформационнойБазы и сопоставив их, жестко присвоить "СсылкаНаОбъект". Как это сделать пока не представляю
3 Поpyчик-4
 
13.08.14
15:46
(2) Для этого и есть обработчик Поля поиска.
4 acsent
 
13.08.14
15:47
проще добавить поле на время переноса ))
5 Поpyчик-4
 
13.08.14
15:49
(4) Садись, кол. Есть ПараметрыОбъекты.
6 toypaul
 
гуру
13.08.14
15:51
в хелпе по обработчкам в КД есть пример переноса пользователей. используются параметры объекта. подробнее в курсе по КД :)
7 RMpnz
 
13.08.14
15:51
В "Информации по обработчикам..." ПКО в обработчике "При выгрузке" есть пример выгрузки пользователей. рекомендую
8 cmex
 
13.08.14
15:53
вот такой код примерно в обработчике Поля поиска


//ПользовательОС - нужно найти в Источнике по реквизиту "ИдентификаторПользователяИБ" и запонить его для дальнейшего поиска в приемнике  
ПользователиИБПриемника = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого эл Из ПользователиИБПриемника Цикл
    Если эл.ПользовательОС = ПользовательОС Тогда
        СсылкаНаОбъект = Пользователи.НайтиПоРеквизиту("ИдентификаторПользователяИБ", эл.УникальныйИдентификатор);
        Прервать;
    КонецЕсли
КонецЦикла;
9 cmex
 
13.08.14
15:55
(5) как ими пользоваться? я второй раз с КД общаюсь
10 toypaul
 
гуру
13.08.14
15:57
(9) описание обработчиков при выгрузке и после загрузки. вроде так.

как пользоваться? курс по КД недорого стоит :). книжка еще дешевле
11 cmex
 
13.08.14
16:24
(5) а где заполнить ПараметрыОбъекта?
12 cmex
 
13.08.14
16:34
я добавил новое свойство, в обработчике "ПередВыгрузкой" написал

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

И установил по этому полю поиск и галочку поставил "ПередаватьДанныеВПарамет" с именем ПользовательОС. Теперь он будет доступен как ПараметрыОбъекта([ПользовательОС]) в Полях поиска?
13 cmex
 
14.08.14
08:09
народ, подскажите, как такой вариант (12)
Независимо от того, куда вы едете — это в гору и против ветра!