Имя: Пароль:
1C
1С v8
Com-объект в таблицу значений
0 extrim-style
 
21.01.14
14:41
Делаю запрос к MS SQL (не 1сная база):

...
Rs = Новый COMОбъект("ADODB.RecordSet");
RS.CursorType = 1;
RS.LockType = 3;    
...
RS.Open(ТекстЗапроса,Соединение);
...
Пока Rs.EOF = 0 Цикл
...
КонецЦикла;

Ранее использовал обход Rs, но теперь ситуация такая, что мне проще бы поместить Rs в ТЗ, ТЗ в запрос, и там уже сделать все остальные соединения. Вопрос: как проще всего поместить Rs в ТЗ? или какие тут другие варианты?
1 Fram
 
21.01.14
14:42
GetRows
2 extrim-style
 
21.01.14
14:49
(1) есть такое дело! после этого можно сразу в запрос? или куда?
3 Fram
 
21.01.14
14:51
(2) щас! вернется массив массивов. типизируй, загоняй в ТЗ и потом в запрос
4 extrim-style
 
21.01.14
14:53
(3) ёлкин кот, первоначальное воодушевление после (1) поубавилось)
5 dk
 
21.01.14
14:55
можно откатиться в 7.7 и там все сформировать через 1с++ ))
6 Fram
 
21.01.14
14:56
(4) не ссы.. работает очень быстро. я даже не стал замерять производительность потому что результаты в пару сотен тысяч строк реально мгновенно загоняются в ТЗ
7 extrim-style
 
21.01.14
14:56
(3) примерчик нигде не завалялся? а то звучит массив массивов уже и звучит страшно)
8 Fram
 
21.01.14
14:59
(7) ниче страшного!
для каждого строки из rs.getrows() цикл
  для каждого колонка из строки цикл
  конеццикла
конеццикла
9 Fram
 
21.01.14
14:59
*строки = строка
так понятней по смыслу будет
10 extrim-style
 
21.01.14
15:01
(8) не понял в чем прикол? а в чем отличие тогда от:
Пока Rs.EOF = 0 Цикл
Rs.Fields("ИмяКолонки1").Value;
Rs.Fields("ИмяКолонки2").Value;
КонецЦикла;
11 Fram
 
21.01.14
15:03
(10) в скорости обработки большого кол-ва строк
12 extrim-style
 
21.01.14
15:09
(11) ясно. строк у меня не так много, так что разницы нет.
хотелось по коду строк поменьше. Что-нибудь вроде ЗначениеВСтрокуВутр - ЗначениеИзСтрокиВнутр и т.п., тем более у меня там в типах только строки.
13 Trainee
 
21.01.14
15:20
ВыборкаV8 = РезультатV8.Выгрузить();
стр_ТЗ    = Подключение.ЗначениеВСтрокуВнутр(ВыборкаV8);
ТЗ    = ЗначениеИзСтрокиВнутр(стр_ТЗ);

Я делала так.
14 Trainee
 
21.01.14
15:21
(13) Блин. Ступил.
15 bolobol
 
21.01.14
16:30
А "Внешние источники данных" тут никак не помогают? 00
16 Fram
 
21.01.14
16:33
(15) Мягко выражаясь, возможности селекта Transact SQL несколько выше 1Совских