Имя: Пароль:
1C
 
Противоположный результат в запросе
0 NIGHTHUNTER
 
18.01.21
06:09
В запросе, без условия И (НоменклатураТехническиеХарактеристики.Ссылка <> NULL)
выбираются строки, в которых есть не нужные значения. Смотрю там NULL, добавляю это условие, из запроса вообще пропадают нужные строки.
И остаются те у которых именно в поле Ссылка есть NULL, от чего это так????




ВЫБРАТЬ
    КоммерческоеПредложениеСоставляющие.Ссылка.Номер КАК Номер,
    КоммерческоеПредложениеСоставляющие.Номенклатура КАК Номенклатура,
    НоменклатураТехническиеХарактеристики.Свойство КАК Свойство,
    НоменклатураТехническиеХарактеристики.Значение КАК Значение,
    НоменклатураТехническиеХарактеристики.Ссылка КАК Ссылка
ИЗ
    Документ.КоммерческоеПредложение.Составляющие КАК КоммерческоеПредложениеСоставляющие
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ТехническиеХарактеристики КАК НоменклатураТехническиеХарактеристики
        ПО КоммерческоеПредложениеСоставляющие.Номенклатура = НоменклатураТехническиеХарактеристики.Ссылка
            И (НоменклатураТехническиеХарактеристики.Свойство <> "")
            И (НоменклатураТехническиеХарактеристики.Ссылка <> NULL)
ГДЕ
    КоммерческоеПредложениеСоставляющие.Ссылка = &Ссылка
1 ДенисЧ
 
18.01.21
06:38
Никогда в запросах нельзя использовать выражение <> NULL
2 NIGHTHUNTER
 
18.01.21
07:17
(1) То есть это принципиально? Видимо нет знаний. Попробую  И Не НоменклатураТехническиеХарактеристики.Ссылка Есть NULL

Я сделал вот так, но все равно выбрались записи с NULL  в Ссылка, что не так я делаю?


ВЫБРАТЬ
    КоммерческоеПредложениеСоставляющие.Ссылка.Номер КАК Номер,
    КоммерческоеПредложениеСоставляющие.Номенклатура КАК Номенклатура,
    НоменклатураТехническиеХарактеристики.Свойство КАК Свойство,
    НоменклатураТехническиеХарактеристики.Значение КАК Значение,
    НоменклатураТехническиеХарактеристики.Ссылка КАК Ссылка
ИЗ
    Документ.КоммерческоеПредложение.Составляющие КАК КоммерческоеПредложениеСоставляющие
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ТехническиеХарактеристики КАК НоменклатураТехническиеХарактеристики
        ПО КоммерческоеПредложениеСоставляющие.Номенклатура = НоменклатураТехническиеХарактеристики.Ссылка
            И (НоменклатураТехническиеХарактеристики.Свойство <> "")
            И (НЕ НоменклатураТехническиеХарактеристики.Ссылка Есть NULL)
ГДЕ
    КоммерческоеПредложениеСоставляющие.Ссылка = &Ссылка
3 ДенисЧ
 
18.01.21
07:24
А какого овоща ты условие на NULL пихаешь в условие соединения? У тебя там его никогда не будет, оно будет только ПОСЛЕ соединения.

Так что или бегом матчасть учить и не появляться на форуме, пока не сдашь спеца по платформе.
Или чистый лист бумаги и шариковая ручка.
4 Web00001
 
18.01.21
07:25
(0)Любое сравнение с null всегда возвращает ложь
(2)Если надо наложить условие на выборку накладывай в секции "ГДЕ" Здесь она просто докидывает справа то, чего нет слева. В момент выборки разумеется там нет NULL, ответь на вопрос, если ты не накладываешь условие, что должно там быть?
5 NIGHTHUNTER
 
18.01.21
07:26
(3) Согласен на оба варианта!!! Но в реальности получается, как получается. Как проходит все. Так что пока думаю над запросом.
6 NIGHTHUNTER
 
18.01.21
07:44
(3) Сказали мне что вот это нужно помещать в условие соединения, не в условия

     И (НоменклатураТехническиеХарактеристики.Свойство <> "")

Там хоть как делай, выбирается не то что нужно и я не понимаю почему.
7 NIGHTHUNTER
 
18.01.21
07:47
Сколько я не продубасился, но нормальный результат выдал только вот этот запрос, -

ВЫБРАТЬ
    КоммерческоеПредложениеСоставляющие.Ссылка.Номер КАК Номер,
    КоммерческоеПредложениеСоставляющие.Номенклатура КАК Номенклатура,
    НоменклатураТехническиеХарактеристики.Свойство КАК Свойство,
    НоменклатураТехническиеХарактеристики.Значение КАК Значение,
    НоменклатураТехническиеХарактеристики.Ссылка КАК Ссылка
ИЗ
    Документ.КоммерческоеПредложение.Составляющие КАК КоммерческоеПредложениеСоставляющие
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ТехническиеХарактеристики КАК НоменклатураТехническиеХарактеристики
        ПО КоммерческоеПредложениеСоставляющие.Номенклатура = НоменклатураТехническиеХарактеристики.Ссылка
ГДЕ
    КоммерческоеПредложениеСоставляющие.Ссылка = &Ссылка
    И НЕ НоменклатураТехническиеХарактеристики.Свойство = ""


Где вот это в условии

ГДЕ
    КоммерческоеПредложениеСоставляющие.Ссылка = &Ссылка
    И НЕ НоменклатураТехническиеХарактеристики.Свойство = ""
8 NIGHTHUNTER
 
18.01.21
07:49
(7) + Нужно было отобрать значения справочника технические характеристики свойства и значения, у номенклатуры
которая введена в табличную часть документа. Учитывая что в совйстве нет значения "".
9 ДенисЧ
 
18.01.21
07:51
А что, у тебя свойство - это строка? А может, всё-таки ссылка на какой-то справочник?
10 NIGHTHUNTER
 
18.01.21
08:03
(9) Это табличная часть, где я сделал строку.
Пользователю нужно в ручную заполнять. Ну я так и сделал.
И мало того, в одной табличной части справочника, я ввел 3 строки, пустые. Вроде как ограничение для заполнения.
А в другой, ТехническиеХарактеристики 17 строк. Так вот сделал, так решил. И сейчас все это обрабатываю.
Нужно выборку сделать для макета. Что то понимаю, что заморочился уже (. На элементарном забуксовал .
11 hhhh
 
18.01.21
08:51
(9) не, в предыдущих 15 темах вроде строка.
12 NIGHTHUNTER
 
18.01.21
09:01
(11) По вашему совету делал условие в соединении
13 hhhh
 
18.01.21
09:05
(12) я такого не советовал. NULL в соединении?
14 hhhh
 
18.01.21
09:06
(12) NULL как раз нужно в ГДЕ.
15 NIGHTHUNTER
 
18.01.21
09:09
Если             |    И НЕ НоменклатураТехническиеХарактеристики.Свойство = """"";

так верно будет в конфигураторе?
А то в консоле отбирает а в конфигураторе нет
16 mikecool
 
18.01.21
10:02
автора пора с волчьим билетом гнать из профессии
17 NIGHTHUNTER
 
18.01.21
10:50
(16) Спасибо!