Редактор Custom Function Editor очень похож на редактор Formula Editor, который подробно рассматривался в главе 5. Его отличие состоит лишь в том, что в нем не отображается дерево полей, содержащее список полей базы данных, а дерево функций, содержащее список встроенных функций Crystal Reports, отображает несколько сокращенный набор встроенных функций.
Это расхождение объясняется тем, что пользовательские функции создаются так, чтобы они не зависели от отчета, в который помещаются; включение в пользовательскую функцию полей из базы данных не допускается — нет никакой гарантии, что при вызове данной функции в другом отчете эти поля будут доступны. В пользовательские функции также не разрешается включать и некоторые встроенные функции (например, такие как Evaluation Time, Print State и тому подобные) из-за их природы отсутствия состояния.
Совет. Несмотря на то что дерево функций содержит сокращенный набор опций, категория Custom Function (Пользовательская функция) в нем все-таки отображается; в этой категории вы можете выбрать какую-то другую существующую пользовательскую функцию для использования в текущей.
Теперь создайте логику для пользовательской функции, просто дважды щелкая на встроенных функциях в дереве функций и на операциях в дереве операций. Конечно же, вы можете ввести эти данные, а также сопутствующий код формулы, вручную. Как и в редакторе Formula Editor, перед тем, как сохранить созданную пользовательскую функцию, вы можете проверить ее синтаксис, щелкнув на кнопке Check (Проверить) в панели инструментов или нажав комбинацию клавиш <Alt+C>.