我想设置的价值"截止日期",在"创建自定义的任务"在我的工作流程。

然而,我希望它是"周末知道"即...(星期日至星期四个工作周)
如果创建了一个任务周日星期二然后于2天后
如果创建了一个任务是星期三那么它于星期日
如果创建了一个任务上星期四,然后于星期一

我已经看过工作流程变量,但是这些没有计算。
我已经看过"做Calculatation"但是,这是非常受限制的"添加一固定数目"

[又是一个简单的任务,在SharePoint证明是困难的]

有帮助吗?

解决方案

它不像人们希望的那么简单,但是您可以使用以下操作作为构建块来执行:

  • 使用Find Interval Between Dates获取从已知日期到创建日期的天数
  • 使用Do Calculation(mod 7)获取创建日期的周日
  • 使用一系列生成的Goginter Goginter GoginateRyodicetagcode来计算到期日

其他提示

没有自定义代码,我可以看到没有办法使用de spd。

最好的问候。

这是相当晚的回答,但作为一个搜索对于这个仍然带我来10个月后,我想我会得到代码的例子每杰克逊的响应上述SPD2013年(我没有早期版本进行测试,我怕).在我的例子中的一个IT服务台、交货期值得设定基于优先权的机票提出,然后改变交货期的价值,如果恰逢星期六或星期日(星期一或星期二分别):

Step: 3 - Set "Due Date" based on Priority 
    Step: 3.1 Set initial value for DueDate
        If Current Item:Priority equals (1) High
            Add 0 months, 0 days, 11 hours, 0 minutes to Today (Output to Variable: DueDate )
        If Current Item:Priority equals (2) Normal
            Add 0 months, 2 days, 11 hours, 0 minutes to Today (Output to Variable: DueDate )
        If Current Item:Priority equals (3) Low
            Add 0 months, 5 days, 11 hours, 0 minutes to Today (Output to Variable: DueDate )
    Step: 3.2 Fix DueDate for weekend values
        Set time as 0 : 0 for Variable: DueDate (Output to Variable: DueDate )
        Find days between 01/07/2013 00:00:00 and Variable: DueDate (Output to Variable: DaysBetweenMondayAndDueDate )
        Calculate Variable: DaysBetweenMondayAndDueDate mod 7 (Output to Variable: Mod7DueDate )
        If Variable: Mod7DueDate is greater than or equal to 5
            Add 0 months, 2 days, 0 hours, 0 minutes to Variable: DueDate (Output to Variable: DueDate )

Set time as 17 : 0 for Variable: DueDate (Output to Variable: DueDate )
    Update item in Current Item
    Log Due date set to [%Current Item:Due Da... to the workflow history list

步骤3.1决定,'如果一个电话被记录在下午,不需要加以解决,直到明天',然后设置一个日期/时间变量的所谓的交货期.

步骤3.2集的部分时间的交货期为00:00,以避免小数在以后的计算。
然后,它使用了"找到天之间的"功能找到的天数之间的一个星期一(01/07/13在这种情况下,但它可能是任何一个星期一-而这是在DD/MM/YY格式在这里由于我的本地化设置)。这个值,然后储存在若干变量所谓的DaysBetweenMondayAndDueDate.
然后,它使用"计算出"功能要做的(DaysBetweenMondayAndDueDate Mod7),它为我们提供了一个很好的圆之间的数字在0-6其中0代表星期一(因为这是什么01/07/13,用早些时候,是和6表示星期天。这个是储存作为另一个数变量,称为Mod7DueDate.
最后,如果Mod7DueDate大于或等于5(即如果它落在星期六或星期日),添加两天以原始交货期变它移到周一或周二分别。

最后一功能设置的部分时间的交货期为17.00(恰好是我的偏好,在这种情况下),随后更新的名单项交货期的变量。

希望这可以帮助别人:)

许可以下: CC-BY-SA归因
scroll top