Имя: Пароль:
1C
1С v8
Помогите с запросом
0 ded20ded
 
28.09.16
12:12
Добрый день всем
Нужно получить все договора какие есть у контрагента, даже без движений, и движения по договорам за период

ВЫБРАТЬ
    Взаиморасчеты.Организация КАК Организация,
    ДоговорыКонтрагентов.Владелец КАК Контрагент,
    ДоговорыКонтрагентов.Ссылка КАК Договор,
    Взаиморасчеты.Период КАК ДатаДок,
    Взаиморасчеты.Регистратор КАК ДокументРегистратор,
    ВЫБОР
        КОГДА Взаиморасчеты.СуммаВзаиморасчетовПриход - Взаиморасчеты.СуммаВзаиморасчетовРасход > 0
            ТОГДА Взаиморасчеты.СуммаВзаиморасчетовПриход - Взаиморасчеты.СуммаВзаиморасчетовРасход
        ИНАЧЕ 0
    КОНЕЦ КАК Дебет,
    ВЫБОР
        КОГДА Взаиморасчеты.СуммаВзаиморасчетовПриход - Взаиморасчеты.СуммаВзаиморасчетовРасход < 0
            ТОГДА -(Взаиморасчеты.СуммаВзаиморасчетовПриход - Взаиморасчеты.СуммаВзаиморасчетовРасход)
        ИНАЧЕ 0
    КОНЕЦ КАК Кредит,
    ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток, 0) КАК НачальныйОстаток,
    ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток, 0) КАК КонечныйОстаток,
    Взаиморасчеты.Регистратор.НомерВходящегоДокумента КАК ВхНомер,
    Взаиморасчеты.Регистратор.ДатаВходящегоДокумента КАК ВхДата
ИЗ
    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(&ДатаНачала, &ДатаОкончания, Регистратор, ) КАК Взаиморасчеты
        ПО ДоговорыКонтрагентов.Ссылка = Взаиморасчеты.ДоговорКонтрагента
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, , , ) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты
        ПО ДоговорыКонтрагентов.Ссылка = ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента
ГДЕ
    Взаиморасчеты.Организация = &Организация
    И ДоговорыКонтрагентов.Владелец = &Владелец
ИТОГИ
    СУММА(Дебет),
    СУММА(Кредит),
    СУММА(НачальныйОстаток),
    СУММА(КонечныйОстаток)
ПО
    Контрагент,
    Договор
1 ded20ded
 
28.09.16
12:12
получаю только договора с движением
2 Mankubus
 
28.09.16
12:14
условие по организации перенеси в условия вирт.таблицы
3 Лефмихалыч
 
28.09.16
12:14
ВЫБРАТЬ
  Владелец как Контрагент,
  Ссылка как Договор
ПОМЕСТИТЬ ВТ
ИЗ Справочник.Договоры;
ВЫБРАТЬ
  ВТ.Контрагент, ВТ.Добговор, Движения.*
ИЗ
  ВТ ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, РЕГИСТРАТОР, ДОговорКонтрагента в (ВЫБРАТЬ ВТ.Договор из ВТ), ) как Движения
   ПО ВТ.Договор = Движения.ДОговорКонтрагента
4 Рэйв
 
28.09.16
12:15
Естественно.У тебя условие
ГДЕ
    Взаиморасчеты.Организация = &Организация

как бэ подразумевает что там не NULL. А тебе нужно чтобы и NULL тоже

Перенеси условие по организации в параметры виртуальной таблицы
5 ded20ded
 
28.09.16
12:15
(2) спасибо помог
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан