Как передать нулевые значения необязательным параметрам в отчете Business Objects с помощью SDK Business Objects? - PullRequest
0 голосов
/ 28 ноября 2011

Я создаю веб-интерфейс для доступа к отчетам Business Objects с помощью Business Objects SDK для .NET. Мне удалось взломать 95% бизнес-требований с помощью разреженной документации и сообщений на форуме, доступных по этой теме. Мой последний контрольно-пропускной пункт сосредоточен на работе с параметризованными отчетами. В нашем бизнесе есть ситуации, в которых отчет имеет два параметра, и конечному пользователю требуется заполнить только один из них. Собрать и очистить эти данные достаточно просто, но, как бы я ни пытался передать в отчеты отчет с нулевым параметром, я не получаю никаких данных. Если оба параметра заполнены, я получаю ожидаемые данные. При просмотре кода в Visual Studio я вижу, что всякий раз, когда BusinessObjects возвращает параметр с нулевым значением, он отображается в виде пустой строки (""). Я попытался передать это как значение параметра, а также попытался присвоить параметру значение null. Ни один из этих параметров не возвращает результаты после планирования и запуска отчета. У меня есть пример моего кода назначения параметров ниже с использованием каждого из подходов, которые я использовал (нам нужно проверить строку со значением «null», так как пользователь запросил возможность ввести «null» и передал ее отчет). Ни один из них не создает отчет, который содержит данные.

sVal.Value = param.ParameterValue != "null" ? param.ParameterValue : String.Empty; 
sVal.Value = param.ParameterValue != "null" ? param.ParameterValue : "";
sVal.Value = param.ParameterValue != "null" ? param.ParameterValue : null;

Существует ли конкретное значение, которое Enterprise Server использует для обозначения нуля, например, даты должны быть перенесены в Date ()?

Редактировать: функциональность, которую мне нужно дублировать, как видно в InfoView: Image of null parameter option in InfoView

1 Ответ

1 голос
/ 28 ноября 2011

В Web Intelligence по умолчанию требуются все приглашения, и вы должны указать их значение в SDK.Начиная с BusinessObjects XI R3 можно фактически настроить приглашение в отчете как необязательное.Эта конфигурация выполняется автором отчетов.Если подсказка является необязательной, вы можете не устанавливать значение подсказки при работе с SDK.

Альтернативный способ получить необязательную подсказку - сделать подсказку "шаблоном совпадений" или, если это дата, выяснить значение по умолчанию.Если подсказка является необязательной и находится «в списке», вы можете установить значение «%», которое, в то время как для даты, устанавливает значение по умолчанию.

...