如何在SharePoint中安排报表以在该月的最后一天运行?

时间:2009-03-31 19:45:38

标签: sharepoint reporting-services scheduled-tasks

我在SharePoint中有几个由SharePoint集成模式下的SQL Server Reporting Services提供服务的报表。其中一些报告需要在该月的最后一天自动生成。虽然SSRS本身具有“每月最后一天”选项,但SharePoint在其计划选项中没有此功能。

添加此功能的最佳方法是什么?我不介意编写代码,安装某些东西,或者启用我不知道的东西。

4 个答案:

答案 0 :(得分:1)

IMO,我会考虑编写一个计时器工作。我写了一个用于每两周一次的数据导入。我相信你可以用它做一个EOM报告。

答案 1 :(得分:1)

在谷歌搜索 SPMonthlySchedule (SharePoint对象模型中的计时器作业类)。

答案 2 :(得分:1)

SPMonthlySchedule只能在特定日期运行。 Afaik你不能将它配置为在该月的最后一天运行。

我会创建一个每天运行的计时器作业,如果今天是该月的最后一天,则执行报告。使用SPJobDefinition创建SPDailySchedule即可实现此目标。

Here是一个方法。

if(DateTime.Now.Month != DateTime.Now.AddDays(1).Month)
{
 //Do report
}

答案 3 :(得分:1)

这很老了,但我遇到了同样的问题。

一种简单的方法是为报告设置3个订阅。

在1月31日,3月,5月,7月,8月,10月,12月,有一封电子邮件发送报告 11月30日,6月,9月,11月30日发送一封电子邮件 请在2月28日发送一封电子邮件报告

请注意,这不需要考虑闰年。