|
многовариантный запрос | ☑ | ||
---|---|---|---|---|
0
Дебет
15.01.16
✎
06:13
|
подскажите что делаю не так?
запрос.Текст= "ВЫБРАТЬ | ПлатежноеПоручение.Ссылка, | ПлатежноеПоручение.Дата, | ПлатежноеПоручение.ДатаОплаты |ИЗ | Документ.ПлатежноеПоручение КАК ПлатежноеПоручение |ГДЕ" + Если Флажок2 Тогда + " |ПлатежноеПоручение.ДатаОплаты МЕЖДУ &Дата И &Дата2"; Иначе + "|ПлатежноеПоручение.Дата МЕЖДУ &Дата И &Дата2 | И ПлатежноеПоручение.ДатаОплаты <> &ПустаяДата"; КонецЕсли; |
|||
1
Godofsin
15.01.16
✎
06:14
|
))))))
|
|||
2
Godofsin
15.01.16
✎
06:15
|
Условие вынеси из текста )))))
|
|||
3
Дебет
15.01.16
✎
06:15
|
(2) запрос меняться должен в зависимости от условия
|
|||
4
Godofsin
15.01.16
✎
06:17
|
(3) =)
ТекстЗапроса= "ВЫБРАТЬ | ПлатежноеПоручение.Ссылка, | ПлатежноеПоручение.Дата, | ПлатежноеПоручение.ДатаОплаты |ИЗ | Документ.ПлатежноеПоручение КАК ПлатежноеПоручение |ГДЕ"; Если Флажок2 Тогда ТекстЗапроса = ТекстЗапроса + " |ПлатежноеПоручение.ДатаОплаты МЕЖДУ &Дата И &Дата2"; ТекстЗапроса = ТекстЗапроса + "|ПлатежноеПоручение.Дата МЕЖДУ &Дата И &Дата2 | И ПлатежноеПоручение.ДатаОплаты <> &ПустаяДата"; КонецЕсли; Запрос.Текст = ТекстЗапроса; |
|||
5
Godofsin
15.01.16
✎
06:17
|
(4) Иначе забыл после ТекстЗапроса = ТекстЗапроса + " |ПлатежноеПоручение.ДатаОплаты МЕЖДУ &Дата И &Дата2";
|
|||
6
Godofsin
15.01.16
✎
06:18
|
и все даже проще
|
|||
7
Godofsin
15.01.16
✎
06:19
|
ТекстЗапроса= "ВЫБРАТЬ
| ПлатежноеПоручение.Ссылка, | ПлатежноеПоручение.Дата, | ПлатежноеПоручение.ДатаОплаты |ИЗ | Документ.ПлатежноеПоручение КАК ПлатежноеПоручение |ГДЕ |ПлатежноеПоручение.ДатаОплаты МЕЖДУ &Дата И &Дата2"; Если НЕ Флажок2 Тогда ТекстЗапроса = ТекстЗапроса + "| И ПлатежноеПоручение.ДатаОплаты <> &ПустаяДата"; КонецЕсли; Запрос.Текст = ТекстЗапроса; |
|||
8
Дебет
15.01.16
✎
06:22
|
(7) спасибо
|
|||
9
VladZ
15.01.16
✎
06:22
|
(7) См. первоначальный запрос. Там в зависимости от значение реквизита Флажок2 условие либо по реквизиту "ДатаОплаты", либо по "Дата".
|
|||
10
Godofsin
15.01.16
✎
06:24
|
(9) Точно. Тогда (4)
|
|||
11
Sammo
15.01.16
✎
07:00
|
Либо вместо
Если флажок2 использовать ?(флажок2 ,,) Теоретически можно было бы внести сам флажок в запрос и в зависимости от него рулить условиями, но в данном случае не стоит, имхо. |
|||
12
Web00001
15.01.16
✎
07:04
|
Два варианта
1. в тексте запроса: "<<ЗдесьДолжноБытьУсловие>>" а потом стрЗаменить на нужное. 2. Если 8.3 можно использовать объектную модель запроса |
|||
13
VladZ
15.01.16
✎
08:02
|
(12) Вариант 1 отлаживать неудобно. Я обычно использую
"ВЫБРАТЬ | ПлатежноеПоручение.Ссылка, | ПлатежноеПоручение.Дата, | ПлатежноеПоручение.ДатаОплаты |ИЗ | Документ.ПлатежноеПоручение КАК ПлатежноеПоручение |ГДЕ 1 = 1"; Потом уже через стрЗаменить меняю на то, что должно быть. В принципе, для небольших запросов и твой вариант пойдет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |