Имя: Пароль:
1C
1С v8
Преобразование COM-объекта в простой тип
0 TolikoSprosit
 
28.09.16
14:56
Добрый день.

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

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

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

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