通过工作流发送警报邮件

时间:2013-05-03 21:15:44

标签: sharepoint-2010 workflow

我目前正在SharePoint 2010 Intranet上提供支持 已在网站中实施功能,允许用户提出假期请求 用户必须填写InfoPath表单才能提出假期请求 在提出假期请求时,会将记录添加到库中 然后开始工作流程。
工作流程中的第一个操作之一是向请求者的经理发送邮件以进行验证 然后工作流等待经理验证。

当客户在一定天数后未确认/拒绝请求时,客户希望自动向管理员发送提醒邮件。
我的第一个想法是使用SharePoint对象模型实现一个程序,并将该程序作为Windows计划任务执行 但我是一个工作流程初学者,我想知道是否有可能满足我的客户对worflow功能的需求。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

启动并行执行 - 类型并行,它将为您提供两个并行执行的块。

在其中一个区块中,您等待批准。

在另一个中,您暂停直到给定日期(建议:创建一个新的日期变量,将其设置为今天,然后添加必要的日期)。暂停后,发送提醒电子邮件。

替代解决方案:

您还可以阅读有关保留阶段的信息。如果您要保存在列表项中发送电子邮件的日期,您可以使用信息管理策略来运行计时器作业...所述作业将在自第一封电子邮件发送后经过一定时间后启动另一个工作流程发送。在此工作流程中,您可以发送提醒电子邮件。

答案 1 :(得分:0)

我对SharePoint工作流程的体验是,您确实希望避免使用暂停,因为有时它们永远不会取消暂停(例如,查看this)。相反,您将要设置每天运行的计时器作业,检查Rehan提到的日期变量,如果今天的日期等于您要发送电子邮件的日期(如果这是基于任务的话),则发送电子邮件,你可以使用创建日期):

DateTime createdDate = (DateTime)item["Created"];
string createdPlus7 = createdDate.AddDays(7).ToShortDateString();
string createdPlus14 = createdDate.AddDays(14).ToShortDateString();
if(DateTime.Today.ToShortDateString() == createdPlus7)
{
    Send7DayEmail();
} else if(DateTime.ToShortDateString() == createdPlus14)
{
    Send14DayEmail();
}

这可能是过多的演员和重铸,但它应该给你一个开始。