Суммирование в футере

starcomputerstarcomputer Украина, Донецк
отредактировано 07:43 Раздел: FastReport 2.xx VCL
Есть отчет следующего вида

GroupHeader1
GroupHeader2
GroupHeader3
MasterData1 - невидим
GroupFooter3 - здесь выводится поле, которое нужно подсчитать
GroupFooter2
GroupFooter1

Нужно в GroupFooter2 получить сумму по GroupFooter3!
SUM(поле, GroupFooter3, 1) выдает все время ноль.

Подскажите варианты !!!
SUM(поле, MasterData1, 1) использовать не могу, мне нужно считать не все строки, а только которые видны в GroupFooter3

Комментарии

  • отредактировано 07:43
    Если я правильно понял:
    GroupHeader2.OnBeforePrint:
    begin
     SUM_GroupHeader3:=0;
    end
    
    GroupFooter3.OnBeforePrint:
    begin
     SUM_GroupHeader3:=SUM_GroupHeader3+SUM(поле, MasterData1, 1);
    end
    
  • starcomputerstarcomputer Украина, Донецк
    отредактировано 07:43
    Да нет, неправильно.
    СУть в следующем:

    По определенным причинам во всех записях базы данных это поле имеет значение. При группировке через мастер пройдут все записи, а мне нужно получить сумму только тех, которые видны в футере.

    Да, объяснил... я бы не понял...

    Попытаюсь по другому:
    Есть две таблицы:
    план производства (на месяц) там план на цепый месяц,
    т.е. стоит номер месяца - план - цех
    во второй таблице - реальное производство по цехам т.е. стоит дата - количество - цех
    Для обработки таблицы соединяются через JOIN после этого общая таблица выглядит так:
    дата - план - производство - цех, при этом план это план месяца, а не даты
    после группировки в футере группы будут неповторяющиеся названия цехов
    с объемом месячного производства (это можно получить суммой) и планом (можно получить функцией MIN, MAX и т.п.)
    Теперь в следующем футере (нижнем) нужно получить объем производства по всем цехам (опять же суммой со ссылкой на мастер), а вот план, не могу же я его суммировать через мастер, тогда получу план месяца умноженный на количество записей этого цеха.

    Вот и бьюсь !!! ;)

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.