Имя: Пароль:
1C
1С v8
Выборка результата запроса к внешней базе
0 Блондинистая Ромашка
 
19.12.12
09:02
Создаю COMобъект, подключаюсь к другой базе и делаю запрос.
Запрос выполняется. Но почему не работает
Выборка=РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
?
выдает ошибку
Несоответствие типов (параметр номер '1')

Сам запрос проверяла через консоль запросов. Всё работает как надо.

вот код
ВнБаза = Новый COMОбъект("V82.Application");
   Открыта = ВнБаза.connect(СокрЛП(ПутьПодключения)+" Usr="+СокрЛП(Пользователь)+"; Pwd="+СокрЛП(Пароль)+";");
   Если Открыта Тогда
       ЗапросКБазе = ВнБаза.NewObject("Запрос");
       
       ЗапросКБазе.Текст = "ВЫБРАТЬ
           |    &амортизация КАК ТоварРодительКод,
           |    ПроводкиОсновногоПланаСчетовОборотыДтКт.СубконтоКт1 КАК ОС,
           |    &амортизация КАК Товар,
           |    ПроводкиОсновногоПланаСчетовОборотыДтКт.КоличествоОборот КАК Количество,
           |    СУММА(ПроводкиОсновногоПланаСчетовОборотыДтКт.СуммаОборот) КАК Сумма,
           |    0 КАК НаименованиеАвансаКод
           |ИЗ
           |    РегистрБухгалтерии.ПроводкиОсновногоПланаСчетов.ОборотыДтКт(&ДатаНач, &ДатаКон, , , , СчетКт.Родитель.код = &Счет02, , ) КАК ПроводкиОсновногоПланаСчетовОборотыДтКт
           |
           |СГРУППИРОВАТЬ ПО
           |    ПроводкиОсновногоПланаСчетовОборотыДтКт.СубконтоКт1,
           |    ПроводкиОсновногоПланаСчетовОборотыДтКт.КоличествоОборот
           |
           |ОБЪЕДИНИТЬ
           |
           |ВЫБРАТЬ
           |    ПриходнаяНакладнаяОсновная.Товар.Родитель.Код,
           |    ПриходнаяНакладнаяОсновная.ОС,
           |    ПриходнаяНакладнаяОсновная.Товар,
           |    СУММА(ПриходнаяНакладнаяОсновная.Количество),
           |    СУММА(ПриходнаяНакладнаяОсновная.Сумма),
           |    0
           |ИЗ
           |    Документ.ПриходнаяНакладная.Основная КАК ПриходнаяНакладнаяОсновная
           |ГДЕ
           |    ПриходнаяНакладнаяОсновная.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
           |    И ПриходнаяНакладнаяОсновная.ОС.Ссылка <> ЗНАЧЕНИЕ(Справочник.ОсновныеСредства.ПустаяСсылка)
           |
           |СГРУППИРОВАТЬ ПО
           |    ПриходнаяНакладнаяОсновная.ОС,
           |    ПриходнаяНакладнаяОсновная.Товар,
           |    ПриходнаяНакладнаяОсновная.Товар.Родитель.Код
           |
           |ОБЪЕДИНИТЬ
           |
           |ВЫБРАТЬ
           |    ПоступлениеТМЦОсновная.Товар.Родитель.Код,
           |    ПоступлениеТМЦОсновная.ОС,
           |    ПоступлениеТМЦОсновная.Товар,
           |    СУММА(ПоступлениеТМЦОсновная.Количество),
           |    СУММА(ПоступлениеТМЦОсновная.Сумма),
           |    0
           |ИЗ
           |    Документ.ПоступлениеТМЦ.Основная КАК ПоступлениеТМЦОсновная
           |ГДЕ
           |    ПоступлениеТМЦОсновная.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
           |    И ПоступлениеТМЦОсновная.ОС.Ссылка <> ЗНАЧЕНИЕ(Справочник.ОсновныеСредства.ПустаяСсылка)
           |
           |СГРУППИРОВАТЬ ПО
           |    ПоступлениеТМЦОсновная.ОС,
           |    ПоступлениеТМЦОсновная.Товар,
           |    ПоступлениеТМЦОсновная.Товар.Родитель.Код
           |
           |ОБЪЕДИНИТЬ
           |
           |ВЫБРАТЬ
           |    0,
           |    АвансовыйОтчетОсновная.ОС,
           |    АвансовыйОтчетОсновная.КомуЗаЧтоОписание,
           |    0,
           |    АвансовыйОтчетОсновная.Сумма,
           |    АвансовыйОтчетОсновная.Ссылка.НаименованиеАванса.Код
           |ИЗ
           |    Документ.АвансовыйОтчет.Основная КАК АвансовыйОтчетОсновная
           |ГДЕ
           |    АвансовыйОтчетОсновная.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
           |    И АвансовыйОтчетОсновная.ОС.Ссылка <> ЗНАЧЕНИЕ(Справочник.ОсновныеСредства.ПустаяСсылка)
           |ИТОГИ
           |    СУММА(Количество),
           |    СУММА(Сумма)
           |ПО
           |    ТоварРодительКод,
           |    ОС";
           
       ЗапросКБазе.УстановитьПараметр("ДатаНач",НачалоДня(ДатаНачала));
       ЗапросКБазе.УстановитьПараметр("ДатаКон",КонецДня(ДатаОкончания));
       ЗапросКБазе.УстановитьПараметр("Счет02","02");
       ЗапросКБазе.УстановитьПараметр("амортизация","амортизация");
       
       РезультатЗапроса = ЗапросКБазе.Выполнить();
       
       Если Не РезультатЗапроса.Пустой() Тогда
           Выборка=РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);    
           Пока Выборка.Следующий() Цикл     //идем по разделам затрат
.....
1 Блондинистая Ромашка
 
19.12.12
09:03
если пишу
Выборка=РезультатЗапроса.Выбрать();
то ошибку не выдает... но мне-то надо по группировкам...
2 Fragster
 
гуру
19.12.12
09:03
ВнБаза.Обход
3 НЕА123
 
19.12.12
09:04
ВнБаза.ОбходРезультатаЗапроса.ПоГруппировкам
4 Блондинистая Ромашка
 
19.12.12
09:04
Спасибо!!!