Имя: Пароль:
1C
1С v8
Соединение в динамическом списке
0 alod
 
28.04.18
10:14
Всем привет!
Есть динамический список с вот таким запросом:
ВЫБРАТЬ
    ЗаказКлиента.Ссылка КАК ЗаказКлиента,
    ЗаказКлиентаДополнительныеРеквизиты.Значение КАК КассовыйАппарат
ИЗ
    Документ.ЗаказКлиента КАК ЗаказКлиента
        Правое СОЕДИНЕНИЕ Документ.ЗаказКлиента.ДополнительныеРеквизиты КАК ЗаказКлиентаДополнительныеРеквизиты
        ПО (ЗаказКлиентаДополнительныеРеквизиты.Ссылка = ЗаказКлиента.Ссылка)
ГДЕ
    ЗаказКлиентаДополнительныеРеквизиты.Свойство = &Свойство
    И ЗаказКлиента.Ссылка В
            (ВЫБРАТЬ
                РеализацияТоваровУслуг.ЗаказКлиента.Ссылка КАК РЗаказКлиента
            ИЗ
                Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
            ГДЕ
                РеализацияТоваровУслуг.Ссылка = &Ссылка
            СГРУППИРОВАТЬ ПО
                РеализацияТоваровУслуг.ЗаказКлиента.Ссылка)

В результате отображаются только строки имеющие заполненные значения. ЕСТЬNULL не помог.
Как это победить?
1 Митяйский
 
28.04.18
10:20
(0) не правое, а левое надо
2 chelentano
 
28.04.18
10:21
Левое вместо Правое
3 alod
 
28.04.18
10:22
ни правое ни левое ни полное, если делать через консоль запросов то все как надо отображается
4 Митяйский
 
28.04.18
10:24
(3) галка использовать всегда значит не стоит
5 alod
 
28.04.18
10:24
тут вероятно специфика отображения динамического списка виновна
6 alod
 
28.04.18
10:25
(4) и галка стоит
7 _Дайвер_
 
28.04.18
10:28
У тебя все в условие прописано
ЗаказКлиентаДополнительныеРеквизиты.Свойство = &Свойство,
Если у тебя значение не заполнено что оно по твоему вернет?
8 Митяйский
 
28.04.18
10:28
(6) у тебя стоит ГДЕ ЗаказКлиентаДополнительныеРеквизиты.Свойство = &Свойство в финальном запросе. А доп. реквизиты надо сначала отбирать, а уже потом соединять
9 alod
 
28.04.18
10:32
(7) хочу чтоб возвращало пустое значение
(8) не совсем понял, &Свойство передается ПриСозданииНаСервере через УстановитьПараметр
10 Митяйский
 
28.04.18
10:47
(9) если уж настолько сильно хочется можно извратиться, и сделать условие

(ЗаказКлиентаДополнительныеРеквизиты.Свойство = &Свойство ИЛИ ЗаказКлиентаДополнительныеРеквизиты.Свойство есть null)

Но так не делают
11 catena
 
28.04.18
10:50
Условие на данные левой таблицы превращают левое соединение во внутреннее.
12 alod
 
28.04.18
10:52
Что имеем: типовая УТ11 документ "ЗаказКлиента" в нем табличная часть "ДополнительныеРеквизиты"
Что нужно: динамический список с "ЗаказКлиента" 1 колонка-ссылка, 2 колонка-значение определенного "ДополнительногоРеквизита" имя которого мы знаем.
13 Buster007
 
28.04.18
10:54
ЗаказКлиентаДополнительныеРеквизиты.Свойство = &Свойство
почитай про запросы
15 catena
 
28.04.18
10:55
(12)Ну блин!

ИЗ
    Документ.ЗаказКлиента КАК ЗаказКлиента
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.ДополнительныеРеквизиты КАК ЗаказКлиентаДополнительныеРеквизиты
        ПО (ЗаказКлиентаДополнительныеРеквизиты.Ссылка = ЗаказКлиента.Ссылка)

ИИИИИ

    ЗаказКлиентаДополнительныеРеквизиты.Свойство = &Свойство
16 1Сергей
 
28.04.18
10:56
(12) глядя на запрос в (0), там соединение вообще не нужно
17 1Сергей
 
28.04.18
10:57
ВЫБРАТЬ
    ЗаказКлиентаДополнительныеРеквизиты.Ссылка КАК ЗаказКлиента,
    ЗаказКлиентаДополнительныеРеквизиты.Значение КАК КассовыйАппарат
ИЗ
    Документ.ЗаказКлиента.ДополнительныеРеквизиты КАК ЗаказКлиентаДополнительныеРеквизиты
18 1Сергей
 
28.04.18
10:58
(15) +1
19 alod
 
28.04.18
11:00
ВЫБРАТЬ
    ЗаказКлиента.Ссылка КАК ЗаказКлиента,
    ЗаказКлиентаДополнительныеРеквизиты.Значение
ИЗ
    Документ.ЗаказКлиента КАК ЗаказКлиента  
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.ДополнительныеРеквизиты КАК ЗаказКлиентаДополнительныеРеквизиты
        ПО (ЗаказКлиентаДополнительныеРеквизиты.Ссылка = ЗаказКлиента.Ссылка)
ГДЕ
    ЗаказКлиентаДополнительныеРеквизиты.Свойство = &Свойство И
    ЗаказКлиента.Ссылка В
            (ВЫБРАТЬ
                РеализацияТоваровУслуг.ЗаказКлиента.Ссылка КАК РЗаказКлиента
            ИЗ
                Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
            ГДЕ
                РеализацияТоваровУслуг.Ссылка = &Ссылка
            СГРУППИРОВАТЬ ПО
                РеализацияТоваровУслуг.ЗаказКлиента.Ссылка)
ничего не поменялось
20 catena
 
28.04.18
11:05
(19)Еще раз: __условия на левую таблицу превращают левое соединение во внутреннее__

Я там вместо ГДЕ написала аж четыре И, чтобы внимание обратил. Мимо.
21 alod
 
28.04.18
11:12
(20) РАБОТАЕТ!!!
на "ИИИИ" меня и замкнуло
всем СПАСИБО
22 1Сергей
 
28.04.18
11:15
(21) а можно глупый вопрос? почему ты обращаешься к таблице Товаров? Чтобы РТУ без товаров не попали в запрос?
23 alod
 
28.04.18
11:25
(22) где я обращаюсь к таблице Товары?
24 alod
 
28.04.18
11:29
(22) еще раз спасибо!!!