Срок действия отчетов SSRS - PullRequest
0 голосов
/ 16 ноября 2018

У нас есть ssrs 2008 r2 rdls.Я открываю отчет SSRS и держу его открытым в своем браузере более 30 минут.Если я сейчас нажму на любые детализации либо через действие, либо через отчет.Я не хочу, чтобы отчет принес мне эту информацию.Следует указать, что срок действия отчета истек.

Есть ли решение уже доступно.У будущей версии SQL-сервера есть решение для этого.

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Вы можете создать скрытый параметр datetime в основном отчете и установить его значение по умолчанию на текущее время: =Now().Давайте назовем этот параметр @MainReportRuntime.

Создайте этот же скрытый параметр в ваших подчиненных отчетах и ​​передайте @MainReportRuntime через вложенные отчеты.

Измените SQL подотчета, чтобы он возвращал данные только в том случае, если дата находится в пределах получаса основного времени выполнения отчета, и добавляете сообщение об истечении срока действия отчета, если оно больше получаса:

SELECT SomeField
FROM SomeTable
WHERE @MainReportRuntime >= DateAdd(mi, -30, Current_Timestamp) 
UNION ALL 
SELECT 'Report has expired - please rerun report to get current data'
WHERE @MainReportRuntime < DateAdd(mi, -30, Current_Timestamp)  
0 голосов
/ 17 ноября 2018

Там нет встроенного способа сделать это изначально в SSRS.

Я не слышал, чтобы кто-то спрашивал о таком требовании раньше, поэтому я сомневаюсь, что в работе уже есть что-то для его добавления.

Я не знаю достаточно JavaScript, чтобы знать, можете ли вы добавить логику в URL-адрес JavaScript, чтобы он мог создать пустую ссылку или ссылку на страницу с истекшим сроком действия.

="javascript:void(window.open('https://na5.salesforce.com/','_blank'))"
...