|
v8: Как наложить отбор на временную таблицу | ☑ | ||
---|---|---|---|---|
0
Night_Wolf
20.02.13
✎
10:40
|
Есть запрос:
"ВЫБРАТЬ | ТоварыНаСкладахОстатки.Склад, | ТоварыНаСкладахОстатки.Номенклатура, | ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры, | ТоварыНаСкладахОстатки.СерияНоменклатуры, | ТоварыНаСкладахОстатки.Качество, | ТоварыНаСкладахОстатки.КоличествоОстаток |ПОМЕСТИТЬ Тест |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки |{ГДЕ | ТоварыНаСкладахОстатки.Склад.*, | ТоварыНаСкладахОстатки.Номенклатура.*}" Если его передать в ПостроительОтчета, наложить отборы а потом с помощью метода ПостроителяОтчета "ПолучитьЗапрос()" получить запрос, то все хорошо. В таком запросе: "ВЫБРАТЬ | ТоварыНаСкладахОстатки.Склад, | ТоварыНаСкладахОстатки.Номенклатура, | ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры, | ТоварыНаСкладахОстатки.СерияНоменклатуры, | ТоварыНаСкладахОстатки.Качество, | ТоварыНаСкладахОстатки.КоличествоОстаток |ПОМЕСТИТЬ Тест |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Тест.Склад, | Тест.Номенклатура, | Тест.ХарактеристикаНоменклатуры, | Тест.СерияНоменклатуры, | Тест.Качество, | Тест.КоличествоОстаток |ПОМЕСТИТЬ Данные |ИЗ | Тест КАК Тест |{ГДЕ | Тест.Склад.*, | Тест.Номенклатура.*}" При вызове метода "ПолучитьЗапрос()" у ПостроителяОтчетов текст запроса возвращается пустой, = "". Почему так происходит и можно ли это как-нибудь обойти? Нужно чтобы работал второй запрос. |
|||
1
Maxus43
20.02.13
✎
10:49
|
у построителя запроса так же?
|
|||
2
Maxus43
20.02.13
✎
10:51
|
И зачем получать результирующий текст? выполняй сам построитель и смотри результат
|
|||
3
Night_Wolf
20.02.13
✎
10:55
|
(2) Нужно потом к тексту добавить ещё условия.
|
|||
4
Maxus43
20.02.13
✎
10:59
|
(3) сразу доп отборы на построитель не хватает?
по сабжу - построители видимо неоднозначно работают с ВТ. не встречал сам такого |
|||
5
Night_Wolf
20.02.13
✎
11:12
|
(4) - доп отборы на построитель не хватает. Потому что нужно получить результат запроса во временную таблицу, так как с ним в дальнейшем идет работа через МенеджерВременныхТаблиц и не в одном месте. Т.е. к ней обращаются ещё куча запросов.
|
|||
6
Maxus43
20.02.13
✎
11:14
|
(5) Не юзай построитель, Собирай текст запроса динамически... других вариантов не вижу пока
|
|||
7
GANR
20.02.13
✎
11:16
|
(0) а почему во 2-м варианте он должен быть полным? там одни временные таблицы
|
|||
8
Fragster
гуру
20.02.13
✎
11:16
|
(6) фуфуфу!
|
|||
9
Maxus43
20.02.13
✎
11:17
|
(7) в первом варианте тоже
|
|||
10
Maxus43
20.02.13
✎
11:17
|
(8) давай свой вариант, фуфу)
|
|||
11
Fragster
гуру
20.02.13
✎
11:19
|
(10) сделать последним запросом Выбрать * из Данные, как разумно заметил (7)
|
|||
12
Fragster
гуру
20.02.13
✎
11:20
|
вообще непонятно, чего не хватает в построителе, что нужно "потом добавить еще условия"
|
|||
13
Maxus43
20.02.13
✎
11:54
|
(11) ему надо потом ВТ, а не выборку данных (5). Зачем так надо автору я хз, но построителем не сделать
|
|||
14
Fragster
гуру
20.02.13
✎
12:13
|
(13) ну пусть потом отрезает последний запрос по ";"
|
|||
15
Night_Wolf
20.02.13
✎
13:40
|
Я так и сделал в принципе. Наложил условия на верхний запрос, потом получил запрос из построителя, затем к нему присоединил все оставшиеся запросы. В итоге получил ВТ какую мне надо. Но если бы нужно было в следующих запросах сделать другие отборы с помощью этого же построителя - то уже не получилось бы. В общем всем спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |