![]() |
![]() |
![]() |
|
Подсчет итогов при выводе группировок | ☑ | ||
---|---|---|---|---|
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
|
причем в стандартном отчете "Взаиморасчеты по контрагентам" данные присутствуют
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |