Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
Добрый день, прошу помощи разобраться с запросом, чувствую разгатка где-то рядом нужен свежий взгяд. (8.2.19.106) Конфигурация от Раруса для МФО (1.0.20.1)
Нужно в печатную форму вывести сумму значений из табличной части, это реализованно в одном макете так:
все работает
ругается {(2, 2)}: Поле не входит в группу "мфоОбеспечениеЗайма.Ссылка"
<<?>>мфоОбеспечениеЗайма.Ссылка КАК Ссылка,
Помогите пожалуйста, понимаю, что проблема в написании запроса, как вывести данные именно из второго варианта? Спаисбо
Нужно в печатную форму вывести сумму значений из табличной части, это реализованно в одном макете так:
Запрос.Текст = "ВЫБРАТЬ
| мфоДоговорыКонтрагентов.Ссылка,
| СУММА(ЕСТЬNULL(мфоВыдачаЗаймаГрафикПлатежей.СуммаПроценты, 0)) КАК СуммаПроценты,
|ИЗ
| Справочник.мфоДоговорыКонтрагентов КАК мфоДоговорыКонтрагентов
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.мфоВыдачаЗайма.ГрафикПлатежей КАК мфоВыдачаЗаймаГрафикПлатежей
| ПО мфоДоговорыКонтрагентов.ДокументОснование = мфоВыдачаЗаймаГрафикПлатежей.Ссылка
|ГДЕ
| (мфоДоговорыКонтрагентов.Ссылка В (&МассивОбъектов)
| ИЛИ мфоДоговорыКонтрагентов.ДокументОснование В (&МассивОбъектов))
|
|СГРУППИРОВАТЬ ПО
| мфоДоговорыКонтрагентов.Ссылка
Показать
Запрос.Текст = "ВЫБРАТЬ
|мфоОбеспечениеЗайма.Ссылка КАК Ссылка,
|СУММА(ЕСТЬNULL(мфоВыдачаЗаймаГрафикПлатежей.СуммаПроценты, 0)) КАК СуммаПроценты,
|ИЗ
| Документ.мфоОбеспечениеЗайма КАК мфоОбеспечениеЗайма
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.мфоВыдачаЗайма.ГрафикПлатежей КАК мфоВыдачаЗаймаГрафикПлатежей
| ПО мфоОбеспечениеЗайма.Ссылка.ДокументОснование = мфоВыдачаЗаймаГрафикПлатежей.Ссылка
|ГДЕ
| мфоОбеспечениеЗайма.Ссылка В(&МассивОбъектов)
| И ТЧЗаемщик.ВидОбеспечения <> ЗНАЧЕНИЕ(Перечисление.мфоВидыОбеспечения.Поручительство)
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|ИТОГИ
| МАКСИМУМ(СуммаПроценты)
|ПО
| Ссылка";
Показать<<?>>мфоОбеспечениеЗайма.Ссылка КАК Ссылка,
Помогите пожалуйста, понимаю, что проблема в написании запроса, как вывести данные именно из второго варианта? Спаисбо
Найденные решения
(4) cheiser1982, это "ПО" относится к ИТОГИ. Не путайте человека - по вашему совету смысл ИТОГИ меняется.
(1) Rasten, если вставили агрегатную функцию
, то в 1С вы должны по всем остальным полям:
- либо использовать агрегатные функции
- либо сделать СГРУППИРОВАТЬ по этим полям
(3) Tiger86,
Полное решение - выше.
(1) Rasten, если вставили агрегатную функцию
СУММА()
- либо использовать агрегатные функции
- либо сделать СГРУППИРОВАТЬ по этим полям
(3) Tiger86,
и еще, группировку забыли
Группировку забыл, но СГРУППИРОВАТЬ - это только часть решения.
Полное решение - выше.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) cheiser1982, это "ПО" относится к ИТОГИ. Не путайте человека - по вашему совету смысл ИТОГИ меняется.
(1) Rasten, если вставили агрегатную функцию
, то в 1С вы должны по всем остальным полям:
- либо использовать агрегатные функции
- либо сделать СГРУППИРОВАТЬ по этим полям
(3) Tiger86,
Полное решение - выше.
(1) Rasten, если вставили агрегатную функцию
СУММА()
- либо использовать агрегатные функции
- либо сделать СГРУППИРОВАТЬ по этим полям
(3) Tiger86,
и еще, группировку забыли
Группировку забыл, но СГРУППИРОВАТЬ - это только часть решения.
Полное решение - выше.
(6) AlexO, если все убрать оставить только зарос процентов то все работает
Как тогда проще выйти из ситуации? в целом запрос большой,а использует агрегартую функцию только в одной строке.
Запрос.Текст = "ВЫБРАТЬ
| мфоОбеспечениеЗайма.Ссылка КАК Ссылка,
| СУММА(ЕСТЬNULL(мфоВыдачаЗаймаГрафикПлатежей.СуммаПроценты, 0)) КАК СуммаПроценты
|ИЗ
| Документ.мфоОбеспечениеЗайма КАК мфоОбеспечениеЗайма
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.мфоВыдачаЗайма.ГрафикПлатежей КАК мфоВыдачаЗаймаГрафикПлатежей
| ПО мфоОбеспечениеЗайма.Ссылка.ДокументОснование = мфоВыдачаЗаймаГрафикПлатежей.Ссылка
ПО мфоОбеспечениеЗайма.ДокументОснование.Контрагент.ФизЛицо = ДокументыФизическихЛицСрезПоследних.Физлицо
|ГДЕ
| (мфоОбеспечениеЗайма.Ссылка В(&МассивОбъектов)
| ИЛИ мфоОбеспечениеЗайма.Ссылка.ДокументОснование В (&МассивОбъектов))
|СГРУППИРОВАТЬ ПО
| мфоОбеспечениеЗайма.Ссылка" ;
ПоказатьКак тогда проще выйти из ситуации? в целом запрос большой,а использует агрегартую функцию только в одной строке.
(7) Rasten, СГРУППИРОВАТЬ - суммирует (или МАКСИМУМ, или МИНИМУМ, или прочие агрегатные функции) по всем полям результата запроса. И применяется либо ко всем полям, либо - ни к одному. Нельзя в 1С у одного поля поставить "СУММА()", а остальные - оставить без агрегатных функций или СГРУППИРОВАТЬ ПО.
Если вам нужно просуммировать что-то и получить более общий результат по полученным записям (из нескольких записей "одного набора" - сделать одну суммарную, и так просуммировать по всем наборам и вывести итоговые записи по наборам) - суммируйте.
ИТОГИ - это итоги (окончательная сумма результата, едиснтвенная запись) по указанным колонкам. Нужно - используйте.
Вы определитесь, что вам нужно для получения решения.
Если вам нужно просуммировать что-то и получить более общий результат по полученным записям (из нескольких записей "одного набора" - сделать одну суммарную, и так просуммировать по всем наборам и вывести итоговые записи по наборам) - суммируйте.
ИТОГИ - это итоги (окончательная сумма результата, едиснтвенная запись) по указанным колонкам. Нужно - используйте.
Вы определитесь, что вам нужно для получения решения.
(8) AlexO, ИТОГИ - это итоги (окончательная сумма результата, едиснтвенная запись) по указанным колонкам. Нужно - используйте.
ваша неправда - вы с "Общими итогами" путаете,
это не едиснтвенная запись
просто Итоги - сгруппирует по полю |мфоОбеспечениеЗайма.Ссылка КАК Ссылка,
и выведет в таблицу дополнительную строку с максимальным значением мфоВыдачаЗаймаГрафикПлатежей.СуммаПроценты, в пределах одной ссылки
далее эти строки можно получить как то так
РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Ссылка");
весьма удобно, кстати
ваша неправда - вы с "Общими итогами" путаете,
это не едиснтвенная запись
просто Итоги - сгруппирует по полю |мфоОбеспечениеЗайма.Ссылка КАК Ссылка,
и выведет в таблицу дополнительную строку с максимальным значением мфоВыдачаЗаймаГрафикПлатежей.СуммаПроценты, в пределах одной ссылки
далее эти строки можно получить как то так
РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Ссылка");
весьма удобно, кстати
(7) Rasten,
Прямо распишите для себя записи (сделайте таблицу-модель получаемых данных), и что - хотите видеть окончательно.
а использует агрегартую функцию
Начните с того - что вы получаете в качестве "сырого" результата, и что хотите получить в конечном итоге.
Прямо распишите для себя записи (сделайте таблицу-модель получаемых данных), и что - хотите видеть окончательно.
(6) AlexO, если все убрать оставить только зарос процентов то все работает
Как тогда выйти проще выйти из ситуации? в целом запрос большой использует агрегартую функцию, только в одной строке.
Запрос.Текст = "ВЫБРАТЬ
| мфоОбеспечениеЗайма.Ссылка КАК Ссылка,
| СУММА(ЕСТЬNULL(мфоВыдачаЗаймаГрафикПлатежей.СуммаПроценты, 0)) КАК СуммаПроценты
|ИЗ
| Документ.мфоОбеспечениеЗайма КАК мфоОбеспечениеЗайма
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.мфоВыдачаЗайма.ГрафикПлатежей КАК мфоВыдачаЗаймаГрафикПлатежей
| ПО мфоОбеспечениеЗайма.Ссылка.ДокументОснование = мфоВыдачаЗаймаГрафикПлатежей.Ссылка
ПО мфоОбеспечениеЗайма.ДокументОснование.Контрагент.ФизЛицо = ДокументыФизическихЛицСрезПоследних.Физлицо
|ГДЕ
| (мфоОбеспечениеЗайма.Ссылка В(&МассивОбъектов)
| ИЛИ мфоОбеспечениеЗайма.Ссылка.ДокументОснование В (&МассивОбъектов))
|СГРУППИРОВАТЬ ПО
| мфоОбеспечениеЗайма.Ссылка" ;
ПоказатьКак тогда выйти проще выйти из ситуации? в целом запрос большой использует агрегартую функцию, только в одной строке.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот