Определение пользовательских функций

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

Пользовательские функции очень похожи на обычные функции, которые можно найти в дереве функций редактора Formula Editor (для получения более подробной информации о формулах и дереве функций обратитесь в главу 5). Например, встроенная функция ToText, написанная на языке формул Crystal Reports, преобразует данные нетекстового типа (такие как числа) в текстовые. Встроенная функция Left возвращает заданное количество символов из левой части строкового значения, а встроенная функция Round округляет цифровое значение до заданного количества десятичных знаков.

Но что же делать в тех случаях, когда возникает потребность в наличии функции, которой нет среди встроенных функций Crystal Reports? Например, вам может понадобиться сосчитать число рабочих дней между двумя датами без учета выходных и праздников. Или вы можете захотеть подсчитать процент скидок для клиентов и при этом сделать так, чтобы этот процент зависел от нескольких факторов, таких как размер суммы заказа, количество заказов, сделанных клиентом за прошлый год, и время, на протяжении которого данный человек является клиентом вашей компании. Конечно же, вы можете с помощью развитого языка формул Crystal Reports написать эти специальные формулы самостоятельно, однако применение одной и той же логики снова и снова во множестве формул или совместное использование этой логики с другими разработчиками отчетов — вот те области, где пользовательские функции оказываются как никогда кстати.

Доступные пользовательские функции (то есть те, которые были написаны вами после создания отчета либо были добавлены из репозитория) будут отображаться окне редактора Formula Editor вместе со встроенными функциями. Однако пользовательские функции будут отображаться в своей собственной категории Custom Functions (Пользовательские функции) дерева функций, как показано на рис. 6.1.

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

 

Создание собственных пользовательских функций
Аргументы пользовательской функции
Кнопка Enter More Info
Создание пользовательской функции с нуля
Редактор Custom Function Editor

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


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