Необходимо вытащить из COM объекта таблицу значений

1. mentozavr 68 14.03.13 11:17 Сейчас в теме
Уважаемые! Как можно вытащить из COM объекта (ТаблицаРезультата) таблицу значений (ТаблицаВыбора) (К примеру!)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Vovus 3 14.03.13 11:39 Сейчас в теме
Сделать запрос и записать в массив значений!
3. mentozavr 68 14.03.13 11:42 Сейчас в теме
(2) Vovus, запрос у меня проходит. все уходит в таблицуРезультата, а она ком-объект. Как из нее вытащить таблицу значений непойму. Как-то перебором но что-то ничего не выходит
6. mentozavr 68 14.03.13 13:21 Сейчас в теме
(4) Diose, Спасибо посмотрел, но я честно говоря первый раз связался с ком-объектом и не понимаю как делать. мне надо из ком-объекта вытащить только наименование может подскажете.
9. PhoenixAOD 62 19.03.14 07:01 Сейчас в теме
(6) mentozavr, может это поможет:
Соеденитель = Новый COMobject("V81.COMConnector");

 Соединение = Соеденитель.Connect("Srvr=poligon:1641;Ref=test;Usr=12345;Pwd=12345");
 	
  Запрос   =  Соединение.NewObject("Запрос");
  Запрос.УстановитьПараметр("ПометкаУдаления", Истина);
  Запрос.УстановитьПараметр("ЭтоГруппа", Истина);
  
  Запрос.Текст =    " ВЫБРАТЬ 
	|Номенклатура.Ссылка Как Ссылка,
	|Номенклатура.Наименование как наименованиеРарус,
	|Номенклатура.Код как КодРарус,
	|Номенклатура.Артикул как Артикул,
	|Номенклатура.НаименованиеПолное как НаименованиеПолное,
	|Номенклатура.БазоваяЕдиницаИзмерения как ЕдИзмерения,
	|Номенклатура.СтранаПроисхождения как Производитель,
	|Номенклатура.ЭтоГруппа,
	|Номенклатура.ПометкаУдаления,
	|Номенклатура.СтавкаНДС как СтавкаНДС
    |ИЗ
	|Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|Номенклатура.ПометкаУдаления <> &ПометкаУдаления
	|И Номенклатура.ЭтоГруппа <> &ЭтоГруппа";
    
	Результат   =  Запрос.Выполнить();
    Выборка     =  Результат.Выбрать();
  
   Пока Выборка.Следующий() Цикл
	 
	   Стр = ИзРарус.Добавить();            
	   стр.КодРарус = Выборка.КодРарус;
	   стр.НоменклатураРарус = Выборка.НаименованиеРарус;
	   стр.НаименованиеПолное =    Выборка.НаименованиеПолное;
	   Стр.Артикул = Выборка.Артикул;
	   стр.ГуидРарус = Соединение.String(выборка.ссылка.УникальныйИдентификатор());
	   стр.ЕдИзмерения = Выборка.ЕдИзмерения.Наименование;
	   стр.Производитель = Выборка.Производитель.Наименование;
	   Стр.СтавкаНДС = Выборка.СтавкаНДС.Наименование;
	   
   КонецЦикла;
   
  Соединение = Неопределено;
Показать
14. tvm 19.09.18 12:28 Сейчас в теме
(6) Если нужно только наименование то и в запросе лишние поля не выбирайте
7. chmv 14.03.13 13:58 Сейчас в теме
Точно также . Запрос- выгрузить в таблицу - таблица уже на нашей стороне
8. saksaul 19.03.14 06:27 Сейчас в теме
Когда запросом выбираешь из внешней базы и потом выгружаешь в таблицу значений, то таблица значений тоже будет com-объект :(
10. saksaul 19.03.14 07:51 Сейчас в теме
Вот как это решается - вытаскиваем Таблицу значений из обертки Com-объета
СтрокаРезультат = ВнешняяБД.ValueToStringInternal(Запрос.Выполнить().Выгрузить());
ТабВнешняя = ЗначениеИзСтрокиВнутр(СтрокаРезультат);
Rans; stepan-kenshin; MrEvilSkotch; Nikola_N; user1447578; Prad2002; yaroslav.artem; elena_veza; pstrig; Любоч; PetrovskiyComp; Barmolei; dsident; mikl79; Rus1k; user1147184; RIS2020; CnupT; Andrei_Ivanov; yuvd; user640247; 1Cynep4eJIoBek; Zhilyakovdr; plotnikov1c; Enyel; Ermigen; Euroset1; stepan_boroda; Grivba; redtram; MihailP; stragner2; wau8824ru; bimy22; Кадош; 1c-kt; XSATANA; shard; ark.zv; vatkir; chanzer; svilsa; Misanets; Batman; jills2001; demkonst; Tolpinski; +47 Ответить
11. olbu 19.03.14 09:25 Сейчас в теме
(10) saksaul, Интересно, а в этом случае в ТабВнешняя, если там у колонки будет ссылочный тип, что мы получим?
12. m-serg74 46 19.03.14 12:23 Сейчас в теме
(11) olbu, ессно ничего путевого, зачем тянуть ссылку?
16. ilyam23 16 01.04.19 18:11 Сейчас в теме
(10) saksaul - СПАСИБО! Помогло!
17. bimy22 01.04.19 20:42 Сейчас в теме
(10)За решение большой плюс автору!

Будем завтра пробовать, отпишусь по итогу!
18. user640247 02.11.20 14:35 Сейчас в теме
(10) Спасибо, очень помогли.
19. user640247 03.04.21 20:52 Сейчас в теме
(10)
СтрокаРезультат = ВнешняяБД.ValueToStringInternal(Запрос.Выполнить().Выгрузить());
ТабВнешняя = ЗначениеИзСтрокиВнутр(СтрокаРезультат);



Спасибо большое!!!
20. user1147184 13.09.21 11:27 Сейчас в теме
(10)
ValueToStringInternal(Запрос.Выполнить().Выгрузить());
Спасибо!!!
21. pstrig 23.08.22 08:07 Сейчас в теме
(10)
Спасибо! Очень помогли!
Перебирать таблицу построчно - такое себе!
13. tvm 19.09.18 12:26 Сейчас в теме
Выборка.НаименованиеРарус- уже должно возвращать строку. Сделайте
Результат   =  Запрос.Выполнить().Выгрузить();

и в отладчике посомтрите
15. tvm 19.09.18 12:29 Сейчас в теме
ох я некромант ))) как наткнулся то не понятно
корум; Drivingblind; dbachinsky; +3 Ответить
22. MrEvilSkotch 27.09.23 15:34 Сейчас в теме
Отличное решение. Правда потом не получается эту таблицу значений в запрос поместить. В одном случае получилось, в другом нет. Хотя в обоих случаях типы колонок не инициализированы.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот