СКД и виртуальные таблицы. как работает отбор? #499936


#0 by Нуф-Нуф
как работать с отбором в СКД и виртуальных таблицах? допустим регистр ТоварыНаСкладах. я могу в скд засунуть запрос такого вида. ВЫБРАТЬ    ТоварыНаСкладахОстатки.Склад,    ТоварыНаСкладахОстатки.Номенклатура,    ТоварыНаСкладахОстатки.КоличествоОстаток ИЗ    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки и уже в отборах наложить фильтр на номенклатуру и склад. но как этот отбор сработает? так же как ГДЕ? т.е. сначала рассчитает полную виртуальную таблицу а потом наложит отбор? ведь по правильному указывать параметры отбора в параметрах виртуальной таблицы    ТоварыНаСкладахОстатки.КоличествоОстаток но в этом случае я теряю гибкость СКД, прописываю параметры напрямую в запросе... как правильно?
#1 by also
Правильно делать так, как стоит задача
#2 by also
Если у тебя отчет формируется по выбранной номенклатуре, и это будет параметром, то пишешь в параметрах виртуальной таблицы... А если тебе нужно по всей ном-ре, но может быть отбор, то как в первом варианте
#3 by also
А еще можно программно перед формированием отчета читать отбор, и подсовывать ном-ру в параметры вирт таблицы
#4 by Нуф-Нуф
хочу типа стандартного отчета по остаткам. с фильтром по складу и по номенклатуре, а можно и без фильтров. если я укажу параметры в параметрах запроса - тогда будет быстрее и оптимальнее. но тогда мне придется всегда указывать эти параметры, и я не смогу вывести скд без отбора. если я буду использовать отбор скд - тогда я смогу включать и выключать фильтр по параметрам, но тогда запрос и время выполнения будут не оптимальными. расчет виртуальной таблицы на базе с большой номенклатурой - довольно ресурсоемкое занятие
#5 by also
тогда см
#6 by Defender aka LINN
"если я буду использовать отбор скд - тогда я смогу включать и выключать фильтр по параметрам, но тогда запрос и время выполнения будут не оптимальными." - не болтайте ерундой.
#7 by dnab
СКД изменяет исходный запрос и вставляет в него параметры когда это нужно. Так что пиши как в первом варианте
#8 by Нуф-Нуф
если мне нужен остаток по одной номенклатуре по одному складу, то первый запрос (при условии что отбор СКД отработает как ГДЕ) сначала рассчитает остатки по всей номенклатуре и всем складам. а это не правильно а где это написано? ни разу про это не слышал.
#9 by Нуф-Нуф
ап.
#10 by Нуф-Нуф
блин тема то вроде избитая должна быть...
#11 by dnab
в книжках написано
#12 by IronDemon
ВЫБРАТЬ
#13 by Нуф-Нуф
афигеть. это что такое? где про такое прочитать? кстати спасибо за ресурс. взял оттуда много полезных вещей :)
#14 by Fragster
Ошибка получения информации набора данных по причине: Ошибка в запросе набора данных по причине: {(6, 91)}: Ожидается имя
#15 by IronDemon
#16 by IronDemon
Хм, не все скопировал?
#17 by Fragster
и правда %)
#18 by Defender aka LINN
"если мне нужен остаток по одной номенклатуре по одному складу, то первый запрос (при условии что отбор СКД отработает как ГДЕ) сначала рассчитает остатки по всей номенклатуре и всем складам" - еще раз говорю: не болтай ерундой.
#19 by Нуф-Нуф
ну так ты объясни нормально в каком месте я ошибаюсь. из "не болтай ерундой" -  можно только сделать вывод что по твоему я где-то ошибаюсь. а в чем именно и где конкретно?
#20 by Defender aka LINN
Ну, для начала тебе стоит почитать про {} и понять, как работает механизм автозаполнения. Еще можешь скачать консоль отчетов с инфостарта, и посмотреть результирующий запрос.
#21 by lxndr
СКД сама расставит установленные отборы в запрос наиболее оптимально, так что делай как в первый вариант в
#22 by Fragster
спасибо!
#23 by IronDemon
Нема за що
#24 by Нуф-Нуф
спасибо! скачал буду смотреть :) а что тебе мешало ответить хотя бы так как в я со своей стороны довольно уважительно отнесся к помощи, написал вопрос и свои предположения. я бывает тоже отвечаю, так как ты, но делаю это в основном на вопросы "У меня не работает!!!"
#25 by Нуф-Нуф
прикольная консолька :) и ведь на самом деле скд пихает параметры верно :)
#26 by Нуф-Нуф
не увидел в этой консоле {} где про это можно глянуть?
#27 by Fragster
с помоью них ты кагбэ намекаешь, куда параметры ставить
#28 by Defender aka LINN
Убери в схеме галку "Автозаполнение" и в конструкторе заполни страницу "Компоновка"
#29 by Нуф-Нуф
спс. сейчас гляну
#30 by Fragster
напеример при ВЫБРАТЬ ИЗ    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки {ГДЕ    ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
#31 by Нуф-Нуф
а зачем дополнительное условие ГДЕ?
#32 by IronDemon
Автозаполнение выключено
#33 by Нуф-Нуф
большое спасибо всем за помощь :) сегодня поднялся на еще одну ступень :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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