Отображение содержимого переменной

Оценить
(0 голоса)

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

Чтобы отобразить содержимое переменной, ее просто нужно объявить. Если формула не содержит никаких других операторов, объявление переменной также возвратит и ее в виде значения формулы. Например, чтобы показать, кто из заказчиков получил премию в группе регионов, можно было бы поместить в нижний колонтитул группы показанную ниже формулу:

StringVar HigestCustName

Чтобы отобразить значение переменной, вам не нужно ни добавлять в формулу какие-то другие операторы, ни даже ставить точку с запятой в конце строки объявления (это последняя строка в формуле).

Однако может случиться и так, что вы захотите отобразить содержимое переменной, когда в формуле для присваивания значения переменной уже используются какие-нибудь другие операторы. В этом случае простое объявление переменной не позволит отобразить ее содержимое, поскольку оператор объявления переменной не будет последней строкой формулы. В такой ситуации просто добавьте имя переменной в виде последней строки формулы. После этого при каждом выполнении формулы в отчете помимо всего прочего будет также отображаться и содержимое переменной. Например:

CurrentVar BonusAmount;

StringVar HigestCustName;

DateTimeVar DateBonusReached;

If {Order.Order Amount} > BonusAmount Then (HigestCustName := {Customer.Customer Name};

DateBonusReached := {Order.Order Date};

BonusAmount := {Order.Order Amount})

HigestCustName

Данная формула, как и раньше, выполняет проверку и присвоение значений переменным, однако на этот раз в ее последней строке указана просто строковая переменная HigestCustName. В результате эта формула появится на вкладке Design с маленьким значком х (если в окне Options сброшен флажок Show Field Names), и содержимое переменной HighestCustName будет отображаться при каждом выполнении формулы.

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

CurrentVar BonusAmount;

StringVar HigestCustName;

DateTimeVar DateBonusReached;

If {Order.Order Amount} > BonusAmount Then (HigestCustName := {Customer.Customer Name};

DateBonusReached := {Order.Order Date};

BonusAmount := {Order.Order Amount})

"По этому заказу текущая максимальная сумма составляет "

& ToText(BonusAmount) &

" она установлена " & HigestCustName & " дата: " &

ToText(DateBonusReached, "M/d/yy")

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

Времена вычисления формул и проходы отчета
Библиотеки пользовательских функций
Поля текущих сумм
Crystal Reports предлагает формулы
Студия Formula Workshop

Добавить комментарий


Защитный код
Обновить