Добрый день, прошу помощи разобраться с запросом, чувствую разгатка где-то рядом нужен свежий взгяд. (8.2.19.106) Конфигурация от Раруса для МФО (1.0.20.1)

 Нужно в печатную форму вывести сумму значений из табличной части, это реализованно в одном макете так:

```1c
    Запрос.Текст = "ВЫБРАТЬ
    | мфоДоговорыКонтрагентов.Ссылка,
    | СУММА(ЕСТЬNULL(мфоВыдачаЗаймаГрафикПлатежей.СуммаПроценты, 0)) КАК СуммаПроценты,
    |ИЗ
    | Справочник.мфоДоговорыКонтрагентов КАК мфоДоговорыКонтрагентов
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.мфоВыдачаЗайма.ГрафикПлатежей КАК мфоВыдачаЗаймаГрафикПлатежей
    | ПО мфоДоговорыКонтрагентов.ДокументОснование = мфоВыдачаЗаймаГрафикПлатежей.Ссылка
    |ГДЕ
    | (мфоДоговорыКонтрагентов.Ссылка В (&МассивОбъектов)
    | ИЛИ мфоДоговорыКонтрагентов.ДокументОснование В (&МассивОбъектов))
    |
    |СГРУППИРОВАТЬ ПО
    | мфоДоговорыКонтрагентов.Ссылка
```
 все работает

```1c
    Запрос.Текст = "ВЫБРАТЬ
    |мфоОбеспечениеЗайма.Ссылка КАК Ссылка,
    |СУММА(ЕСТЬNULL(мфоВыдачаЗаймаГрафикПлатежей.СуммаПроценты, 0)) КАК СуммаПроценты,
    |ИЗ
    | Документ.мфоОбеспечениеЗайма КАК мфоОбеспечениеЗайма
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.мфоВыдачаЗайма.ГрафикПлатежей КАК мфоВыдачаЗаймаГрафикПлатежей
    | ПО мфоОбеспечениеЗайма.Ссылка.ДокументОснование = мфоВыдачаЗаймаГрафикПлатежей.Ссылка
    |ГДЕ
    | мфоОбеспечениеЗайма.Ссылка В(&МассивОбъектов)
    | И ТЧЗаемщик.ВидОбеспечения <> ЗНАЧЕНИЕ(Перечисление.мфоВидыОбеспечения.Поручительство)
    |
    |УПОРЯДОЧИТЬ ПО
    | Ссылка
    |ИТОГИ
    | МАКСИМУМ(СуммаПроценты)
    |ПО
    | Ссылка";
```
 ругается {(2, 2)}: Поле не входит в группу "мфоОбеспечениеЗайма.Ссылка"
<<?>>мфоОбеспечениеЗайма.Ссылка КАК Ссылка,

Помогите пожалуйста, понимаю, что проблема в написании запроса, как вывести данные именно из второго варианта? Спаисбо
---
cheiser1982, это "ПО" относится к ИТОГИ. Не путайте человека - по вашему совету смысл ИТОГИ меняется.
(1) Rasten, если вставили агрегатную функцию

```1c
    СУММА()
```
, то в 1С вы должны по всем остальным полям:
- либо использовать агрегатные функции
- либо сделать СГРУППИРОВАТЬ по этим полям
(3) Tiger86, и еще, группировку забылиГруппировку забыл, но СГРУППИРОВАТЬ - это только часть решения.
Полное решение - выше.
---
Rasten,
```1c
    |ИТОГИ
    | МАКСИМУМ(СуммаПроценты)
    |СГРУППИРОВАТЬ ПО
    | Ссылка";
```

Перед "ПО" слово "СГРУППИРОВАТЬ" пропущено
---
cheiser1982, это "ПО" относится к ИТОГИ. Не путайте человека - по вашему совету смысл ИТОГИ меняется.
(1) Rasten, если вставили агрегатную функцию

```1c
    СУММА()
```
, то в 1С вы должны по всем остальным полям:
- либо использовать агрегатные функции
- либо сделать СГРУППИРОВАТЬ по этим полям
(3) Tiger86, и еще, группировку забылиГруппировку забыл, но СГРУППИРОВАТЬ - это только часть решения.
Полное решение - выше.
---
cheiser1982, ИТОГИ и СГРУППИРОВАТЬ - это разные инструкции запроса, хотя и используют оба конструкцию "ПО".
---
AlexO, если все убрать оставить только зарос процентов то все работает

```1c
    Запрос.Текст = "ВЫБРАТЬ
    | мфоОбеспечениеЗайма.Ссылка КАК Ссылка,
    | СУММА(ЕСТЬNULL(мфоВыдачаЗаймаГрафикПлатежей.СуммаПроценты, 0)) КАК СуммаПроценты
    |ИЗ
    | Документ.мфоОбеспечениеЗайма КАК мфоОбеспечениеЗайма
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.мфоВыдачаЗайма.ГрафикПлатежей КАК мфоВыдачаЗаймаГрафикПлатежей
    | ПО мфоОбеспечениеЗайма.Ссылка.ДокументОснование = мфоВыдачаЗаймаГрафикПлатежей.Ссылка
    ПО мфоОбеспечениеЗайма.ДокументОснование.Контрагент.ФизЛицо = ДокументыФизическихЛицСрезПоследних.Физлицо
    |ГДЕ
    | (мфоОбеспечениеЗайма.Ссылка В(&МассивОбъектов)
    | ИЛИ мфоОбеспечениеЗайма.Ссылка.ДокументОснование В (&МассивОбъектов))
    |СГРУППИРОВАТЬ ПО
    | мфоОбеспечениеЗайма.Ссылка" ;
```

Как тогда проще выйти из ситуации? в целом запрос большой,а использует агрегартую функцию только в одной строке.
---
Rasten, СГРУППИРОВАТЬ - суммирует (или МАКСИМУМ, или МИНИМУМ, или прочие агрегатные функции) по всем полям результата запроса. И применяется либо ко всем полям, либо - ни к одному. Нельзя в 1С у одного поля поставить "СУММА()", а остальные - оставить без агрегатных функций или СГРУППИРОВАТЬ ПО.
Если вам нужно просуммировать что-то и получить более общий результат по полученным записям (из нескольких записей "одного набора" - сделать одну суммарную, и так просуммировать по всем наборам и вывести итоговые записи по наборам) - суммируйте.
ИТОГИ - это итоги (окончательная сумма результата, едиснтвенная запись) по указанным колонкам. Нужно - используйте.
Вы определитесь, что вам нужно для получения решения.
---
AlexO, ИТОГИ - это итоги (окончательная сумма результата, едиснтвенная запись) по указанным колонкам. Нужно - используйте.

ваша неправда - вы с "Общими итогами" путаете,
это не едиснтвенная запись
просто Итоги - сгруппирует по полю |мфоОбеспечениеЗайма.Ссылка КАК Ссылка,

и выведет в таблицу дополнительную строку с максимальным значением мфоВыдачаЗаймаГрафикПлатежей.СуммаПроценты, в пределах одной ссылки

далее эти строки можно получить как то так
РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Ссылка");

весьма удобно, кстати
---
Rasten, а использует агрегартую функциюНачните с того - что вы получаете в качестве "сырого" результата, и что хотите получить в конечном итоге.
Прямо распишите для себя записи (сделайте таблицу-модель получаемых данных), и что - хотите видеть окончательно.
---
AlexO, запрос рабочий, Проблема ввыводе процентов, т.к. это сумма значений табличной части. Есть ли аналог СУММА()", чтобы не перестраивать запрос под "СГРУППИРОВАТЬ"?
---
Rasten, можно использовать пакетный запрос, внутри пакетов выполнять определенные действия, а потом делать результирующий запрос. Почитайте про пакетные запросы.
---
AlexO, если все убрать оставить только зарос процентов то все работает

```1c
    Запрос.Текст = "ВЫБРАТЬ
    | мфоОбеспечениеЗайма.Ссылка КАК Ссылка,
    | СУММА(ЕСТЬNULL(мфоВыдачаЗаймаГрафикПлатежей.СуммаПроценты, 0)) КАК СуммаПроценты
    |ИЗ
    | Документ.мфоОбеспечениеЗайма КАК мфоОбеспечениеЗайма
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.мфоВыдачаЗайма.ГрафикПлатежей КАК мфоВыдачаЗаймаГрафикПлатежей
    | ПО мфоОбеспечениеЗайма.Ссылка.ДокументОснование = мфоВыдачаЗаймаГрафикПлатежей.Ссылка
    ПО мфоОбеспечениеЗайма.ДокументОснование.Контрагент.ФизЛицо = ДокументыФизическихЛицСрезПоследних.Физлицо
    |ГДЕ
    | (мфоОбеспечениеЗайма.Ссылка В(&МассивОбъектов)
    | ИЛИ мфоОбеспечениеЗайма.Ссылка.ДокументОснование В (&МассивОбъектов))
    |СГРУППИРОВАТЬ ПО
    | мфоОбеспечениеЗайма.Ссылка" ;
```

Как тогда выйти проще выйти из ситуации? в целом запрос большой использует агрегартую функцию, только в одной строке.
---
AlexO, да, прошу прощения, запутался...
---
а вы не пробовали в конструкторе создавать запросы? создавайте заново в конструкторе.
---
и еще, группировку забыли (именно про это вам ошибка и говорит)
```1c
    |СГРУППИРОВАТЬ ПО
    | мфоДоговорыКонтрагентов.Ссылка
```
 как раз по причине, что руками делаете...
---
|СУММА(ЕСТЬNULL(мфоВыдачаЗаймаГрафикПлатежей.СуммаПроценты, 0)) КАК СуммаПроценты,

вероятно, в такой конструкции Сумма() - лишняя, если используются итоги то сумма тут не используется
может надо написать так

|ЕСТЬNULL(мфоВыдачаЗаймаГрафикПлатежей.СуммаПроценты, 0) КАК СуммаПроценты,
---
Передалал в "СГРУППИРОВАТЬ по" все работает всем спасибо.