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

1. mentozavr 67 14.03.13 11:17 Сейчас в теме
Уважаемые! Как можно вытащить из COM объекта (ТаблицаРезультата) таблицу значений (ТаблицаВыбора) (К примеру!)
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Vovus 3 14.03.13 11:39 Сейчас в теме
Сделать запрос и записать в массив значений!
3. mentozavr 67 14.03.13 11:42 Сейчас в теме
(2) Vovus, запрос у меня проходит. все уходит в таблицуРезультата, а она ком-объект. Как из нее вытащить таблицу значений непойму. Как-то перебором но что-то ничего не выходит
6. mentozavr 67 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(Запрос.Выполнить().Выгрузить());
ТабВнешняя = ЗначениеИзСтрокиВнутр(СтрокаРезультат);
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; +46 Ответить
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 Сейчас в теме
Отличное решение. Правда потом не получается эту таблицу значений в запрос поместить. В одном случае получилось, в другом нет. Хотя в обоих случаях типы колонок не инициализированы.
Оставьте свое сообщение
Вакансии
Программист
Санкт-Петербург
зарплата от 180 000 руб. до 240 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата от 130 000 руб. до 170 000 руб.
Полный день

Программист 1C
Санкт-Петербург
зарплата от 140 000 руб. до 200 000 руб.
Полный день