ОБСУЖДЕНИЕ

Как создать запрос через ОЛЕ соединение

4 ответов 5,9 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Статус
Закрыто для дальнейших ответов.
Автор темы
Привет всем, подскажите пож почему не работает запрос из 1с 8.1:
Код:
//глПодключение77 - соединение базу 77 через оле
БухИтоги = глПодключение77.CreateObject("БухгалтерскиеИтоги");
БухИтоги.Запрос(ЭлементыФормы.НачПериода, ЭлементыФормы.КонПериода);
БухИтоги.ВыбратьСчета();
Пока БухИтоги.ПолучитьСчет() = 1 Цикл
БухИтоги.ДО();
ЭлементыФормы.ПолеТекстовогоДокумента1.ДобавитьСтроку(БухИтоги.ДО());
КонецЦикла;
Выводит ошибку:
Метод объекта не обнаружен (Запрос)
БухИтоги.Запрос(ЭлементыФормы.НачПериода, ЭлементыФормы.КонПериода);
Пробовал через ВыполнитьЗапрос - то же самое. В чем может быть причина?
 
Так вроде нормально всё. Единственно сомнения наводят ЭлементыФормы.НачПериод. Можно явно представить переменую попробовать.
 
таки можно поглядеть в толадчике какие значения в переменных - БухИтоги (действительно ли создался объект нужного типа), ЭлементыФормы.НачПериода, ЭлементыФормы.КонПериода
 
Выводит ошибку:
Метод объекта не обнаружен (Запрос)
Во-первых, использовать надо
ВыполнитьЗапрос(<НачалоПериода>, <КонецПериода>, <ФильтрПоСчетам>, <ФильтрПоКоррСчет>, <Валюта>, <ТипИтогов>, <Периодичность>, <ТипСуммы>)
БухИтоги.Запрос(ЭлементыФормы.НачПериода, ЭлементыФормы.КонПериода);
Во-вторых, в 8.x Дата имеет формат '01.01.2001 00:00:00', а 7.7 Дата '01.01.01', используйте функцию Формат().
 
Во-первых, использовать надо
ВыполнитьЗапрос(<НачалоПериода>, <КонецПериода>, <ФильтрПоСчетам>, <ФильтрПоКоррСчет>, <Валюта>, <ТипИтогов>, <Периодичность>, <ТипСуммы>)

Во-вторых, в 8.x Дата имеет формат '01.01.2001 00:00:00', а 7.7 Дата '01.01.01', используйте функцию Формат().

Точно, не работал из-за формата даты,
Попробовал в следующем виде и запрос выполнился:

БухИтоги = глПодключение77.CreateObject("БухгалтерскиеИтоги");
БухИтоги.ВыполнитьЗапрос("01.10.09","31.10.09");
БухИтоги.ВыбратьСчета();
Пока БухИтоги.ПолучитьСчет() = 1 Цикл
БухИтоги.ДО();
ЭлементыФормы.ПолеТекстовогоДокумента1.ДобавитьСтроку(БухИтоги.ДО());
КонецЦикла;

Спасибо, за подсказку!
 
Статус
Закрыто для дальнейших ответов.