Имя: Пароль:
1C
1С v8
Вывод в запросе итогов только по одной, верхней, группировке
0 Melcor
 
26.03.20
08:53
Доброго дня. Есть запрос в котором я выводу несколько группировок и итогов по ним, но помимо этого мне необходимо для верхней группировки выводить значение которое я получаю левым соединением, вроде решил через ВЫБОР в итогах, но у меня есть поле которое не входит в итоги РЕГИСТРАТОР, и на него условие соответственно не срабатывает, можно как-то обойти этот момент?

            ВЫБРАТЬ
    ВложенныйЗапрос.КонтрагентПолучатель КАК КонтрагентПолучатель,
    ВложенныйЗапрос.ТипДокумента КАК ТипДокумента,
    ВложенныйЗапрос.НоменклатураРодитель КАК НоменклатураРодитель,
    ВложенныйЗапрос.Модель КАК Модель,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ВложенныйЗапрос.ИностранныйРазмер КАК ИностранныйРазмер,
    ВложенныйЗапрос.Регистратоор КАК Регистратоор,
    ВложенныйЗапрос.КоличествоПерем КАК КоличествоПерем,
    ВложенныйЗапрос.Сумма КАК Сумма,
    ВложенныйЗапрос.КоличествоРеал КАК КоличествоРеал,
    ВложенныйЗапрос.Стоимость КАК Стоимость,
    ВТ_Оплат.СуммаПлатежа КАК Оплачено,
    ВложенныйЗапрос.Стоимость - ВТ_Оплат.СуммаПлатежа КАК Долг
{ВЫБРАТЬ
    КонтрагентПолучатель.*,
    ТипДокумента.*,
    НоменклатураРодитель.*,
    Модель.*,
    ХарактеристикаНоменклатуры.*,
    ИностранныйРазмер.*,
    Регистратоор.*,
    КоличествоПерем,
    Сумма,
    КоличествоРеал,
    Стоимость,
    Оплачено,
    Долг}
ИЗ
    (ВЫБРАТЬ
        ВТ_Перем.КонтрагентПолучатель КАК КонтрагентПолучатель,
        ВТ_Перем.ТипДокумента КАК ТипДокумента,
        ВТ_Перем.НоменклатураРодитель КАК НоменклатураРодитель,
        ВТ_Перем.Модель КАК Модель,
        ВТ_Перем.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        ВТ_Перем.ИностранныйРазмер КАК ИностранныйРазмер,
        ВТ_Перем.Ссылка КАК Регистратоор,
        ВТ_Перем.Количество КАК КоличествоПерем,
        ВТ_Перем.Сумма КАК Сумма,
        0 КАК Стоимость,
        0 КАК КоличествоРеал
    ИЗ
        ВТ_Перем КАК ВТ_Перем
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        ВТ_РЕАЛ_ОПЛАТА.ДокументПродажиКонтрагент,
        ВТ_РЕАЛ_ОПЛАТА.ДокументПродажиТипДокумента,
        ВТ_РЕАЛ_ОПЛАТА.НоменклатураРодитель,
        ВТ_РЕАЛ_ОПЛАТА.Модель,
        ВТ_РЕАЛ_ОПЛАТА.ХарактеристикаНоменклатуры,
        ВТ_РЕАЛ_ОПЛАТА.ИностранныйРазмер,
        ВТ_РЕАЛ_ОПЛАТА.ДокументПродажи,
        0,
        0,
        ВТ_РЕАЛ_ОПЛАТА.Стоимость,
        ВТ_РЕАЛ_ОПЛАТА.Количество
    ИЗ
        ВТ_РЕАЛ_ОПЛАТА КАК ВТ_РЕАЛ_ОПЛАТА) КАК ВложенныйЗапрос
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Оплат КАК ВТ_Оплат
        ПО ВложенныйЗапрос.КонтрагентПолучатель = ВТ_Оплат.Контрагент
{ГДЕ
    ВложенныйЗапрос.КонтрагентПолучатель.*,
    ВложенныйЗапрос.ТипДокумента.*,
    ВложенныйЗапрос.НоменклатураРодитель.*,
    ВложенныйЗапрос.Модель.*,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры.*}

УПОРЯДОЧИТЬ ПО
    КонтрагентПолучатель,
    ТипДокумента,
    НоменклатураРодитель,
    Модель,
    ХарактеристикаНоменклатуры,
    ИностранныйРазмер,
    Регистратоор
{УПОРЯДОЧИТЬ ПО
    КонтрагентПолучатель.*,
    ТипДокумента.*,
    НоменклатураРодитель.*,
    Модель.*,
    ХарактеристикаНоменклатуры.*,
    ИностранныйРазмер.*,
    Регистратоор.*}
ИТОГИ
    СУММА(КоличествоПерем),
    СУММА(Сумма),
    СУММА(КоличествоРеал),
    СУММА(Стоимость),
    ВЫБОР
        КОГДА ТипДокумента ЕСТЬ NULL
            ТОГДА МАКСИМУМ(Оплачено)
        ИНАЧЕ 0
    КОНЕЦ КАК Оплачено,
    МАКСИМУМ(Долг)
ПО
    ОБЩИЕ,
    КонтрагентПолучатель,
    ТипДокумента,
    НоменклатураРодитель,
    Модель,
    ХарактеристикаНоменклатуры,
    ИностранныйРазмер
{ИТОГИ ПО
    КонтрагентПолучатель.*,
    ТипДокумента.*,
    НоменклатураРодитель.*,
    Модель.*,
    ХарактеристикаНоменклатуры.*,
    ИностранныйРазмер.*}
Основная теорема систематики: Новые системы плодят новые проблемы.