我遇到UpdateAllTasks活动的问题。
在执行此活动之前,我有一个任务,如工作流历史记录中所示: workflow history task pending http://img101.imageshack.us/img101/2694/ss20100525163401.png 但是当任务完成时,我调用UpdateAllTasks来更新每个任务的一些属性,但是所有任务的DueDate列都被清除,如下所示: workflow history task completed http://img204.imageshack.us/img204/7889/ss20100525163817.png
这个特殊的事情发生在具有这些属性的updateTaskData活动中:
updateTaskDataProperties = new SPWorkflowTaskProperties();
updateTaskDataProperties.ExtendedProperties["WorkflowData"] = WorkflowDataSerializer.SerializeToXmlString<ApprovalWorkflowRuntimeData>(WorkflowData);
但是有一种解决方法可以满足某些人的需求。如果我们添加这样一行
updateTaskDataProperties.DueDate = ApprovalTaskProperties.DueDate;
然后按预期工作。除非您没有通过其他方式(例如在GUI中)编辑任务到期日期。然后它将重置为为ApprovalTaskProperties所属的任务指定的DueDate。
为什么会发生这样的事情,也许有办法解决这个问题?否则我将不得不采用防止调整截止日期的解决方法。
答案 0 :(得分:0)
不是一个很好的答案,但至少是一种解决方法:
在UpdateAllTasks中,我们必须指定DueDate属性:
updateTaskDataProperties.DueDate = ApprovalTaskProperties.DueDate;
然后按预期工作。除非您没有通过其他方式(例如在GUI中)编辑任务到期日期。然后它将重置为为ApprovalTaskProperties所属的任务指定的DueDate。