Имя: Пароль:
1C
 
Запрос к внешней базе
0 Knowledge
 
17.09.17
19:02
Получаю соединение с внешней базой через через com объект:
УТОбъект    = Новый COMObject("V82.COMConnector");
УТ = УТОбъект.Connect("Srvr= …;Ref=…;Usr=…;Pwd=…);
Затем Делаю запрос     Мзапрос = УТ.NewObject("Запрос");
В запрос хочу передать таблицу значений , в которой колонки с типом «Строка» и «дата», чтобы е соедить с виртульной таблицей внешней базы.
Мне нужно в параметры запроса передать ТЗ с типизированными колонками, делаю так
ТЗ = Ут.NewObject("ТаблицаЗначений");
ТЗ.Колонки.Добавить("ИмяКолонки ", тут должно стоять описание типов);    
Мзапрос.УстановитьПараметр("ТЗ",ТЗ);
Как задать тип колонки во внешней базе?
1 mexanik_96
 
17.09.17
19:12
чтобы е соедить с виртульной таблицей внешней базы. менеджер вт, не?
2 Knowledge
 
17.09.17
19:20
Да дело даже не в соденнении, я просто пояснил мою цель.
Как выполнить простейший запрос
        Мзапрос.Текст =
        "ВЫБРАТЬ
        |    ТЗ.НомерСтарый КАК Номер
        |ПОМЕСТИТЬ Вт_Сборки
        |ИЗ
        |    &ТЗ КАК ТЗ
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    Вт_Сборки.Номер
        |ИЗ
        |    Вт_Сборки КАК Вт_Сборки";


        Мзапрос.УстановитьПараметр("ТЗ",ТЗ);
        РезультатЗапроса = Мзапрос.Выполнить();

где Тз должна быть типизирована, как это сделать для внешнего запроса?
3 mexanik_96
 
17.09.17
19:23
менеджер временных таблиц передай
4 Knowledge
 
17.09.17
19:26
(3) Не понял это один запрос, причем тут менеджер временных таблиц
5 h-sp
 
17.09.17
19:27
(2) ТЗ.Колонки.Добавить("ИмяКолонки ", УТ.ОбщегоНазначения.ОписаниеТиповСтрока(50));

что-то типа этого.
6 Knowledge
 
17.09.17
19:36
Внешняя база нетиповая
7 h-sp
 
17.09.17
19:40
(6) какая разница.
8 Knowledge
 
17.09.17
19:46
Такого общего модуля в Ут нет. Ут - нетиповая конф. (совсем не "управление торговлей")
9 h-sp
 
17.09.17
20:04
(8) ну скопируй эту функцию, там 5 строчек.

а так-то да надо писать типа
УТ.NewObjest("ОписаниеТипов", УТ.NewObject("КвалификаторыСтроки"   ну и т.д.
10 mexanik_96
 
17.09.17
20:05
при том что он доступен во внешнем соединении(не про запрос про ком объект), выполняешь запрос с тз в одной базе передаешь менеджер в другую, понятна идея? там выполняешь запрос по тз из первой. вот к чему
11 Филиал-msk
 
17.09.17
21:32
(10) > выполняешь запрос с тз в одной базе передаешь менеджер в другую

Ух, как далеко наука вперед шагнула!
12 Fram
 
18.09.17
04:51
(10) данунах?!