Вход | Регистрация
 
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
кудыть проще то

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