Можно ли выставить условия в запросе по ресурсам? #210716


#0 by balamut
Вообще понятно-можно. Но интересуют условия в след контексте:Допустип надо посмотреть продажи клиентам в разрезе номенклатуры, причем только по тем клиентам у кого итоговая сумма продаж за период больше указанной величины. Если указать условие: Условие(Сумма>МинСумма), то в запрос попадут только те продажи, которые больше этой суммы, несмотря на то, что по одному клиенту например по всей номенклатуре с маленькой суммой по каждой номенклатуре может набежать в итоге большая сумма. Можно ли разрулить ето как либо в запросе, если не в запросе то как лучше по другому?
#1 by aKomper
Проверять при обходе группировок
#2 by Uho
можно, но лучше -
#3 by balamut
Если проверять при обходе группировок, то итоги по группам будут нете. Будут итоги со всеми суммами, а не только по тем у кого Сумма>МинСумма. Как? Подскажи дорогу.
#4 by aKomper
3 - зависит сие от количества группировок, если их мало - итоги можно пересчитать при обходе. Можешь сделать два запроса, в первом определяешь всю контру, выбираешь тех, у кого продажи соответствуют минимуму и их в условие второго запроса с группировками по ТМЦ, например
#5 by Uho
покажи запрос
#6 by balamut
Да, так можно в конкретной ситуации. Но я хочу, чтобы в универсальном отчете можно было выставлять такое условие. Тока чето пока нету мыслей как ето сделать. Сдается больно геморно будет через два запроса.
#7 by balamut
Запрос универсальный на базе uni_printreg Версия 1.05.
#8 by Woppi
ИМЕЮЩИЕ?
#9 by Uho
ДАЮЩИЕ!
#10 by aKomper
6 - В 7.7 нету инструкции типа HAVING из скуля. Универсально можно через вызов собственной функции в условии, но полагаю, что это будет тормозить жутко в данном случае, если вообще сможет работать. Универсализация не всегда оправдывает себя, ИМХО.
#11 by Uho
в общих чертах
#12 by balamut
Сдается мне - это не то. Может это прокатит при запросе по документам, а при запросе по регистрам не то.
#13 by aKomper
12ТексзЗапроса = ...Группировка КонтрагентУсловие(Контрагент = НащКонтрагент)...Запрос.Выполнить(ТекстЗапроса)------------------Тормоза будут жуткие. База скуль или ДБФ?
#14 by Uho
то то, только гиморно, группировки надо сделать правильно.
#15 by balamut
Да вот сижу и думаю, толи сделать вот так или проверять при обходе группировок. При обходе наверно будет меньше тормозов, но код более геморный. База SQL.
#16 by balamut
было к . Можешь чуток подробнее? Я наверно не улавливаю идею.
#17 by aKomper
15 - сделай прямой запрос тогда в собственной функции в запросе, будет быстро
#18 by Uho
мне - лень... говорю же проще и никакого гимора там нет:
#19 by balamut
Да прямой может будет и быстро. Но хочется прикрутить это условие к универсальному отчету, чтоб можно было использовать в любой конфе, в т ч и дбф.
#20 by aKomper
19 - забей. Потратишь силы и время.
#21 by balamut
тока еще корректировать общие итоги и итоги высшестоящих группировок.А если я их вывожу не снизу а сверху, до обхода нижних группировок, тогда будет гемор.
#22 by balamut
Может и так, но чтото больно уж захотелось:)) Может к выходным или после пыл и спадет, тогда забью:)
#23 by Uho
при обходе группировок итоги можно получать как до обхода, так и после.
#24 by 101
ТЗ и свернуть все нафик :))
#25 by balamut
Я не это имею в виду. Я имею ввиду, что итоги запроса в этом случае будут с учетом всех клиентов, то есть не верные, они будут получены без учета этого условия. Т.е. их надо еще както привести к нужному виду.
#26 by Uho
ну это да - посчитать в дополнительной переменной
#27 by balamut
Да, посчитать в дополнительной переменной, а если выводить итоги сверху, то надо посчитать до обхода нижних группировок, т.е. в общем обходить запрос два раза. Это наверно небольшое замедление, но какоето некрасивое решение задачи.
#28 by Uho
ну майся тогда с может и получится :))
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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