helpf.pro
Регистрация

v8: Отчет с группировками

Kristina
14.09.2011 22:22Прочитано: 2693
Доброго времени суток всем! Подскажите пожалуйста, как получить отчет вот такой формы, фома отчета прилагается.
При получении результата запроса, если в одном документе были указаны различные причины, то это отображается соответственно с отдельных строках и сумма тоже, если в документе использовалась только одна причина, то это все группируется и получается только одна строчка, сумма соответственно тоже складывается.
Как сделать, так чтобы, при указании различных причин, все это тоже отображалась в одной строке при выводе отчета.title
Заранее всем спасибо за ответ.
Yandex
Возможно, вас также заинтересует
Реклама на портале
typeharley
15.09.2011 01:49Ответ № 1
Если я правильно понял, то:
1) Если есть возможность изменить запрос, то сгруппировать в запросе и вывод результата делать по группировкам.
2) Если такой возможности нет, тогда, ну это уже совсем общий вопрос программирования, примеров реализации много, приведу один:
1 шаг: ТаблЗапроса.Сортировать("Документ,Контрагент");
2 шаг: Перебираем в цикле, заводим переменную текущего документа и отслеживаем его изменение, и вторую переменную, которая накапливает сумма по всем Причинам текущего Документа, при изменении она обнуляется, и так далее в цикле

Можно еще по-другому, используя две таблицы:
Код 1C v 8.2 УП
 ТаблИтог = ТаблЗапроса.Скопировать();
ТаблИтог.Свернуть("Документ,Контрагент","Сумма");
ТаблИтог.Колонки.Добавить("Причины");
Для Каждого Стр Из ТаблИтог Цикл
Отбор = Новый Структура;
Отбор.Вставить("Документ", Стр.Документ);
НайдСтр = ТаблЗапроса.НайтиСтроки(Отбор);
СтрокаПричин = "";
Для i = 0 По НайдСтр.Количество()-1 Цикл
СтрокаПричин = СтрокаПричин + СокрЛП(i+1)+" "+СокрЛП(НайдСтр[i])+"
|";
КонецЦикла;
Стр.Причины = СтрокаПричин;
КонецЦикла;


Ну и далее цикл для вывода таблицы ТаблИтог в Макет, хотя можно и в предыдущем цикле.
Чем больше данных будет иметь таблица ТаблЗапроса, тем больше будет наблюдаться эффективность первого метода при переписании самого запроса и выборки по группировкам.

Писал от руки может где и забочинил...
Подсказка: Для быстрого поиска ответов - используйте 'Поиск'
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.