Использование формул отчета или условного форматирования в качестве основы для извещений

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

Помимо отображения диалогового окна, показывающего, что извещение активизировано, и вывода отдельной вкладки со списком элементов, которые привели к его активизации, существуют также дополнительные возможности, которые Report Alerts предлагает для формул. В языке формул Crystal Reports для поддержки механизма извещений доступны три функции: IsAlertEnabled, IsAlertTriggered и AlertMessage. Каждая из этих функций принимает один аргумент — имя созданного ранее извещения отчета. Ниже упомянутые функции рассматриваются более подробно.

•    IsAlertEnabled. Возвращает значение true или false, что зависит от того, установлен флажок Enabled в диалоговом окне Create Alert или нет (см. рис. 7.12). Если флажок установлен, эта функция возвращает true. В противном случае она возвращает false.

•    IsAlertTriggered. Возвращает значение true или false, в зависимости от того, активизирует ли извещение запись, для которой вычисляется формула. Например, если мы создадим формулу, содержащую функцию IsAlertTriggered ("Order Exceeds 5, ООО"), эта функция будет возвращать true для всех записей, сумма заказа в которых выше $5000, и false для записей, в которых сумма заказа равняется или меньше $5000.

•    AlertMessage. Возвращает текст (сообщение), указанный для извещения. Это может быть либо жестко закодированное сообщение, которое было введено в текстовом поле Message при создании извещения, либо результат выполнения строковой формулы, которая была создана для извещения.

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

If IsAlertTriggered ("Превосходит уровень в $2004") Then GroupName ({Customer.Customer Name}) & " превзошел уровень в $2004"

Возможно, потребовалось бы сделать так, чтобы весь нижний колонтитул группы, приведшей к срабатыванию извещения, выделялся с помощью другого цвета фона. Поскольку все эти новые функции можно использовать как в формулах отчета, так и в формулах условного форматирования, вы могли бы условно установить для фона нижнего колонтитула группы имен заказчиков (Customer Name Group Footer) цвет морской волны с помощью эксперта Section Expert (Эксперт разделов), воспользовавшись такой условной формулой:

If IsAlertTriggered ("Превосходит уровень в $2004") Then сгAqua

Else

crNoColor

На заметку! Исчерпывающую информацию по форматированию разделов и эксперту Section Expert можно найти в главе 8.

Шаблоны Crystal Reports
Эксперт шаблонов
Как можно применять написанную формулу
Определение пользовательских функций
Создание собственных пользовательских функций

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


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