Кнопка Enter More Info

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

Извлекая пользовательскую функцию из формулы, вы в диалоговом окне Extract Custom Function from Formula увидите кнопку Enter More Information (Ввести дополнительную информацию). Если вы щелкните на этой кнопке, на экране появится диалоговое окно Custom Function Properties (Свойства пользовательской функции), показанное на рис. 6.3.

Затененные области этого диалогового окна предназначены только для справки, в них ничего нельзя изменять. Поля Summary (Обзор) и Arguments (Аргументы) соответствуют аналогичным полям в диалоговом окне Extract Custom Function From Formula — внесение изменений в содержимое этих полей в данном окне приведет к изменению содержимого этих полей в окне Extract Custom Function From Formula и наоборот. Однако изменить значения в полях Category (Категория) и Author (Автор), состояние флажка Display In Experts (Отображать в экспертах), значения аргументов по умолчанию и текст справки получится только в этом диалоговом окне.

Рис. 6.3. Диалоговое окно Custom Function Properties

Category (Категория). Если вы посмотрите на пользовательские функции, поставляемые в репозитории BusinessObjects Enterprise Xl/Crystal Reports Server XI, то увидите, что они организованы в виде многоуровневой иерархии (например, пользовательская функция cdDateDif f SkipHolidays находится в категории Date (Дата), которая, в свою очередь, находится в категории Crystal). Вы тоже можете создать категории и иерархии для своих собственных пользовательских функций, воспользовавшись текстовым полем Category. Укажите в этом поле имя категории, которую хотите создать. При желании создать иерархию для категорий, разделяйте указываемые имена категорий с помощью косой черты. Например, если в этом поле вы для функции CurrentYearDiscount укажете категорию Sales/Orders (Продажи/Заказы), в древовидном списке окна Formula Workshop появится элемент Sales, рядом с которым будет отображаться значок плюс. После щелчка на этом значке под категорией Sales отобразится вложенная в нее категория Orders, содержащая функцию CurrentYearDiscount.

Author (Автор). Это, по сути, поле для комментария, которое по выбору можно оставить пустым или заполнить текстом (чаще всего здесь указывается имя и фамилия разработчика пользовательской функции). Введенная в этом поле информация будет отображаться только при редактировании пользовательской функции или во время ее ас пользования в окне эксперта Formula Expert. В окне редактора Formula Editor этот -’гкст доступен не будет.

Display in Experts (Отображать в экспертах). Этот флажок определяет, будет пользовательская функция отображаться в списке доступных функций внутри эксперта Formula Expert (см. главу 5) или нет. Если сбросить этот флажок, тогда пользовательская Функция в дереве функций редактора Formula Editor отображаться будет, а в списке до- гтупных пользовательских функций эксперта Formula Expert — нет.

Список Default Values (Значения по умолчанию) в области Arguments (Аргументы).

Хад некоторых аргументов наподобие тех, что могут принимать значения кодов подразделений, месяцев, или другие широко используемые значения (значения типа "стоимость джаза” или “показатель продаж за прошлый год” в эту категорию, пожалуй, не попадают), вы можете захотеть создать список, содержащий одно или более значений по умолчанию, из которого пользователи, работая с данной пользовательской функцией в окне эксперта Formula Expert, смогли бы выбирать подходящее им значение. Чтобы создать такой список, щелкните на поле Default Values напротив того аргумента, для которого хотите указать значения по умолчанию. После этого на экране появится диалоговое окно Default Values (Значения по умолчанию), показанное на рис. 6.4.

Кнопка Enter More Info

В этом окне введите значение по умолчанию, которое должно быть доступно пользователям для выбора, и щелкните на кнопке Add (Добавить). Значение будет добавлено в список, расположенный в нижней части окна. Если требуется добавить дополнительные значения, введите их и снова щелкните на кнопке Add. При необходимости удалить значение, которое уже было добавлено, выделите его в списке и щелкните на кнопке Remove (Удалить). А при желании изменить порядок значений, которые вы уже добавили, выделите значение, которое хотите переместить, и щелкните на стрелке, указывающей вверх, или стрелке, указывающей вниз, находящейся справа от списка.

После щелчка на кнопке ОК список значений по умолчанию будет добавлен в пользовательскую функцию и появится в списке аргументов в исходном диалоговом окне Custom Function Properties.

Help Text (Справочный текст). Щелчок на кнопке Help Text приведет к отображению на экране еще одного диалогового окна, в котором можно ввести произвольный текст, описывающий пользовательскую функцию, ее аргументы или возвращаемое ею значение, или же любую другую полезную информацию. Этот справочный текст в дальнейшем будет отображаться только при редактировании этой функции или при ее использовании в эксперте Formula Expert. В окне редактора Formula Editor этот текст отображаться не будет.

Внимание! Чтобы существующая в отчете формула могла применяться в качестве основы для пользовательской функции, она должна отвечать определенным требованиям. Например (и это далеко не полный список), эта формула не должна содержать функции времени вычисления (типа WhilePrintingRecords), итоговые функции, используемые с полями базы данных (типа Sum ({Orders. Order Amount} )),и переменные с областью действия, отличной от Local. При попытке извлечь пользовательскую функцию из такой формулы вы получите либо сообщение об ошибке, информирующее о том, что данная формула не может быть использована, либо функцию, которая будет работать не так, как ожидалось. Что же вы можете сделать? Кнопка Enter More Info

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

Создание пользовательской функции с нуля
Редактор Custom Function Editor
Выбор и требования синтаксиса
Применение пользовательских функций в формулах
Повышение визуальной привлекательности отчетов

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


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