Имя: Пароль:
1C
 
а как работает в запросе Выбор без "Иначе"?
0 evorle145
 
18.03.25
12:42
Звонит клиент, и говорит, после обновления больше не показывает связанные документы.
Я открываю код и вижу что косяк в блоке :


    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    СвязанныеДокументы.Ссылка КАК Ссылка
    |ИЗ
    |    КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СвязанныеДокументы
    |ГДЕ
    |    ВЫБОР
    |            КОГДА СвязанныеДокументы.Ссылка ССЫЛКА Задача.ЗадачаИсполнителя
    |                ТОГДА СвязанныеДокументы.Ссылка.CRM_Личная
    |                ИЛИ СвязанныеДокументы.Ссылка.БизнесПроцесс ССЫЛКА БизнесПроцесс.CRM_БизнесПроцесс
    |    КОНЕЦ";


Автор "CRM_" сами знаете кто) Я всегда писал с условием Иначе и не задумывался, что будет без "Иначе" а тут задумался: если не написать иначе, то это равносильно "Ложь" для запроса? или не всегда?
1 KJlag
 
18.03.25
12:47
    |ВЫБРАТЬ
    |    1
    |ГДЕ
    |    ВЫБОР
    |            КОГДА &Условие
    |                ТОГДА Истина
    |    КОНЕЦ


при &Условие - Истина выводит единицу, при ложь, у меня ничего не вывело в консоле запросов
2 evorle145
 
18.03.25
12:49
(1) ага, ну у меня так же... значит делаем вывод, если записи не попали под условие Когда  - то они не включаются.
3 Мультук
 
гуру
18.03.25
12:50
(0)

https://www.w3schools.com/sql/sql_case.asp

If there is no ELSE part and no conditions are true, it returns NULL.
4 evorle145
 
18.03.25
13:18
(3) спс. Исчерпывающе.