Имя: Пароль:
1C
1С v8
Запрос выводит пустые значения
0 1ctube
 
24.01.18
06:41
Здравствуйте. Есть такой запрос(пытаюсь сделать что-то вроде ведомости)

ВЫБРАТЬ
    Контрагенты.Ссылка
ПОМЕСТИТЬ ВТ_Контрагенты
ИЗ
    Справочник.Контрагенты КАК Контрагенты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТиповойДвиженияССубконто.СубконтоДт1,
    СУММА(ТиповойДвиженияССубконто.Сумма) КАК Сумма,
    ТиповойДвиженияССубконто.Содержание
ПОМЕСТИТЬ ВТ_ИПН
ИЗ
    РегистрБухгалтерии.Типовой.ДвиженияССубконто(
            &Нач,
            &Кон,
            Регистратор ССЫЛКА Документ.РасчетНалоговПриПоступленииАктивовУслуг
                И СчетКт = &СчетКтИПН,
            ,
            ) КАК ТиповойДвиженияССубконто

СГРУППИРОВАТЬ ПО
    ТиповойДвиженияССубконто.СубконтоДт1,
    ТиповойДвиженияССубконто.Содержание
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТиповойДвиженияССубконто.СубконтоДт1,
    СУММА(ТиповойДвиженияССубконто.Сумма) КАК Сумма,
    ТиповойДвиженияССубконто.Содержание
ПОМЕСТИТЬ ВТ_ВОСМС
ИЗ
    РегистрБухгалтерии.Типовой.ДвиженияССубконто(
            &Нач,
            &Кон,
            Регистратор ССЫЛКА Документ.РасчетНалоговПриПоступленииАктивовУслуг
                И СчетКт = &СчетКтВОСМС,
            ,
            ) КАК ТиповойДвиженияССубконто

СГРУППИРОВАТЬ ПО
    ТиповойДвиженияССубконто.СубконтоДт1,
    ТиповойДвиженияССубконто.Содержание
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Контрагенты.Ссылка,
    ВТ_ИПН.СубконтоДт1,
    ВТ_ИПН.Сумма,
    ВТ_ИПН.Содержание,
    ВТ_ВОСМС.Сумма КАК Сумма1,
    ВТ_ВОСМС.Содержание КАК Содержание1
ИЗ
    ВТ_Контрагенты КАК ВТ_Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ИПН КАК ВТ_ИПН
        ПО ВТ_Контрагенты.Ссылка = ВТ_ИПН.СубконтоДт1
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ВОСМС КАК ВТ_ВОСМС
        ПО ВТ_Контрагенты.Ссылка = ВТ_ВОСМС.СубконтоДт1

То выводятся все контрагенты, у которых даже нет вообще начислений. Если меняю условие на внутреннее то если записей нет в какой-нибудь временной таблице то не выводится вообще контрагенты.
Как правильно нужно соединить их?
1 Zmich
 
24.01.18
07:04
(0). Думаю, что задача твоя решается не соединением, а через вложенный запрос с ОБЪЕДИНИТЬ ВСЕ.
2 mehfk
 
24.01.18
07:09
х.з. что ты хочешь, возможно это:

ВЫБРАТЬ
    ISNULL(ВТИПН.СубконтоДт1, ВТВОСМС.СубконтоДт1) КАК Контрагент,
    ISNULL(ВТИПН.Сумма, 0) AS ИПНСумма,
    ISNULL(ВТИПН.Содержание, "") КАК ИПНСодержание,
    ISNULL(ВТВОСМС.Сумма, 0) КАК ВОСМССумма,
    ISNULL(ВТВОСМС.Содержание, "") КАК ВОСМССодержание
ИЗ
        ВТИПН КАК ВТИПН
        ПОЛНОЕ СОЕДИНЕНИЕ ВТВОСМС КАК ВТВОСМС
        ПО ВТИПН.СубконтоДт1= ВТВОСМС.СубконтоДт1
3 1ctube
 
24.01.18
07:44
Переписал вот так:

ВЫБРАТЬ
     Контрагент,  
     СУММА(СуммаИПН) КАК СуммаИПН,
     СУММА(СуммаВОСМС)КАК СуммаВОСМС

ИЗ




(ВЫБРАТЬ
    ТиповойДвиженияССубконто.СубконтоДт1 КАК Контрагент,
    ТиповойДвиженияССубконто.Сумма КАК СуммаИПН,
    0 КАК СуммаВОСМС
ИЗ
    РегистрБухгалтерии.Типовой.ДвиженияССубконто(
            &Нач,
            &Кон,
            СчетКт = &СчетКт
                И Регистратор ССЫЛКА Документ.РасчетНалоговПриПоступленииАктивовУслуг,
            ,
            ) КАК ТиповойДвиженияССубконто

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ТиповойДвиженияССубконто.СубконтоДт1 КАК Контрагент,
    ТиповойДвиженияССубконто.Сумма КАК СуммаВОСМС,
    0 КАК СуммаИПН
ИЗ
    РегистрБухгалтерии.Типовой.ДвиженияССубконто(
            &Нач,
            &Кон,
            СчетКт = &СчетКтВОСМС
                И Регистратор ССЫЛКА Документ.РасчетНалоговПриПоступленииАктивовУслуг,
            ,
            ) КАК ТиповойДвиженияССубконто
            ) КАК ВложенныйЗапрос
    СГРУППИРОВАТЬ ПО Контрагент            
            
Теперь в графе "ВОСМС" пусто
4 mehfk
 
24.01.18
07:51
Во втором подзапросе поля местами поменяй:

   ТиповойДвиженияССубконто.СубконтоДт1 КАК Контрагент,
    0 КАК СуммаИПН,
    ТиповойДвиженияССубконто.Сумма КАК СуммаВОСМС
5 1ctube
 
24.01.18
07:55
Всё, разобрался, нужно было менять местами поля
0 КАК СуммаИПН и 0 КАК СуммаВОСМС
Программист всегда исправляет последнюю ошибку.