Как получить ГУИД элемента по OLE, записать и получить по нему ссылку? #437105


#0 by Parti
Делаю запрос к базе по OLE, получаю список элементов. Записываю в ТЧ: Получаю по нему ссылку на OLE-Объект: Что я делаю не так? Как получить ссылку правильно?
#1 by Parti
+ Идентификатор - это переменная модуля, она равна выбранному из ТЧ УникальномуИдентификатору
#2 by Parti
Как переменной Идентификатор присвоить тип значения УникальныйИдентификатор??
#3 by IronDemon
#4 by Parti
Ошибка - Недопустимое значение параметра! Разве не из строки делается уникальный идентификатор?
#5 by Immortal
из строки.. только вот у тебя строка неправильная
#6 by Parti
Результат: {"#",2319dcf1-f4ee-438d-b16f-6a145d6b9422} 2319dcf1-f4ee-438d-b16f-6a145d6b9422 Ошибка: несоответствие типов!
#7 by IronDemon
#8 by Mitriy
если используешь ЗначениеВСтрокуВнутр, то используй и ЗначениеИзСтрокиВнутр...
#9 by Parti
Значит, дело все-таки в соединении.. Почему не получается полуичть ссылку базы?
#10 by Parti
+ надо создавать новый  объект в OLE-базе?? Через NewObject ?
#11 by hhhh
потому-что ЗначениеВСтрокуВнутр - это совсем из другой оперы. Делай просто через строки.
#12 by Irbis
через оле лучше простые типы гонять. Пользуй и будь счастлив.
#13 by DUDE
если тебе нужно в ту базу передать гуид, то и создавать ты его должен "там": База8.Newobject("УникальныйИдентификатор"[,<параметры конструктора>]). По нему уже и ищи.
#15 by Parti
+14 ошибка к 14 та же - несоответствие типов
#16 by DUDE
Вот так можно получить уид в "получателе" на основе уид текущей базы: а вот так - наоборот: ДругойUID = Новый УникальныйИдентификатор(БазаПолучатель.XMLСтрока(РеквизитОЛЕ.УникальныйИдентификатор));
#17 by Parti
даже так: Результат: Ошибка при вызове метода контекста (NewObject): Произошла исключительная ситуация (V81.Application): Недопустимое значение параметра (параметр номер '1') система должна сообщить, что ничего не нашла, а возвращает ошибку.. из-за чего?
#18 by Parti
сорри, СокрЛП  забыл(((( вроде работает....
#19 by Parti
Уже без ошибки, но
#20 by Parti
DUDE, выручай..
#21 by DUDE
Озвучь еще раз задачу. Есть база1, откуда ты получаешь исходную ссылку, и база2, в которой ищешь, так?
#22 by DUDE
В моей ситуации было две разных базы, обменивавшихся через правила КД с поиском при загрузке по УИД. Поэтому в обеих базах УИДы мигрировавших объектов были, и обработка по сверке перенесенных данных работала отлично.
#23 by Parti
Есть моя база, самописная. есть база Бухи, откуда я получаю ссылки и Гуиды. В обработку в самописке в ТЧ я выгружаю гуиды элементов из Бухии. В ТЧ они хранятся строковым типом. Затем запоминаю выбранный Гуид переменной модуля (При активизации ячейки ТП) и хочу по этому Гуиду получить ссылку на элемент в Бухии.
#24 by Parti
т.е. получаю от элемента Гуид и получаю по гуиду элеемнт
#25 by Parti
Гоняю гуиды туда-обратно..
#26 by Parti
DUDE....
#27 by DUDE
Ошибка у тебя выдается тк ты в конструктор передавал в качестве параметров УникальныйИдентификатор, а надо было - строковое представление. Если у тебя твое строковое значение = СокрЛП УИДа, без всяких там Сред, Лев и тп, то ссылка должна найтись. Например:
#28 by DUDE
Если у тебя не будет явных ошибок типа "Ошибка при вызове метода контекста ....", а просто нулевая цена, то стоит посмотреть другие свойства, проверить: а доступен ли объект по данной ссылке и пр. Сама по себе "цена = 0" ничего не говорит.
#29 by Parti
DUDE, спс, все получилось!!
#30 by DUDE
Не за что :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С