Получение ссылки по GUIDу в COMConnector (1Cv8)

Материал из КинтВики
Перейти к: навигация, поиск


Источник: http://kb.mista.ru/article.php?id=649&

Много вопросов вызывает процедура получения ссылки на COMобъект по строковому представлению уникального идентификатора объекта. Приведен метод получения такой ссылки и строкового образа объекта в варианте "из 1С8 смотрим в 1С8"

Ключевые слова: COMСоединение, УникальныйИдентификатор, Ссылка


Известно:

  • ИмяДокумента (Тип Строка)
  • УникальныйИдентификатор искомого документа в базе-источнике (тип Строка)
  • COMСоединение установлено.
    МД=ВнешняяБаза.XMLTypeOf(ВнешняяБаза.Документы[ИмяДокумента].ПустаяСсылка());
    Попытка
        тСсылка=ВнешняяБаза.XMLValue(ВнешняяБаза.FromXMLType(МД),ЭтотУникальныйИдентификатор);
    Исключение
        Сообщить("COM: "+ОписаниеОшибки());
        возврат;
    КонецПопытки;    
    тОбъект=тСсылка.ПолучитьОбъект();
    ЗаписьXML=ВнешняяБаза.NewObject("ЗаписьXML");
    ЗаписьXML.УстановитьСтроку();
    ВнешняяБаза.WriteXML(ЗаписьXML,тОбъект);
    тСтрXML=ЗаписьXML.Закрыть();


Для перечислений:

  • ИмяПеречисления (Тип Строка)
  • ИмяЗначенияПеречисления (Тип Строка)
  • COMСоединение установлено.
    МД=ВнешняяБаза.XMLTypeOf(ВнешняяБаза.Перечисления[ИмяПеречисления].ПустаяСсылка());
    Попытка
        тСсылка=ВнешняяБаза.XMLValue(ВнешняяБаза.FromXMLType(МД),ИмяЗначенияПеречисления);
    Исключение
        Сообщить("COM: "+ОписаниеОшибки());
        возврат;
    КонецПопытки;


в переменной тСсылка - лежит Ссылка на объект (тип COMОбъект)