|
Подскажите с запросом, как добавлять условия красиво?
| ☑ |
0
Double_Medved
29.06.16
✎
14:34
|
Добрый день!
Трудно описать ситуацию в заголовке, вот я делаю отчет. Выбираю я например документы за период, и есть у меня на форме отчета реквизит склад. Если он не заполнен - я выбираю все документы вне зависимости от склада, если заполнен - делаю отбор по складу. Как избежать вот такой уродской конструкции:
СтрокаСклад = ?(ЗначениеЗаполнено(Склад),"И ОтчетОРозничныхПродажах.Склад = &Склад","");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОтчетОРозничныхПродажах.Ссылка.Склад,
| ОтчетОРозничныхПродажах.Ссылка,
| ОтчетОРозничныхПродажах.Дата
|ИЗ
| Документ.ОтчетОРозничныхПродажах КАК ОтчетОРозничныхПродажах
|ГДЕ
| ОтчетОРозничныхПродажах.Дата МЕЖДУ &ДатаНачало И &ДатаКонец
|"+ СтрокаСклад + "
|
|СГРУППИРОВАТЬ ПО
| ОтчетОРозничныхПродажах.Ссылка,
| ОтчетОРозничныхПродажах.Дата
Я говорю конечно про СтрокаСклад = ?(ЗначениеЗаполнено(Склад),"И ОтчетОРозничныхПродажах.Склад = &Склад","");
И
|"+ СтрокаСклад + "
При таких вставках потом не заходит в конструктор и т.д. Можно это как-то решить через Запрос.УстановитьПараметр? Просто если склад пустой - то параметр будет пустой и выберутся не все склады, а ничего. Ну ведь есть какое-то красивое решение?
|
|
1
Numerus Mikhail
29.06.16
✎
14:35
|
ВЫБОР КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ОтчетОРозничныхПродажах.Склад = &Склад КОНЕЦ
|
|
2
Зая Бусечка
29.06.16
✎
14:36
|
Для этого придуманы построитель и скд
|
|
3
sash-ml
29.06.16
✎
14:38
|
&Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) или ОтчетОРозничныхПродажах.Склад = &Склад
|
|
4
В тылу врага
29.06.16
✎
14:49
|
|ГДЕ
| ОтчетОРозничныхПродажах.Дата МЕЖДУ &ДатаНачало И &ДатаКонец
|И &УсловиеСклад
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"&УсловиеСклад",?(ЗначениеЗаполнено(Склад),"ОтчетОРозничныхПродажах.Склад = &Склад","ИСТИНА"));
|
|
5
Double_Medved
29.06.16
✎
14:49
|
(1)О, збс, получилось! Спасибо
|
|
6
viktor_vv
29.06.16
✎
15:28
|
И еще вариант
И (ОтчетОРозничныхПродажах.Склад = &Склад или &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка))
|
|
7
viktor_vv
29.06.16
✎
15:28
|
(6)+ Тормоз, в (3) уже есть это .
|
|