|   |   | 
| 
 | СКД, отбор по ложь. | ☑ | |||||
|---|---|---|---|---|---|---|---|
| 0
    
        buumble 26.07.24✎ 10:36 | 
        Сделал вычисляемое поле в СКД,Отправлено - ЗначениеЗаполнено(Статус), делаю отбор по полю отправлено. Если ставлю Отправлено = ДА, то в отчет показывает все записи у которых в этой колонке "Да", если ставлю нет то отчет пустой хотя записи с "Нет" есть без отбора. Если поставить Отправлено Не равно "ДА", то же пустой отчет. подскажите кто сталкивался как решить ?     | ||||||
| 1
    
        buumble 26.07.24✎ 10:38 | 
        Отбор делаю в самом отчете, а не в детальных записях     | ||||||
| 2
    
        Ненавижу 1С гуру 26.07.24✎ 10:41 | 
        Статус имеет какой тип?     | ||||||
| 3
    
        Wern 26.07.24✎ 10:45 | 
        Скорей у тебя там NULL. NULL это не ложь потому отбор пустой. В то время условие NULL не равно да это тоже ложь. Ставь условие "не заполнено" получишь свои записи.     | ||||||
| 4
    
        buumble 26.07.24✎ 10:48 | 
        (2) Строка     | ||||||
| 5
    
        Ненавижу 1С гуру 26.07.24✎ 10:49 | 
        (4) надеюсь Да/Нет в отборе это булево?     | ||||||
| 6
    
        buumble 26.07.24✎ 10:49 | 
        (3) пробовал прописывать isnull( ЗначениеЗаполнено(Статус),Ложь) не работает     | ||||||
| 7
    
        buumble 26.07.24✎ 10:50 | 
        (5) Да     | ||||||
| 8
    
        buumble 26.07.24✎ 10:51 | 
        (3) если ставить просто не заполнено, то тоже не работает     | ||||||
| 9
    
        buumble 26.07.24✎ 11:00 | 
        ВЫБОР КОГДА НЕ ЗначениеЗаполнено(Статус) Тогда "Отправлен" Иначе "Не отправлен" КОНЕЦ
 Добавил вот такое выражение, в вычисляемое поле. Проиходит магия, если делаю отбор "равно Отправлен" отчет работает, если делаю отбор " равно Не отправлен" отчет пустой. Тут везде текст, даже "начинается с не" выводит пустой отчет. | ||||||
| 10
    
        Ненавижу 1С гуру 26.07.24✎ 11:02 | 
        (9) а если отбор наложить на само поле Статус, кстати какие все-таки значения оно принимает?     | ||||||
| 11
    
        buumble 26.07.24✎ 11:15 | 
        (10) Только текстовые     | ||||||
| 12
    
        Ненавижу 1С гуру 26.07.24✎ 11:15 | 
        (11) конкретно какие     | ||||||
| 13
    
        Ненавижу 1С гуру 26.07.24✎ 11:15 | 
        (11) там вообще есть пустая строка?     | ||||||
| 14
    
        Greeen 26.07.24✎ 11:20 | 
        Отправлено - ЗначениеЗаполнено(Статус)
 и ВЫБОР КОГДА НЕ ЗначениеЗаполнено(Статус) Тогда "Отправлен" Иначе "Не отправлен" КОНЕЦ Это противоположные условия Лучше весь текст запроса покажите | ||||||
| 15
    
        buumble 26.07.24✎ 11:42 | 
        (14) Ой там 
 ВЫБОР КОГДА ЗначениеЗаполнено(Статус) Тогда "Отправлен" Иначе "Не отправлен" КОНЕЦ То же самое, но не отрабатывает по "Не отправлен" | ||||||
| 16
    
        buumble 26.07.24✎ 11:46 | 
        Вот     
 | ||||||
| 17
    
        Fragster гуру 26.07.24✎ 11:46 | 
        вангую, что там соединение наборов.
 в таком случае отбор нужно устанавливать не на уровне отчета, а на уровне группировки | ||||||
| 18
    
        buumble 26.07.24✎ 11:47 | 
        (17) Все верно, соединение наборов     | ||||||
| 19
    
        buumble 26.07.24✎ 14:41 | 
        Разобрался ребята! Кому будет интересно, все дело в особенностях работы isnull. В моем примере isnull( ЗначениеЗаполнено(Статус),Ложь), поле статус это поле компоновки данных и примитивные типы данных isnull не может к нему привести. 
 То есть: допустим переменная А строка (2,0) isnull(а,"проверка") вернет значение - "пр" Добавил В первую таблицу поле(СтатусРеал) со значением "" Получилось ВЫБОР КОГДА isnull(Статус,СтатусРеал) = "" Тогда ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЦ И все отборы заработали! | ||||||
| 20
    
        Ненавижу 1С гуру 26.07.24✎ 14:59 | 
        (19) тебе давно говорили - выведи значения статусов из запроса и посмотри
 насчет приведения типов - это можно сделать явно через ВЫРАЗИТЬ | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |