=========
ГДЕ
ВЫБОР
КОГДА ХозрасчетныйОбороты.КорСчет В (&ФильтрСписокСчетов)
ТОГДА ВЫБОР
КОГДА &ДоговорКонтрагента = НЕОПРЕДЕЛЕНО
ТОГДА НЕ ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, НЕОПРЕДЕЛЕНО) = &Контрагент
ИНАЧЕ НЕ(ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, НЕОПРЕДЕЛЕНО) = &Контрагент
И ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто2, НЕОПРЕДЕЛЕНО) = &ДоговорКонтрагента)
КОНЕЦ
ИНАЧЕ ИСТИНА
КОНЕЦ
=========
Что по итогу тут:
ТОГДА НЕ ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, НЕОПРЕДЕЛЕНО) = &Контрагент
и тут
НЕ(ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, НЕОПРЕДЕЛЕНО) = &Контрагент
И ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто2, НЕОПРЕДЕЛЕНО) = &ДоговорКонтрагента)
Тогда еще раз .. допустим "ХозрасчетныйОбороты.КорСубконто1" = "NULL" проверил:
ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, НЕОПРЕДЕЛЕНО)
Вернул "НЕОПРЕДЕЛЕНО"
Далее зачем второй раз проверить:
НЕОПРЕДЕЛЕНО = &Контрагент
Cool_Profi
5 - 10.10.18 - 15:40
А если ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, НЕОПРЕДЕЛЕНО) вернул какое-то приличное значение, а не NULL?
Cool_Profi
6 - 10.10.18 - 15:40
Но не контрагента, например. Или другого контру?
Михаил Козлов
7 - 10.10.18 - 15:44
Если параметр Договор не указан, проверяется на совпадение контрагента. В противном случае на совпадение и договора и контрагента.
unregistered
8 - 10.10.18 - 15:50
(7) Точнее не "на совпадение", а "на НЕ совпадение".
serg999
9 - 10.10.18 - 16:00
То что проверятся заполнение параметра &ДоговорКонтрагента это понятно, вопрос по ЕСТЬNULL ..
(6) Но NULL, как и "НЕОПРЕДЕЛЕНО" не будет равно &Контрагент, почему не написать:
"ТОГДА НЕ ХозрасчетныйОбороты.КорСубконто1 = &Контрагент"
?