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

1С:Предприятие :: 1С:Предприятие 8 общая

Не работает полное соединение в элементарном запросе

Не работает полное соединение в элементарном запросе
Я
   evorle145
 
05.01.13 - 14:11
Не понимаю, почему не выходят ячейки со значением null, то есть  результат запроса получаю как внутреннее соединение

Запрос1 = Новый Запрос;
    Запрос1.Текст = 
        "ВЫБРАТЬ
        |    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура1,
        |    ПоступлениеТоваровУслугТовары.Номенклатура
        |ИЗ
        |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        |        ПОЛНОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
        |        ПО РеализацияТоваровУслугТовары.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура
        |ГДЕ
        |    ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонец
        |    И ПоступлениеТоваровУслугТовары.Ссылка.Проведен = &Проведен
        |    И РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонец";

    Запрос1.УстановитьПараметр("ДатаКонец", КонецДня(ЭлементыФормы.ДатаКонец.Значение));
    Запрос1.УстановитьПараметр("ДатаНачала", НачалоДня(ЭлементыФормы.ДатаНачала.Значение));
    Запрос1.УстановитьПараметр("Проведен", Истина);

    Результат = Запрос1.Выполнить().Выгрузить();

Помогите понять, где туплю?
 
 
   evorle145
 
1 - 05.01.13 - 14:16
В документах реализации есть номенклатура, которой не было в поступлении, значит точно должны быть строки типа
 Номен1    NULL
 Номен2    NULL
   shuhard
 
2 - 05.01.13 - 14:16
(0) [где туплю]
в блоке Where
   evorle145
 
3 - 05.01.13 - 14:17
(2) но я там только делаю выборку за нужный период и беру только проведенные документы и все..
   Ns33
 
4 - 05.01.13 - 14:20
Сначала выполняется соединение, а потом применяются условия. В данном случае условия накладываются на поля обеих таблиц, т.е. Истина будет только там, где есть не пустые поля из обеих таблиц.
Делать подзапросами или через временные таблицы.
   evorle145
 
5 - 05.01.13 - 14:23
(4), эх, точно. Спасибо! Второй раз уже на эти грабли натыкаюсь, обидно даже...
   shuhard
 
6 - 05.01.13 - 14:24
(0) правильный запрос:
            ВЫБРАТЬ
    ВложенныйЗапрос.Номенклатура,
    СУММА(ВложенныйЗапрос.Продано) КАК Продано,
    СУММА(ВложенныйЗапрос.Куплено) КАК Куплено
ИЗ
    (ВЫБРАТЬ
        РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
        РеализацияТоваровУслугТовары.Количество КАК Продано,
        0 КАК Куплено
    ИЗ
        Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        ПоступлениеТоваровУслугТовары.Номенклатура,
       0,
       ПоступлениеТоваровУслугТовары.Количество
    ИЗ
        Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Номенклатура
   evorle145
 
7 - 05.01.13 - 14:25
(6), я понял-понял. Спасибо больше! видимо я просто после праздников не успел отойти =)

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