|
Помогите с синтаксисом запроса | ☑ | ||
---|---|---|---|---|
0
Глупый дятел
12.02.16
✎
06:57
|
Запрос должен меняться в зависимости от заполненности параметра. Такой вариант выдает ошибку, если параметр заполнен, с пустым параметром работает.
запрос1=новый запрос; запрос1.Текст="ВЫБРАТЬ | ПоступлениеТоваровУслуг.Ссылка, | ПоступлениеТоваровУслугТовары.Номенклатура, | ПоступлениеТоваровУслугТовары.Номенклатура.СкладскаяГруппа, | ПоступлениеТоваровУслуг.Дата КАК Дата |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг | ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслуг.Ссылка |ГДЕ | ПоступлениеТоваровУслуг.Партнер = &Партнер"; Если значениезаполнено(объект.склад) тогда запрос1.Текст=запрос1.Текст+ "И ПоступлениеТоваровУслугТовары.Номенклатура.СкладскаяГруппа = &СкладскаяГруппа"; конецесли; запрос1.Текст=запрос1.Текст+" | |УПОРЯДОЧИТЬ ПО | Дата"; запрос1.УстановитьПараметр("партнер",объект.Поставщик); запрос1.УстановитьПараметр("СкладскаяГруппа",объект.склад); |
|||
1
cw014
12.02.16
✎
06:59
|
Потому что:
1) В результате у тебя "ПоступлениеТоваровУслуг.Партнер = &ПартнерИ ПоступлениеТоваровУслугТовары.Номенклатура.СкладскаяГруппа = &СкладскаяГруппа 2) Из "ГДЕ" перетащи условие в "ЛЕВОЕ СОЕДИНЕНИЕ" иначе внутреннее будет |
|||
2
KishMish
12.02.16
✎
07:01
|
поменяй условие на такой.
ГДЕ ПоступлениеТоваровУслуг.Партнер = &Партнер и (&НеУчитыватьСкладскаяГруппа или ПоступлениеТоваровУслугТовары.Номенклатура.СкладскаяГруппа.объект.склад) запрос1.УстановитьПараметр("СкладскаяГруппа",объект.склад); запрос1.УстановитьПараметр("НеУчитыватьСкладскаяГруппа ",Истина); НеУчитыватьСкладскаяГруппа равно Истина если не учитывать Ложь если надо учитывать. |
|||
3
cw014
12.02.16
✎
07:01
|
&ПартнерИ...
|
|||
4
cw014
12.02.16
✎
07:01
|
Вот что у него получается
|
|||
5
cw014
12.02.16
✎
07:02
|
А вообще в (2) логично
|
|||
6
KishMish
12.02.16
✎
07:05
|
+(2) в условити равенство склада забыл и условие не парвильно написал
и (&НеУчитыватьСкладскаяГруппа или ПоступлениеТоваровУслугТовары.Номенклатура.СкладскаяГруппа = &СкладскаяГруппа) |
|||
7
Глупый дятел
12.02.16
✎
07:14
|
(6)
интересный вариант. А с 2 параметрами его можно сделать, то есть проверку неучитываемости? |
|||
8
KishMish
12.02.16
✎
07:17
|
(7) да в приципе то разнцииы нет
главное чтобы выполнялось условие в запросе и ИСТИНА и ИСТИНА то есть И (&НеПроверятьСклад или Табл.Склад=&Склад) //истина будет если не проверять или Нужный склад И (&НеПроверятьТовар или Табл.Товар=&Товар) //истина если не проверять или нужный товар Запрос.УстановитьПараметр("Склад",Склад); Запрос.УстановитьПараметр("НеПроверятьСклад ",Склад.Пустая()); Запрос.УстановитьПараметр("Товар",Товар); Запрос.УстановитьПараметр("НеПроверятьТовар ",Товар.Пустая()); ну и куча других проверок... |
|||
9
Глупый дятел
12.02.16
✎
07:21
|
(8)
огромный респект. Теперь запрос получился устойчивым к открытию конструктором. это конечно огромный плюс, раньше сложнее разгребать его было. |
|||
10
KishMish
12.02.16
✎
07:22
|
(9) рад, что помог )))
|
|||
11
cw014
12.02.16
✎
07:27
|
(9) Я смотрю про внутреннее соединение ты проигнорировал сообщение
|
|||
12
KishMish
12.02.16
✎
07:30
|
(9) кстати, да. обрати внимание на (11)
|
|||
13
cw014
12.02.16
✎
07:31
|
(12) Ага, спасибо. А то я смотрю, что меня таки игнорят на форумах :)
|
|||
14
rabbidX
12.02.16
✎
10:23
|
(11) Это имеет значение в данном случае? Документ со своей же табличной частью соединяется. По-моему, соединение вообще не нужно прописывать в явном виде, достаточно
добавить условие Ссылка.Партнер = &Партнер. |
|||
15
rabbidX
12.02.16
✎
10:24
|
+(14) как минимум, читабельнее будет выглядеть.
|
|||
16
sash-ml
12.02.16
✎
10:34
|
(0)
ПоступлениеТоваровУслуг.Партнер = &Партнер И (&СкладскаяГруппа = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) ИЛИ &СкладскаяГруппа = ПоступлениеТоваровУслугТовары.Номенклатура.СкладскаяГруппа) |
|||
17
darius357
12.02.16
✎
12:24
|
Ну как всегда побакланили, и нифига толку.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |