Извещения отчета

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

Помимо возможностей условного форматирования, о которых мы рассказывали в этой главе, Crystal Reports также позволяет выделять записи, отвечающие определенному требованию, с помощью средства Report Alerts. Report Alerts (Извещения отчета) разрешает установить условие, которое Crystal Reports будет проверять при каждом обновлении отчета (выполняемом либо посредством щелчка на кнопке Refresh (Обновить), расположенной в панели навигационных инструментальных средств (или рядом с кнопкам навигации по странице), либо путем выбора в меню Report (Отчет) пункта Refresh Report Data (Обновить данные отчета), либо путем нажатия клавиши <F5>). Средство Report Alerts может также использоваться для выделения нужных условий или отправки сообщения по электронной почте, если выполнение отчетов планируется с помощью Web-ориентированных систем BusinessObjects Enterprise или Crystal Reports Server (см. часть II данной книги).

Хотя возможность отформатировать разделы и объекты отчета, положив в основу какое-нибудь определенное условие, существовала всегда, узнать, кто или что привело к его “срабатыванию”, можно было только внимательно просмотрев (страница за страницей) все условно отформатированные разделы. Теперь, если в отчете используется Report Alerts, в случае выполнения указанных условий на экране будет появляться дополнительное диалоговое окно. Щелчок на кнопке в этом окне приведет к отображению отдельной вкладки (подобной вкладке перехода на более высокий уровень детализации), в которой будут перечислены только удовлетворяющие условию извещения записи.

Чтобы начать работу с Report Alerts, выберите в меню Report пункт Alerts1^Create or Modify Alerts (Извещения^Создать или изменить извещение). На экране появится диалоговое окно Create Alerts (Создать извещения), показанное на рис. 7.11. Если в отчете уже были созданы какие-то извещения, они будут отображаться в этом диалоговом окне.

Извещения отчета

При желании изменить существующее извещение, выделите его в диалоговом окне и щелкните на кнопке Edit (Редактировать). Чтобы удалить существующее извещение, выделите его и щелкните на кнопке Delete (Удалить). Если в отчете нет извещений, диалоговое окно будет пустым.

Чтобы создать новое извещение, щелкните на кнопке New (Новое). На экране появится диалоговое окно Create Alert (Создать извещение), показанное на рис. 7.12. В этом окне обязательно укажите название для извещения, воспользовавшись текстовым полем Name (Имя), и условие, которое должно приводить к появлению данного извещения, щелкнув на кнопке Condition (Условие). Также, по желанию, можете либо ввести в поле Message (Сообщение) текст сообщения, которое будет появляться при “срабатывании” извещения, либо настроить это сообщение с помощью строковой формулы, щелкнув на кнопке условной формулы. Щелчок на кнопке Condition приведет к появлению окна редактора Formula Editor, где вам необходимо будет ввести булевскую формулу, определяющую, когда должно срабатывать данное извещение (для получения более подробной информации о булевских формулах обратитесь в главу 5). При желании временно отключить извещение, не удаляя его полностью, просто сбросьте флажок Enabled (Включено).

Для примера представим, что вы хотите создать простой отчет, отображающий размещенные заказы, в котором, если сумма заказа превышает, скажем, $5000, должно появляться извещение. Сначала создайте сам отчет, как обычно это делаете, а затем создайте новое извещение. Выберите имя для извещения (например, “Order Exceeds 5,000” (“Стоимость заказа превышает $5000”)), введите текст, который должен отображаться при срабатывании этого извещения, а затем щелкните на кнопке Condition. Введите булевскую формулу, указывающую, какие записи должны приводить к появлению извещения, например:

(Order.Order Amount) > 5000

Сохранив извещение, обновите отчет. Если сумма какого-то заказа в отчете превысит $5000, появится диалоговое окно Report Alerts, информирующее о том, что извещение сработало (рис. 7.13).

Чтобы увидеть отдельную вкладку, показывающую все записи отчета с заказами на сумму, превышающую $5000, просто щелкните на кнопке View Records (Просмотреть записи). Появится отдельная вкладка (похожая на вкладки перехода на более высокий уровень детализации, рассматриваемые в главах 3 и 8), в которой будут присутствовать только записи, отвечающие этому условию (рис. 7.14).

Извещения отчета

Рис. 7.14. Вкладка с записями, соответствующими условию извещения

Извещения вовсе не обязательно основывать на полях базы данных, как это было сделано в предыдущем примере. В качестве основы могут использоваться размещаемые в нижних колонтитулах групп поля сводок или промежуточных сумм (хотя формулы WhilePrintingReports, также называемые формулами второго прохода, использовать нельзя). Например, вы можете решить создать поле параметра (см. главу 13), в котором пользователь должен будет указать нижний порог для итоговой суммы заказов клиентов. Затем вы можете создать извещение, которое будет появляться, если промежуточная сумма заказа, отображаемая в нижнем колонтитуле группы заказчиков, превысит значение, указанное в поле параметра.

Извещения отчета

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

Sum({Orders.Order Amount}, {Customer.Customer Name}) >

{?Report Alert Threshold}

 

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

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


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