Имя: Пароль:
1C
 
Не преобразовывается в 0
0 falselight
 
12.02.20
12:46
В консоле запросов, выполняется запрос, и выводятся значения NULL
без преобразования в 0. Почему Функция ЕстьNULL не производит преобразования ?

ВЫБРАТЬ
    ЗаказПокупателя.Контрагент.ИНН КАК КонтрагентИНН,
    ЗаказПокупателя.СостояниеЗаказа КАК СостояниеЗаказа,
    ЗаказПокупателя.СуммаДокумента КАК СуммаЗаказа,
    ВЫБОР
        КОГДА ДОБАВИТЬКДАТЕ(ЗаказПокупателя.Дата, ДЕНЬ, ДоговорыКонтрагентов.СрокОплатыПокупателя) < &ТекДата
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ИндикаторПросрочки,
    ЗаказПокупателя.Ссылка КАК Ссылка,
    ЕСТЬNULL(ЗаказПокупателя.СуммаДокумента - ОплатаСчетовИЗаказовОбороты.СуммаОплатыОборот, 0) КАК СуммаДолга
ПОМЕСТИТЬ ВТ_ОплатыЗаказаКлиента
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ПО ЗаказПокупателя.Контрагент = ДоговорыКонтрагентов.Владелец
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОплатаСчетовИЗаказов.Обороты(, &ТекДата, , ) КАК ОплатаСчетовИЗаказовОбороты
        ПО ЗаказПокупателя.Ссылка = ОплатаСчетовИЗаказовОбороты.СчетНаОплату
ГДЕ
    ЗаказПокупателя.Контрагент.ИНН = &ИНН
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ОплатыЗаказаКлиента.КонтрагентИНН КАК КонтрагентИНН,
    ВТ_ОплатыЗаказаКлиента.СостояниеЗаказа КАК СостояниеЗаказа,
    ВТ_ОплатыЗаказаКлиента.СуммаЗаказа КАК СуммаЗаказа,
    ВТ_ОплатыЗаказаКлиента.СуммаДолга КАК СуммаДолга,
    ВТ_ОплатыЗаказаКлиента.ИндикаторПросрочки КАК ИндикаторПросрочки
ИЗ
    ВТ_ОплатыЗаказаКлиента КАК ВТ_ОплатыЗаказаКлиента
1 pechkin
 
12.02.20
12:47
ЕСТЬNULL(ЗаказПокупателя.СуммаДокумента, 0) - ЕСТЬNULL(ОплатаСчетовИЗаказовОбороты.СуммаОплатыОборот, 0)
2 falselight
 
12.02.20
12:48
Разобрался

ВЫБРАТЬ
    ЗаказПокупателя.Контрагент.ИНН КАК КонтрагентИНН,
    ЗаказПокупателя.СостояниеЗаказа КАК СостояниеЗаказа,
    ЗаказПокупателя.СуммаДокумента КАК СуммаЗаказа,
    ВЫБОР
        КОГДА ДОБАВИТЬКДАТЕ(ЗаказПокупателя.Дата, ДЕНЬ, ДоговорыКонтрагентов.СрокОплатыПокупателя) < &ТекДата
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ИндикаторПросрочки,
    ЗаказПокупателя.Ссылка КАК Ссылка,
    ЗаказПокупателя.СуммаДокумента - ЕСТЬNULL(ОплатаСчетовИЗаказовОбороты.СуммаОплатыОборот, 0) КАК СуммаДолга
ПОМЕСТИТЬ ВТ_ОплатыЗаказаКлиента
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ПО ЗаказПокупателя.Контрагент = ДоговорыКонтрагентов.Владелец
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОплатаСчетовИЗаказов.Обороты(, &ТекДата, , ) КАК ОплатаСчетовИЗаказовОбороты
        ПО ЗаказПокупателя.Ссылка = ОплатаСчетовИЗаказовОбороты.СчетНаОплату
ГДЕ
    ЗаказПокупателя.Контрагент.ИНН = &ИНН
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ОплатыЗаказаКлиента.КонтрагентИНН КАК КонтрагентИНН,
    ВТ_ОплатыЗаказаКлиента.СостояниеЗаказа КАК СостояниеЗаказа,
    ВТ_ОплатыЗаказаКлиента.СуммаЗаказа КАК СуммаЗаказа,
    ВТ_ОплатыЗаказаКлиента.СуммаДолга КАК СуммаДолга,
    ВТ_ОплатыЗаказаКлиента.ИндикаторПросрочки КАК ИндикаторПросрочки
ИЗ
    ВТ_ОплатыЗаказаКлиента КАК ВТ_ОплатыЗаказаКлиента
3 FIXXXL
 
12.02.20
12:48
ОплатаСчетовИЗаказовОбороты.СуммаОплатыОборот оборачивай в ЕстьНУЛЛ
4 FIXXXL
 
12.02.20
12:48
(2) растЁшь! :)
5 falselight
 
12.02.20
13:56
(4) Дошло как только я задал вопрос, до этого не видел. И не понимал.