|
Условия в запросе: получение всех записей, если параметр пустой. | ☑ | ||
---|---|---|---|---|
0
Лентаf
19.02.16
✎
13:36
|
добрый день.
для примера привожу запрос: Контрагент - список значений со значениями контрагентов. ТекстЗапроса="ВЫБРАТЬ | ОтгрузкиОплаты.Период КАК Период, | ОтгрузкиОплаты.Регистратор, | ОтгрузкиОплаты.КредитныйДокумент, | ОтгрузкиОплаты.ДоговорКонтрагента.Владелец КАК Контрагент, | ОтгрузкиОплаты.ДоговорКонтрагента, | ОтгрузкиОплаты.ВидОтгрузкиОплаты, | ОтгрузкиОплаты.Сумма |ИЗ | РегистрНакопления.ОтгрузкиОплаты КАК ОтгрузкиОплаты |ГДЕ | ОтгрузкиОплаты.Организация = &Организация | И ОтгрузкиОплаты.Период МЕЖДУ &ДатаНачала И &ДатаКонца | И ОтгрузкиОплаты.ВидОтгрузкиОплаты В(&ВидыОтгрузкиОплаты) | И ОтгрузкиОплаты.ДоговорКонтрагента.Владелец В(&Контрагент) | |УПОРЯДОЧИТЬ ПО | Период" ; Нужно сделать чтобы если параметр Контрагент не задан бралось по всем. Решил задачу так: Если Не ЗначениеЗаполнено(Контрагент) Тогда ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"И ОтгрузкиОплаты.ДоговорКонтрагента.Владелец В(&Контрагент)", ""); КонецЕсли; Запрос.Текст=ТекстЗапроса; А как Вы поступаете в данном случае? |
|||
1
shuhard
19.02.16
✎
13:37
|
(0) ИЛИ &Что_то
|
|||
2
los_hooliganos
19.02.16
✎
13:39
|
выбор когда тогда
|
|||
3
samozvanec
19.02.16
✎
13:42
|
поиском пользуемся, норм тема кстати
|
|||
4
Михаил Козлов
19.02.16
✎
13:43
|
Построителем отчета.
|
|||
5
samozvanec
19.02.16
✎
13:59
|
а платформа какая? в 8.3 вроде обещали, что кодом можно будет условия добавлять(сам не видел)
|
|||
6
НЕА123
19.02.16
✎
14:02
|
{ГДЕ
(_ДемоЗарплата.Дата В (&LLL))} ТекстЗапроса="ВЫБРАТЬ | ОтгрузкиОплаты.Период КАК Период, | ОтгрузкиОплаты.Регистратор, | ОтгрузкиОплаты.КредитныйДокумент, | ОтгрузкиОплаты.ДоговорКонтрагента.Владелец КАК Контрагент, | ОтгрузкиОплаты.ДоговорКонтрагента, | ОтгрузкиОплаты.ВидОтгрузкиОплаты, | ОтгрузкиОплаты.Сумма |ИЗ | РегистрНакопления.ОтгрузкиОплаты КАК ОтгрузкиОплаты |ГДЕ | ОтгрузкиОплаты.Организация = &Организация | И ОтгрузкиОплаты.Период МЕЖДУ &ДатаНачала И &ДатаКонца | И ОтгрузкиОплаты.ВидОтгрузкиОплаты В(&ВидыОтгрузкиОплаты) {ГДЕ (ОтгрузкиОплаты.ДоговорКонтрагента.Владелец В(&Контрагент))} | |УПОРЯДОЧИТЬ ПО | Период" ; |
|||
7
Лентаf
19.02.16
✎
14:09
|
(5) 8.1
|
|||
8
mikecool
19.02.16
✎
14:11
|
(0) Контрагент = &Контрагент Или &Контрагент = ПустаяСсылка
|
|||
9
Лентаf
19.02.16
✎
14:34
|
(8) (2) контрагент - список значений, он никак не будет равен пустой ссылке
|
|||
10
Nuobu
19.02.16
✎
14:36
|
(9) Запрос.УстановитьПараметр("Контрагент", ?(Контрагент.Количество() = 0, Справочники.Контрагенты.ПустаяССылка(), Контрагент);
|
|||
11
lowepro
19.02.16
✎
14:38
|
(0) Не надо так делать.
Делаешь условие Вбырать Кагда &ЕстЬКонтрагент Тогда ОтгрузкиОплаты.ДоговорКонтрагента.Владелец В(&Контрагент)", ИНаче Истина Конец И прееаешь занчения Запрос.УстановитьПараметр("Контрагент",Контрагент); Запрос.УстановитьПараметр("ЕстьКонтрагент",ЗначениеЗаполнено(Контрагент)); |
|||
12
Михаил Козлов
19.02.16
✎
14:38
|
(9) Сделайте построителем (как в (6)) и будете накладывать любые условия. На форму поместите табличное поле со значением Построитель.Отбор.
|
|||
13
Лентаf
19.02.16
✎
14:42
|
(11) лайк
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |