|   |   | 
| 
 | Подсчет итогов при выводе группировок | ☑ | ||
|---|---|---|---|---|
| 0
    
        shadow_sw 30.06.16✎ 11:39 | 
        доброго времени суток!
 Написал запрос ВЫБРАТЬ ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент КАК Контрагент, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ВидВзаиморасчетов КАК ДоговорКонтрагентаВидВзаиморасчетов, ВзаиморасчетыСКонтрагентами.Регистратор КАК Регистратор, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток КАК СуммаВзаиморасчетовНачальныйОстаток, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК СуммаВзаиморасчетовПриход, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК СуммаВзаиморасчетовРасход, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК СуммаВзаиморасчетовКонечныйОстаток ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , ) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами ПО ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента = ВзаиморасчетыСКонтрагентами.ДоговорКонтрагента ГДЕ ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент = &Кон И ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ВидВзаиморасчетов В(&вид) СГРУППИРОВАТЬ ПО ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента.ВидВзаиморасчетов, ВзаиморасчетыСКонтрагентами.Регистратор, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовРасход, ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток ИТОГИ СУММА(СуммаВзаиморасчетовНачальныйОстаток), СУММА(СуммаВзаиморасчетовПриход), СУММА(СуммаВзаиморасчетовРасход), СУММА(СуммаВзаиморасчетовКонечныйОстаток) ПО Контрагент, ДоговорКонтрагента вывожу информацию ВыборкаКонтрагент = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаКонтрагент.Следующий() Цикл СекцияКонтрагент.Параметры.Контрагент = ВыборкаКонтрагент.Контр; СекцияКонтрагент.Параметры.НачОстКонт = ВыборкаКонтрагент.НачОст; СекцияКонтрагент.Параметры.ПриходКонт = ВыборкаКонтрагент.Приход; СекцияКонтрагент.Параметры.РасходКонт = ВыборкаКонтрагент.Расход; СекцияКонтрагент.Параметры.КонОстКонт = ВыборкаКонтрагент.КонОст; ДокРезультат.Вывести(СекцияКонтрагент, 1); ВыборкаДоговор =ВыборкаКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаДоговор.Следующий() Цикл СекцияДоговор.Параметры.Договор= ВыборкаДоговор.Дог; СекцияДоговор.Параметры.Вид= ВыборкаДоговор.Вид; СекцияДоговор.Параметры.НачОст= ВыборкаДоговор.НачОст; СекцияДоговор.Параметры.Приход= ВыборкаДоговор.Приход; СекцияДоговор.Параметры.Расход= ВыборкаДоговор.Расход; СекцияДоговор.Параметры.КонОст= ВыборкаДоговор.КонОст; ДокРезультат.Вывести(СекцияДоговор,2); ВыборкаДок = ВыборкаДоговор.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаДок.Следующий() Цикл СекцияДокумент.Параметры.Документ = ВЫборкаДок.Док; Если ТипЗнч(ВыборкаДок.Док) = Тип("ДокументСсылка.КорректировкаДолга") Тогда Для Каждого Строка из ВыборкаДок.Док.СуммыДолга Цикл Если ВыборкаДоговор.Дог = Строка.ДоговорКонтрагента Тогда СекцияДокумент.Параметры.ДокПрих = Строка.Сумма; СекцияДокумент.Параметры.ДокРасх = 0; ДокРезультат.Вывести(СекцияДокумент,3); КонецЕсли; КонецЦикла;; Иначе СекцияДокумент.Параметры.ДокПрих = 0; СекцияДокумент.Параметры.ДокРасх = ВыборкаДок.Док.СуммаДокумента; ДокРезультат.Вывести(СекцияДокумент,3); КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; Получаю картину http://s011.radikal.ru/i317/1606/60/a904f243a50f.png Итоговые суммы в разрезе группировок, увеличиваются пропорционально количеству строк, подскажите ЧЯДНТ? | |||
| 1
    
        В тылу врага 30.06.16✎ 11:48 | 
        (0) а зачем тут соединение в запросе?     | |||
| 2
    
        В тылу врага 30.06.16✎ 11:48 | 
        достаточно поставить у ОстаткиИОбороты периодичность "регистратор"     | |||
| 3
    
        shadow_sw 30.06.16✎ 12:25 | 
        Спасибо :)иногда ткнуть носом лучше всего ;)     | |||
| 4
    
        shadow_sw 06.07.16✎ 11:40 | 
        подниму, уважаемый такой вопрос, почему не формируются итоги именно по одному контрагенту?
 http://s017.radikal.ru/i434/1607/d1/35d5e8806c1c.png картина в консоли | |||
| 5
    
        shadow_sw 06.07.16✎ 12:09 | 
        причем в стандартном отчете "Взаиморасчеты по контрагентам" данные присутствуют     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |