8.х Булевое значение в запросе СКД

Тема в разделе "Система компоновки данных (СКД)", создана пользователем Andy20151110, 19 ноя 2016.

  1. TopicStarter Overlay
    Andy20151110
    Offline

    Andy20151110 Новичок в 1С

    Регистрация:
    10 ноя 2015
    Сообщения:
    49
    Симпатии:
    1
    Баллы:
    4
    В запросе СКД написал

    Код:
        ВЫБОР
            КОГДА СведенияОбИнвалидностиФизлиц.Инвалидность
                ТОГДА ВзаиморасчетыПоВзносамВФонды.Результат
            ИНАЧЕ 0
        КОНЕЦ КАК ЕСВИнвалиды,
    
    Работает отлично!

    Дальше написал
    Код:
        ВЫБОР
            КОГДА СведенияОбИнвалидностиФизлиц.Инвалидность = Ложь
                ТОГДА ВзаиморасчетыПоВзносамВФонды.Результат
            ИНАЧЕ 0
        КОНЕЦ КАК ЕСВнеИнвалиды,
    
    Не работает!
    Подскажите, пожалуйста, почему?
    --- Объединение сообщений, 19 ноя 2016 ---
    Написал так

    Код:
        ВЫБОР
            КОГДА СведенияОбИнвалидностиФизлиц.Инвалидность ЕСТЬ NULL
                ТОГДА ВзаиморасчетыПоВзносамВФонды.Результат
            ИНАЧЕ 0
        КОНЕЦ КАК ЕСВнеИнвалиды,
    
    Работает, только по тем сотрудникам, у которых в истории нет строк!

    Подскажите, как написать правильно?
  2. 1с-ник
    Offline

    1с-ник Профессионал в 1С

    Регистрация:
    5 окт 2014
    Сообщения:
    647
    Симпатии:
    122
    Баллы:
    104
    Все работает, в 1м запросе вы сравниваете поле с истиной, во втором с ложью, отсюда разный результат.
    Так вы же не написали, чего вы хотите.
    Может так?
    Код:
    isnull(СведенияОбИнвалидностиФизлиц.Инвалидность, 0, ВзаиморасчетыПоВзносамВФонды.Результат) Как  ЕСВнеИнвалиды
    
    Andy20151110 нравится это.
  3. TopicStarter Overlay
    Andy20151110
    Offline

    Andy20151110 Новичок в 1С

    Регистрация:
    10 ноя 2015
    Сообщения:
    49
    Симпатии:
    1
    Баллы:
    4
    Спасибо, получилось!

    Написал так:
    Код:
    IsNULL(СведенияОбИнвалидностиФизлиц.Инвалидность, ЛОЖЬ) = ЛОЖЬ
    

Поделиться этой страницей