Вход | Регистрация

1С:Предприятие ::

Метки: 

СКД. Связи наборов данных. ЕСТЬ NULL

Я
   Zixxx
 
14.01.18 - 12:44
Какое условие нужно задать полю, если при связи наборов данных его значение что-то типа null

Как вариант можно задать вид сравнения Заполнено, тогда такие поля не попадают в результат
Если задать вид сравнения НеЗаполнено, то такие поля все равно не попадают в результат 
В вычисляемых полях такие поля определяются как NULL 
Если программно устанавливать отбор на ВидСравнения.Равно NULL, то не попадает в результат 

Как правильно задать отбор чтобы получить пустые поля из связей наборов данных?
 
 
   vicof
 
1 - 14.01.18 - 14:56
естьnull()
   milan
 
2 - 14.01.18 - 15:24
Никак, при использовании отбора, левое соединение наборов данных заменяется на внутреннее, зачем, непонятно.
   Лефмихалыч
 
3 - 14.01.18 - 15:29
(0) добавить вычисляемое поле, в котором будет
ВЫБОР КОГДА ЕСТЬ NULL тогда истина иначе ложь
и отбирать по нему
(2) это не зачем. Это запрос так работает. На любой СУБД.
   Zixxx
 
4 - 14.01.18 - 16:02
(3) Нет так номер не пройдет, если есть связи наборов, то вычисляемое поле будет как представление, либо содержать значение какой-то неопределенности и в случае наложения отбора именно эта неопределенность и будет на первом месте.

Причем даже типовая расшифровка предложит такой быстрый отбор но ничего не покажет.

А вот если вычисляемое поле идет без связей наборо тогда будет работать
   Лефмихалыч
 
5 - 14.01.18 - 16:19
(4) ну, да. Можно добавить в первый набор необязательное соединение именно для вычисления этого ВЫБОР КОГДА ТОГДА. Будет работать быстрее, чем все ухищрения с вычисляемыми полями, но может сбивать с толку тех, кто будет читать этот запрос через пару месяцев
   milan
 
6 - 14.01.18 - 17:25
(3) что за запрос, и почему он работал по другому в ранних версиях платформы? Кажется такая же фигня в динамических списках, но могу ошибаться.
   Лефмихалыч
 
7 - 14.01.18 - 17:32
(6) сравнение нула с чем угодно возвращает ложь в запросе во всех СУБД, поддерживающих join'ы.
   milan
 
8 - 14.01.18 - 17:42
(6) нет, не ошибаюсь, в типовых не получится отобрать документы без присоединенных файлов, ибо джоин превращается во внутренний
   milan
 
9 - 14.01.18 - 17:43
(7) в нашем примере условие проверяет нулл
   Franchiser
 
10 - 14.01.18 - 22:25
Такое условие можно задать только на уровни нижележащих группировок (и детальных записей), учли использовать условие на уровне все отчета СКД применит внутренне соединение.
Другой вариант - использовать вычисляемое поле и по нему потом делать фильтр
 
 Рекламное место пустует


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует