Построитель отчета - вложенные запросы #419124


#0 by Patrio_O_Muerte
Поясните мне, если не трудно, вот такую вещь - если у меня формируется отчет при помощи построителя с несколькими запросами (вложенными и связанными), то я так понимаю, если я накладываю отбор на этот отчет, то этот отбор действует только на ту таблицу из которой взято это поле для построителя отчетов? А для остальных таблиц отбор выполняется в момент связи?
#1 by Defender aka LINN
Это смотря как отбор наложить
#2 by Patrio_O_Muerte
Хорошо, тогда как надо наложить отбор, чтобы условие действовало на все подзапросы основого запроса, именно в момент выполнения запроса, причем как параметры виртуальной таблицы (конечно, в случае, если я обращаюсь к виртуальной таблице), а не в момент связи. Уж больно у меня таблицы вспомогательные большие.
#3 by fisher
Ну, оптимизатор запросов сервера БД может и сам догадаться учесть внешнее условие максимально эффективно. Но лучше, если это возможно, продублировать отбор во вложенных запросах.
#4 by Patrio_O_Muerte
Я наверное не совсем понятно выразился. Есть у меня регистр (основной) Ассортиментные матрицы, и есть второстепенный регистр - Цены поставщиков. Я создаю отчет, при помощи конструктора, в котором в тексте запроса указываю, которая таблица основная, а которая подчиненная (связи). И все поля в "отборы", в "Выбранные поля", и еще бог знает куда у меня попадают именно из регистра "Ассортиментная матрица" и когда я формирую отчет в режиме пользователя с некоторыми установленными отборами, этот отчет выполняет запрос по регистру "Ассортиментная матрица" с уже установленными отборами, а вот по регистру "Цены поставщиков" как будто выполняет запрос по всей таблице, а отбор накладывает в момент связи. Так вот я хочу добиться, чтобы он сразу накладывал отбор в момент выполнения запроса к второстепенному регистру.
#5 by RealSaint
Я может чего-то не понял, но что мешает наложить отбор и на вторую таблицу?
#6 by Patrio_O_Muerte
Когда мы формируем какой-нить отчет в режиме пользователя, заранее неизвестно какой именно отбор и настройки будет выбирать пользователь. Построитель отчета призван решить проблему создания универсальных отчетов, в которых пользователь может выбирать фильтры, поля и т.д по своему усмотрению.
#7 by Mitriy
это типа лекция?
#8 by Джордж1
Можно пример? Особенно в левом сеодинении виртуальная таблица
#9 by Джордж1
(+8)Особенно ЕСЛИ в левом сеодинении виртуальная таблица
#10 by Patrio_O_Muerte
Пардон виртуальная таблица регистра (СрезПоследних), а не виртуальная таблица.
#11 by Patrio_O_Muerte
Это я типа поясняю почему нельзя сразу наложить условие на все таблицы.
#12 by RealSaint
С виртуальными не думал, но пример вроде такой (если я правильно понял тему):
#13 by Patrio_O_Muerte
Я думаю ты правильно понял. Правда, думаю, что &Период, добавлять не надо - он автоматом должен появится в полях запроса. Спасибо, попробую.
#14 by Пеппи
+
#15 by Mitriy
а я типа все равно не понял, как перечисленное мешает наложить условия ))
#16 by Patrio_O_Muerte
Не получается - уже при открытии ругается, у меня правда несколько условий. Пишу {(СтруктурнаяЕдиница) и (Номенклатура)} после этого не открывает конструктор запроса и ругается при открытии самого отчета в режиме предприятия. Расскажи твой вариант наложения условий на таблицы. При помощи & или еще как?
#17 by RealSaint
Ну так ты в конструкторе запроса их накладывай. А для нескольких отборов писать нужно
#18 by Patrio_O_Muerte
Спасибо нашел. Только вот вопрос. Эти условия они корректно отработают тип сравнения? То есть если пользователь выберет равно или в списке?
#19 by RealSaint
Отработают корректно.
#20 by Patrio_O_Muerte
Спасибо за помощь, все получилось. Можно, конечно, еще напильником отчетик обработать, но это уже потом...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С