|
v7: Не работает запрос по оле | ☑ | ||
---|---|---|---|---|
0
totparen
22.11.12
✎
10:32
|
Ребята, помогите разобраться, что не так. Пытаюсь сделать выборкку по запросу из одной базы к другой - нет выборки. Выполняю этот же запрос в базе к которой подключаюсь - всё ок.
Процедура Сформировать() Если ПодключитьБазу()=0 Тогда Возврат; КонецЕсли; Если (ПустоеЗначение(НачДата1) = 1)или(ПустоеЗначение(КонДата1) = 1) Тогда Предупреждение("Задайте период продаж во внешней базе!"); Возврат; КонецЕсли; Запрос = БазаОле.CreateObject("Запрос"); ТекстЗапроса = "Период С '" + НачДата1 + "' По '" + КонДата1 + "'; |Товар = Регистр.Продажи.Товар; |КодТовара = Регистр.Продажи.Товар.Код; |Количество = Регистр.Продажи.Количество; |Функция Остаток = Сумма (Количество); |Группировка Товар;"; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Предупреждение ("Ошибка в запросе к внешней базе!"); Возврат; КонецЕсли; Пока Запрос.Группировка(1) = 1 Цикл Сообщить(Запрос.КодТовара); КонецЦикла; КонецПроцедуры |
|||
1
Ёпрст
22.11.12
✎
10:36
|
в группировку то хоть заходит ?
|
|||
2
totparen
22.11.12
✎
10:41
|
(1) в смысле "заходит"?
При коде: Пока Запрос.Группировка(1) = 1 Цикл Сообщить("Код товара: " + Запрос.КодТовара); КонецЦикла; Нет никаких сообщений. |
|||
3
Ёпрст
22.11.12
✎
10:43
|
Ёпта..
Пока Запрос.Группировка(1) = 1 Цикл Сообщить("Код товара: " + Запрос.Товар.Наименование); КонецЦикла; унутрь цикла точку останова поставь, или проверочное сообщение. |
|||
4
Ёпрст
22.11.12
✎
10:44
|
Ежели товар в регистре - неопределенного вида, то код его в запросе никогда ничего не вернёт, как там у тебя - хз.
|
|||
5
totparen
22.11.12
✎
10:47
|
(3) Дак явно не заходит в группировку, так как текст "Код товара:" не выводится на экран. Но на всяки случай проверил отладчиком...
(4) Товар в регистре опреределнный тип (Справочники.Товары) |
|||
6
Масянька
22.11.12
✎
10:50
|
Извините, что вмешиваюсь, а ПодключитьБазу чему равно-то? Нет явной обработки неудачи подключения - может она (база) и не подключилась?
|
|||
7
Ёпрст
22.11.12
✎
10:55
|
+ чему равны НачДата и конДата ?
|
|||
8
totparen
22.11.12
✎
19:53
|
К сожалению, в самый "нужный" час слетел интернет на работе.
(6) Там всё в порядке. Код не приведу, но по смыслу 1- всё ок, 0 - не всё ок. Объявлена глобальная переменнная "БазаОле" через неё и создаётся запрос. Процедура работает без ошибок (синтаксических). (7) НачДата и КонДата = реквизиты периода на форме, там всё в порядке. Я текст запроса выводил через "Сообщить" и запускал его в подключаемой базе руками. Всё отрабатывалось. Не может быть ошибки из за платформы? Она 25-я. |
|||
9
Злопчинский
22.11.12
✎
20:13
|
(8) сначал запусти олешную базу обычным образом, и добейся чтобы тыой запрос выводил результат... ;-)
|
|||
10
Злопчинский
22.11.12
✎
20:14
|
Сумма(Количество) - регистр оборотный..?
|
|||
11
totparen
22.11.12
✎
22:14
|
(9) Запрос результат выводит. Я об этом писал неоднократно.
|
|||
12
Ёпрст
23.11.12
✎
09:14
|
чудес не бывает.
Либо регистр не оборотный, либо Товар-неопределенного вида в измерении, либо за выбранный период ничего нет, либо еще что |
|||
13
Масянька
23.11.12
✎
09:32
|
(11) Ты сам писал, что "Пытаюсь сделать выборкку по запросу из одной базы к другой - нет выборки. Выполняю этот же запрос в базе к которой подключаюсь - всё ок." Логично подумать, что если в БД запрос работает, а при подключении к этой БД - нет, то что-то происходит при подключении? Попробуй, вставь проверку:
Если ПодключитьБазу()=0 Тогда Сообщить("Не срослось."); Возврат; КонецЕсли; И еще вопрос: 7.7 как установлена - как положено (Setup) или по-другому? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |