|
Не могу понять запрос | ☑ | ||
---|---|---|---|---|
0
serg999
10.10.18
✎
15:26
|
Не пинайте, но не могу понять конструкцию ...
========= ГДЕ ВЫБОР КОГДА ХозрасчетныйОбороты.КорСчет В (&ФильтрСписокСчетов) ТОГДА ВЫБОР КОГДА &ДоговорКонтрагента = НЕОПРЕДЕЛЕНО ТОГДА НЕ ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, НЕОПРЕДЕЛЕНО) = &Контрагент ИНАЧЕ НЕ(ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, НЕОПРЕДЕЛЕНО) = &Контрагент И ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто2, НЕОПРЕДЕЛЕНО) = &ДоговорКонтрагента) КОНЕЦ ИНАЧЕ ИСТИНА КОНЕЦ ========= Что по итогу тут: ТОГДА НЕ ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, НЕОПРЕДЕЛЕНО) = &Контрагент и тут НЕ(ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, НЕОПРЕДЕЛЕНО) = &Контрагент И ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто2, НЕОПРЕДЕЛЕНО) = &ДоговорКонтрагента) |
|||
1
Cool_Profi
10.10.18
✎
15:26
|
Проверка заполненности полей
|
|||
2
serg999
10.10.18
✎
15:30
|
Зачем из проверять в "ГДЕ" ?
|
|||
3
Cool_Profi
10.10.18
✎
15:31
|
(2) А где ты предлагашь это сделать?
|
|||
4
serg999
10.10.18
✎
15:36
|
Тогда еще раз .. допустим "ХозрасчетныйОбороты.КорСубконто1" = "NULL" проверил:
ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, НЕОПРЕДЕЛЕНО) Вернул "НЕОПРЕДЕЛЕНО" Далее зачем второй раз проверить: НЕОПРЕДЕЛЕНО = &Контрагент |
|||
5
Cool_Profi
10.10.18
✎
15:40
|
А если ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, НЕОПРЕДЕЛЕНО) вернул какое-то приличное значение, а не NULL?
|
|||
6
Cool_Profi
10.10.18
✎
15:40
|
Но не контрагента, например. Или другого контру?
|
|||
7
Михаил Козлов
10.10.18
✎
15:44
|
Если параметр Договор не указан, проверяется на совпадение контрагента. В противном случае на совпадение и договора и контрагента.
|
|||
8
unregistered
10.10.18
✎
15:50
|
(7) Точнее не "на совпадение", а "на НЕ совпадение".
|
|||
9
serg999
10.10.18
✎
16:00
|
То что проверятся заполнение параметра &ДоговорКонтрагента это понятно, вопрос по ЕСТЬNULL ..
(6) Но NULL, как и "НЕОПРЕДЕЛЕНО" не будет равно &Контрагент, почему не написать: "ТОГДА НЕ ХозрасчетныйОбороты.КорСубконто1 = &Контрагент" ? |
|||
10
Cool_Profi
10.10.18
✎
16:04
|
(9) потому что любое сравнение с NULL даёт ложь
|
|||
11
serg999
10.10.18
✎
16:43
|
Cool_Profi .. спасибо!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |