Имя: Пароль:
1C
1С v8
Получение уникального идентификатора справочника через ОЛЕ
0 Oz11
 
21.02.12
18:15
задача в том чтоб в базе, соединенной через ОЛЕ, открывать форму выбора справочника и получать в основную базу уникальный идентификатор выбранного элемента справочника.
1 asady
 
21.02.12
18:16
(0) одобряю.
2 Oz11
 
21.02.12
18:17
(1) да я тоже. только вот не могу получить обратно уникальный идентификатор выбранного элемента справочника.
3 asady
 
21.02.12
18:17
код приведи который у тебя не работает
4 Oz11
 
21.02.12
18:18
Пишу так:
   МенеджерСправочника = База.Справочники.Контрагенты;
   Форма = МенеджерСправочника.ПолучитьФорму("ФормаВыбора", ЭтаФорма);
   Форма.ЗакрыватьПриВыборе = Истина;
   Форма.МножественныйВыбор = Ложь;
   Форма.РежимВыбора = Истина;
   Форма.ОткрытьМодально();
но ОбработкаВыбора моей формы не срабатывает.
5 le_
 
21.02.12
18:19
Неожиданно )
6 asady
 
21.02.12
18:19
(4) и не сработает никогда

ЭтаФорма  совсем не та что ты думаешь
7 le_
 
21.02.12
18:21
Выбранное = База.Справочники.Контрагенты.ПолучитьФормуВыбора().ОткрытьМодально();
8 asady
 
21.02.12
18:22
Форма = МенеджерСправочника.ПолучитьФорму("ФормаВыбора", ); //ЭтаФорма - она здесь а не там
   Форма.ЗакрыватьПриВыборе = Истина;
   Форма.МножественныйВыбор = Ложь;
   Форма.РежимВыбора = Истина;
   РезультатВыбора = Форма.ОткрытьМодально();
   Сообщить(""+РезультатВыбора.УникальныйИдентификатор());   //что напишет?
9 DrLivsey
 
21.02.12
18:27
Метод УникальныйИдентификатор() надо применить к ссылке на выбранный элемент справочника.
10 Oz11
 
21.02.12
18:30
(8) пишет COMОбъект
11 le_
 
21.02.12
18:30
Правильно пишет )
12 le_
 
21.02.12
18:35
Сообщить(База.Строка(Выбранное.УникальныйИдентификатор()));
или
Сообщить(База.ЗначениеВСтрокуВнутр(Выбранное.УникальныйИдентификатор()));
13 Oz11
 
21.02.12
18:40
Написал так:
ИД = Новый УникальныйИдентификатор(База.String(РезультатВыбора.УникальныйИдентификатор()));
вроде то что нужно. всем огромное спасибо за помощь.
Ошибка? Это не ошибка, это системная функция.