|
СКД, отбор по ложь. | ☑ | |||||
---|---|---|---|---|---|---|---|
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) тебе давно говорили - выведи значения статусов из запроса и посмотри
насчет приведения типов - это можно сделать явно через ВЫРАЗИТЬ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |