Одной из наиболее часто встречающихся при построении отчетов задач, является вывод промежуточных и общих итогов, когда нужно накапливать значение какого-либо поля. Конечно, это можно сделать с помощью формул, но поскольку задача очень распространена, Crystal Reports имеет в своем составе специальные инструменты.
Итак, открываем уже знакомый нам проводник полей. В проводнике жмем на вкладку Running Total, а на ней – кнопку New.
Открывается окно построения поля итогов:
В левой части – уже знакомый древовидный список полей. Справа – поле Running Total Name, куда следует занести имя поля. К имени поля итогового значения Crystal Reports автоматически добавляет суффикс # (диез).
Чуть ниже находится комбобокс Field to summarize, в котором выбирается поле отчета (или непосредственно БД), по которому будут производиться итоговые операции. Поместить поле в комбобокс можно и прямо из левого списка с помощью кнопки >.
Еще ниже находится комбобокс Type of summary, в котором выбирается операция, которая будет производиться над выбранным полем. Его содержание зависит от типа выбранного поля. Кроме суммирования доступны: вычисление среднего значения, среднеквадратического отклонения, максимального и минимального значений, подсчет количества записей и некоторые другие.
Ниже находится раздел Evaluate, в котором задаются условия, при которых будет производиться увеличение текущего итога. Условия выбираются с помощью соответствующего переключателя. Возможные значения:
Раздел Reset – задает условия, при которых будет производиться сброс значения итогового поля. Условия здесь те же, что и в предыдущем разделе, за исключением: вместо переключателя For each record (он в данном случае не имеет смысла), имеется переключатель None (никогда).
Обратите внимание: поля итогов вычисляются при проходе отчета While Printing Records, поэтому в них нельзя использовать формулы второго прохода.
После начатия кнопки OK созданное поле появится в окне Insert fields, откуда его можно методом перетаскивания вставить в отчет. Как правило, итоговые поля вставляются в колонтитул группы или колонтитул отчета.