Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Преобразование COM-объекта в простой тип

Преобразование COM-объекта в простой тип
Я
   TolikoSprosit
 
28.09.16 - 14:56
Добрый день.

Получаю запросом по COM таблицу значений, в ней ссылки, строки, числа, булевые значения. Как эту таблицу преобразовать в таблицу значений с простыми типами(ссылки = строка GUID, простые типы = простые типы)

вот так отработает все кроме ссылок:
Результат = ЗначениеИзСтрокиВнутр(V8.ЗначениеВСтрокуВнутр(Запрос.Выполнить()));
 
 
   Горогуля
 
1 - 28.09.16 - 15:10
спасибо, мы в курсе
   Nuobu
 
2 - 28.09.16 - 15:12
(0) СтрокаУИД = Строка(СсылкаИзДругойБазы.УникальныйИдентификатор());
   TolikoSprosit
 
3 - 28.09.16 - 15:33
(1) ???
   TolikoSprosit
 
4 - 28.09.16 - 15:34
(2) А как понять что СсылкаИзДругойБазы это ссылка, а не простой тип?
   Господин ПЖ
 
5 - 28.09.16 - 15:35
может сериализовать через xdto
   trooba
 
6 - 28.09.16 - 15:36
(4) у ссылки есть гуид
   TolikoSprosit
 
7 - 28.09.16 - 15:38
(6) а у не ссылки нет ".УникальныйИдентификатор()"
Попытки использовать?
   TolikoSprosit
 
8 - 28.09.16 - 15:39
(5) Подключаюсь к базе, выполняю запрос, выгружаю в таблицу. В XDTO сначала надо будет упаковать с той стороны же?
   TolikoSprosit
 
9 - 28.09.16 - 16:15
Миста, помоги же ну
   Torquader
 
10 - 28.09.16 - 16:37
Начнём с того, что всё, что есть в другой базе и может быть передано в нашу - можно сериализовать в XML и т.п.
А так, простой тип - он передаётся по значению и мы в нашей базе через ТипЗнч получить значение простого типа, а для остальных будет - OLE-объект.
 
 Рекламное место пустует
   TolikoSprosit
 
11 - 28.09.16 - 17:54
Сделал так, спасибо миста

V8 = подключение
таб = com - таблица

Результат = Новый ТаблицаЗначений;
        
        //Создание колонок

        Для каждого Колонка Из Таб.Колонки Цикл
            Результат.Колонки.Добавить(Колонка.Name);        
        КонецЦикла; 
        
        //Заполним таблицу

        Для каждого Стр Из Таб Цикл
            НС = Результат.Добавить();
            Для каждого Колонка Из Результат.Колонки Цикл
                Если ТипЗнч(Стр[Колонка.Имя]) = Тип("COMОбъект") Тогда
                    НС[Колонка.Имя] = V8.XMLСтрока(Стр[Колонка.Имя]);
                Иначе
                    НС[Колонка.Имя] = Стр[Колонка.Имя];        
                КонецЕсли;                    
            КонецЦикла;     
        КонецЦикла;
   TolikoSprosit
 
12 - 28.09.16 - 17:55
Хочу проще
   Господин ПЖ
 
13 - 28.09.16 - 17:57
кудыть проще то

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует