Имя: Пароль:
1C
1С v8
.NewObject("Запрос") Как обработать результат запроса COMобъект?
0 DaryaKoroleva
 
21.06.18
08:56
Добрый день!

Подскажите пожалуйста как быть)
База-1 коненктиться к базе-2 через com соединение.
Далее запросом из базы-1 получаем данные из базы-2.

    vQry = глСоединение.NewObject("Query");
    vQry.Text = "бла-бла"
        vTrans = vQry.Execute().Unload();

vTrans - возвращается с типом ComОбъект.

Обрабатываю его как:
        стрТЗ = ЗначениеВСтрокуВнутр(vTrans);
        ТЗ = ЗначениеИзСтрокиВнутр(стрТЗ);

ТЗ - возвращается как "Неопределенно".


Запрос точно верный - на базе-2 его формирую все норм, данные есть.
Делаю vTrans.Количество() - возвращает число 8, т.е. там все таки что-то есть.

А как эту таблицу обработать хз(
1 ajax_new
 
21.06.18
09:01
Может так
стрТЗ = ЗначениеВСтрокуВнутр(глСоединение.vTrans);

Типы в результате запроса примитивные?
2 butterbean
 
21.06.18
09:02
глСоединение.ЗначениеВСтрокуВнутр(блаблабла)
3 hhhh
 
21.06.18
09:16
(0) как то так

Для Каждого СтрvTrans Из vTrans Цикл

//обрабатываем строку тз

КонецЦикла;
4 youalex
 
21.06.18
09:20
а почему ЗначениеВСтрокуВнутр ты делаешь на стороне текущей базы?
5 hhhh
 
21.06.18
09:27
(0) точно.

стрТЗ = глСоединение.ЗначениеВСтрокуВнутр(vTrans);


но, взлетит если только в тз нет ссылок на справочники или документы.
6 Бертыш
 
21.06.18
09:30
Вам походу к автору данной обработки
http://catalog.mista.ru/public/834818/
7 palpetrovich
 
21.06.18
09:54
Зачем ТЗ? Делай цикл по резульату запроса
Выборка = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура");
Пока Выборка.Следующий() Цикл ....
8 lEvGl
 
гуру
21.06.18
09:56
эээх... даша, даша
9 hhhh
 
21.06.18
10:00
(8) что не так с Дашей?
10 lEvGl
 
гуру
21.06.18
10:07
ушуршала

в 25 то не шуршать, нах это 1С надо
11 DaryaKoroleva
 
21.06.18
13:28
(3), (7)  На циклы ругается, что итератор не определен.
(2) Так взлетает, правда с примитвыми типами, но это норм.
12 hhhh
 
21.06.18
13:31
(11) значит не то пишете в цикле