Имя: Пароль:
1C
1С v8
Поместить данные во временную таблицу по COM-соединению
0 hawksib
 
26.08.16
11:58
создал и заполнил примитивным типом (дата) таблицу по COM, хочу поместить её во временную таблицу, вываливается ошибка: тип не может быть выбран в запросе, код:

                ЗапросМВТ = мСоединение.NewObject("Запрос");
                ЗапросМВТ.МенеджерВременныхТаблиц = мСоединение.NewObject("МенеджерВременныхТаблиц");
                ТаблицаИнтервалов = мСоединение.NewObject("ТаблицаЗначений");
                МассивТипов = мСоединение.NewObject("Массив");
                МассивТипов.Добавить(Тип("Дата"));
                ТаблицаИнтервалов.Колонки.Добавить("Интервал", мСоединение.NewObject("ОписаниеТипов", МассивТипов));
                Для Каждого Интервал Из Интервалы Цикл
                    ТаблицаИнтервалов.Добавить().Интервал = Интервал.Начало;
                КонецЦикла;
                ЗапросМВТ.УстановитьПараметр("ИнтервалыТабл", ТаблицаИнтервалов);
                ЗапросМВТ.Текст = "ВЫБРАТЬ
                                  |    Интервалы.Интервал
                                  |ПОМЕСТИТЬ Интервалы
                                  |ИЗ
                                  |    &ИнтервалыТабл КАК Интервалы";
                ЗапросМВТ.Выполнить();

ошибка на последней строчке, я так понимаю возникает из-за того, что ТаблицаИнтервалов - это COM-объект, а сом объект нельзя использовать как параметр, т.е. написать запрос с временными таблицами по COM-соединению не получится, или есть какие-нибудь другие способы обхода проблемы?
1 Mauser
 
26.08.16
12:01
ТаблицаИнтервалов.Колонки.Добавить("Интервал", мСоединение.NewObject("ОписаниеТипов", "Дата"));
2 Asmody
 
26.08.16
12:02
сделать метод в базе-источнике и дергать только за "одну веревочку" не предлагать?
3 hawksib
 
26.08.16
16:45
не, источник править нельзя
4 youalex
 
26.08.16
17:16
(3) сделать внешник в источнике, и дергать его экспортный метод (>8.1)
5 Deon
 
26.08.16
17:21
(3) А что за ошибка-то?  Переопределение Типа из (1) не помогло?
6 hitodom
 
26.08.16
17:25
а тип то не комовский передается
7 hhhh
 
26.08.16
17:26
МассивТипов.Добавить(мСоединение.Тип("Дата"));