Удаленное получение данных

  • Автор темы thinkfast
  • Дата начала
Статус
Закрыто для дальнейших ответов.
T

thinkfast

#1
Я подключаюсь к другой базе и запускаю там запрос:

v8 = Новый COMОбъект("v81.COMConnector");
Попытка
УдаленнаяИБ = V8.Connect("Srvr=" + Сервер + "; Ref=" + База +"; Usr=""; Pwd="";");
Исключение
Предупреждение("Ошибка соединения!" + Символы.ПС + ОписаниеОшибки());
КонецПопытки;

ТЗ = Новый ТаблицаЗначений;
УдаленнаяИБ.ЗапросПоТмц(ТЗ);

Текст удаленной процедуры и запроса:
Процедура ЗапросПоТмц(Ответ) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Субконто1 КАК Склад,
| Субконто2 КАК МОЛ,
| Субконто3.Код КАК ТМЦКод,
| Субконто3 КАК ТМЦ,
| КоличествоКонечныйОстатокДт КАК Количество,
| СуммаКонечныйОстатокДт КАК Сумма
|ИЗ
| РегистрБухгалтерии.Основной.ОстаткиИОбороты(, &ДатаКон, , , Счет = &Счет,
| , Организация = &Организация ) КАК ОстаткиИОбороты
|УПОРЯДОЧИТЬ ПО
| ТМЦКод ВОЗР";
Запрос.УстановитьПараметр("ДатаКон", '2009.12.31');
Запрос.УстановитьПараметр("Организация", Константы.НашаОрганизация.Получить());
Запрос.УстановитьПараметр("Счет", ПланыСчетов.Основной.А10_1_1);
Ответ = Запрос.Выполнить().Выгрузить();
Ответ.Свернуть("Склад, МОЛ, ТМЦКод, ТМЦ", "Количество, Сумма");
КонецПроцедуры

Но таблица возвращается не такая как я ожидал:

Значение элемента - COMОбъект
Тип элемента - COMОбъект
_NewEnum Get - COMОбъект
Owner - COMОбъект
Склад - COMОбъект
МОЛ - COMОбъект
ТМЦКод - "0000000009 "
ТМЦ - COMОбъект
Количество - 50
Сумма - 900

Как от удаленной базы получить полноценную ТЗ? Выборку? или надо там все закинуть в Массив?
Может кто сталкивался с таким...
 

puh14

Well-known member
11.07.2008
1 412
0
#2
У тебя запросом выбираются данные ссылочного типа - (| Субконто1 КАК Склад,
| Субконто2 КАК МОЛ,) и не факт что в той базе, откуда ты подключаешся подобные ссылки вообще существуют. А вот строчки и циферки ( примитивные типы) отлично существуют. Боюсь, что если у тебя не распределенная база, то сослаться на ссылочные данные в своей базе используя ссылку из другой базы нереально. Можно вытащить из удаленной базы например чисто коды и по ним спозиционироваться на нужных тебе данных в своей базе.
 
T

thinkfast

#3
Я пока домой ехал тоже к этому пришол.
Думаю буду выбириать или код или наименование, а потом как нить их крутить...
Спасибо.
 
Статус
Закрыто для дальнейших ответов.