Show/Hide Toolbars

Руководство администратора

"Пустые" значения и значения по умолчанию

Ссылки Назад Вверх Вперед

При настройке фильтра для параметра, как правило, может быть задано значение по умолчанию, которое передается в отчет в момент его открытия.

fr_param_default

Фиксированное значение по умолчанию.

fr_param_default_smart

Значение по умолчанию вычисляется смарт-выражением.

В пользовательском интерфейсе для параметров типа Выпадающий список невыбранное (пустое) значение обозначается значением "-", а для параметров типа Период — также значением "-" или значением "Другой" с двумя пустыми датами.

Значения по умолчанию и значения, выбранные пользователем в процессе работы с отчетом, передаются в отчет одинаково:

если значение выбрано, то оно передается в отчет в виде пары дат для Периода, в виде числа для Числа и в виде строки для остальных типов.

если значение не выбрано, то в отчет в соответствующий параметр типа Пользователь, Группа, Оргстурктура, Категория передается пустая строка "", а для Выпадающего списка, Строки, Числа и Периода — значение null.

 

Пустое значение по умолчанию

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

I способ:

1.откройте отчет в дизайнере, вручную создайте нужный параметр нужного типа  (String, DateTime или Int32). Имя параметра должно соответствовать шаблону Filter<имя> (для Периода — Filter<имя>From и Filter<имя>To), где <имя> — это имя параметра, как оно задано в настройках фильтра.

2.сохраните отчет.

II способ:

1.выберите в фильтре в качестве значения по умолчанию любое непустое значение и сохраните настройки фильтра;

2.откройте отчет в дизайнере, убедитесь что нужные параметры автоматически создались и сохраните отчет;

3.вернитесь в настройки фильтра и укажите пустое значение по умолчанию.

Работа с пустыми значениями в Выражениях (Expression)

Если в параметр передано значение null, то при работе с такими параметрами на странице отчета (например, при форматировании) будет возникать ошибка. Поэтому необходимо выполнять дополнительные проверки, например:

fr_period_expression

Обработка пустых значений в выражении.

В данном случае используется тернарный оператор языка С#, который является аналогом условной функции IIf()  и состоит из трех частей:

<булево условие> ? <выражение, которое вычисляется если условие = true> : <выражение, которое вычисляется если условие = false>

На примере со скриншота выше результатом выражения будет прочерк если дата пустая (null), а если дата не пустая, то она будет отформатирована.

warning_icon  Часто в выражениях предпочтительнее использовать именно тернарный оператор, а не функцию IIf(), см. здесь.

Работа с пустыми значениями в SQL запросах

Если в качестве источников данных используются SQL-запросы, то для проверки периода можно использовать, например, такую конструкцию:

WHERE (@from is null OR t.Date>= @from) AND (@to is null OR t.Date <= @to)

В таком условии проверяются и ограниченные, и открытые периоды.

При обработке SQL-запроса если значение параметра не может быть вычислено (например, оно равно null), то вместо такого параметра подставляется значение, заданное по умолчанию:

Кликните мышью для просмотра изображения в полном размере

Значения по умолчанию для параметров запроса.

Чтобы в случае открытого периода в отчет попадали все записи, значения по умолчанию нужно подбирать так, чтобы они заведомо были меньше самой ранней даты в вашей базе данных (например, "01.01.1900") или больше самой поздней возможной даты (например, "01.01.2900"). Обратите внимание, что значение самого параметра отчета при этом не изменяется и остается равным null, а значение по умолчанию подставляется только при обработке SQL-запроса.

Полезные ссылки