Crystal Reports: глобальная переменная промежуточная сумма не отображается в заголовке - PullRequest
5 голосов
/ 02 ноября 2009

Использование Crystal Reports Я пытаюсь отобразить промежуточный итог поля базы данных в заголовке, где находятся все метки.

Я попытался сделать это, поместив промежуточную сумму (RTversion) в поле формулы со следующим:

Shared stringvar CurrentVers; 
CurrentVers := {#CurrentVers}; 

и затем в разделе заголовка страницы у меня есть следующее:

Shared stringvar CurrentVers; 
EvaluateAFter({#currentVers}); 
CurrentVers; 

с {#CurrentVers} запущенным 1-м по величине числом.

Это неверно?

Обновление: цель состоит в том, чтобы отобразить последнюю версию в заголовке рядом с метками, чтобы показать, какой текущий вариант предназначен для сравнения.

Ответы [ 6 ]

4 голосов
/ 28 июля 2010

Создайте формулу, подобную этой

formula = Count ({Field to count},{GroupFieldName}) 

и поместите его в раздел заголовка группы.

4 голосов
/ 04 ноября 2009

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

Вам потребуется создать итоговую ручную сумму.

Добавьте поле формулы в раздел «Сведения», который заполняет глобальную переменную всем, что вы пытаетесь захватить. Что-то вроде:

//use WhileReadingRecords if the values can be gathered as the report pulls in values from the database.  Otherwise, use WhilePrintingRecords. 
WhileReadingRecords;
Global Stringvar CurrentVers;
//logic here to capture what you want
CurrentVers:=...

Добавьте еще одно поле формулы в раздел «Заголовок». Добавьте эти две строки к нему:

WhilePrintingRecords;
Global Stringvar CurrentVers;
1 голос
/ 23 мая 2010

Я понял это ..

Мне пришлось добавить подотчет в основной отчет. Я скопировал основной отчет и переименовал его в подотчет. В подотчете я добавил общую переменную и затем передал ее в основной отчет. Хитрость заключается в том, чтобы поместить подотчет в тот же заголовок группы, но в отдельный раздел над разделом, который необходимо исключить. Я фактически добавил следующие разделы:

Новый раздел (та же группа, я разместил здесь подотчет; не подавлять) Новый раздел (та же группа - я поместил значение общей переменной здесь; не подавлять) Исходный раздел (та же группа, у которой есть заголовок, который мне нужно исключить на основе промежуточного итога)

0 голосов
/ 22 апреля 2013

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

0 голосов
/ 30 августа 2012

Вы можете решить это только с одним полем формулы:

WhilePrintingRecords;
// Enter logic here e.g.
// maximum({mytable.myfield});

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

0 голосов
/ 03 ноября 2009

Если {#CurrentVers} является полем с обычным текущим итогом, вы должны иметь возможность поместить его непосредственно в заголовок страницы, а не прибегать к дополнительной формуле. Я не вижу здесь необходимости ни в одном из полей формулы, если только в составе {#CurrentVers} нет чего-то необычного, а промежуточное итоговое число «наибольшее число» не должно требовать ничего необычного.

...