Sharepoint 2010 通过工作流发送警报邮件

Sharepoint 2010 通过工作流发送警报邮件,sharepoint-2010,workflow,Sharepoint 2010,Workflow,我目前正在SharePoint 2010内部网上提供支持。 网站中已经实现了一项功能,允许用户提出假日请求。 用户必须填写InfoPath表单才能提出假日请求。 当提出假日请求时,会将记录添加到库中。 然后启动工作流。 工作流中的第一个操作之一是向请求者的经理发送邮件以进行验证。 然后,工作流将等待经理的验证 当经理在一定天数后未验证/拒绝请求时,客户希望自动向经理发送警报邮件。 我的第一个想法是使用SharePoint对象模型实现一个程序,并将该程序作为Windows计划的任务执行。 但我是一

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

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


任何帮助都将不胜感激。

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

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

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

替代解决方案:


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

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

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

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

替代解决方案:


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

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


这可能是太多的铸造和重铸,但它应该给您一个开始。

我对SharePoint工作流的经验是,您确实希望避免使用暂停,因为有时暂停永远不会取消(例如,请看一看)。相反,您需要设置一个每天运行的计时器作业,检查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();
}