Имя: Пароль:
1C
1С v8
Уникальный идентификатор через COM
, ,
0 nightangel48
 
06.10.11
14:24
buh = Новый COMObject("V82.COMConnector");
Соединение = buh.Connect("File=""C:\Users\shevchenkov\Documents\InfoBase4"";Usr=""usr "";Pwd=""pass" ";");
Соединение.Справочники.Номенклатура.ПолучитьСсылку(УИ);
Выдает ошибку {Форма.Форма.Форма(301)}: Ошибка при вызове метода контекста (ПолучитьСсылку): Произошла исключительная ситуация: Несоответствие типов (параметр номер '1')

Для локальной базы Справочники.Номенклатура.ПолучитьСсылку(УИ) элемент находит без проблем

Как мне реализовать получение ссылки на объект через внешнее соединение?
1 бомболюк
 
06.10.11
14:35
УИ создать надо тоже в КОМ базе.
2 zladenuw
 
06.10.11
14:37
да
3 vde69
 
06.10.11
14:37
ссылку на что? на элемент в другой базе с уитом из твоей?

если даже в той базе есть такой элемент - при передачи он превращается в строку, о чем и сообщение
4 brznzglwgn
 
06.10.11
14:38
Во первых это функция, а не процедура..
Во вторых надо все обвернуть в обработку и передавать строку, а там уже из строки получать guid
5 nightangel48
 
06.10.11
14:39
в той базе есть такой элемент - 100%, а как мне выйти из этой ситуации и получить ссылку на элемент в соединении?
6 Рэйв
 
06.10.11
14:41
(5)Может проще нати по коду или наименованию?
7 nightangel48
 
06.10.11
14:41
нельзя по коду, часто делаем перенумерацию
8 Ненавижу 1С
 
гуру
06.10.11
14:42
Соединение.Справочники.Номенклатура.ПолучитьСсылку(Соединение.NewObject("УникальныйИдентификатор",Строка(УИ)));
9 nightangel48
 
06.10.11
14:47
(8) Ненавижу1с - премного благодарствую, отлично работает
10 ptiz
 
06.10.11
16:25
а в обратную сторону я так делаю
СтрокаУИ = БазаИсточник.XMLСтрока(ЗначениеРеквизитаОЛЕ.УникальныйИдентификатор());
СсылкаВТекБазе = Менеджер.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаУИ));