2010-05-25 46 views
0

我有UpdateAllTask​​s活動的問題。工作流的UpdateAllTask​​s方法清除了DueDate字段

執行此活動之前,我有一個任務,工作流的歷史在這裏看到: workflow history task pending http://img101.imageshack.us/img101/2694/ss20100525163401.png 但是,當任務完成後得到,我真的叫UpdateAllTask​​s更新每個任務的某些屬性,但對於所有的任務DUEDATE柱被清除因爲在這裏看到: workflow history task completed http://img204.imageshack.us/img204/7889/ss20100525163817.png

這種特殊的東西在updateTaskData活動發生這樣的性質:

updateTaskDataProperties = new SPWorkflowTaskProperties(); 
updateTaskDataProperties.ExtendedProperties["WorkflowData"] = WorkflowDataSerializer.SerializeToXmlString<ApprovalWorkflowRuntimeData>(WorkflowData); 

有缺點

0123一種解決方法

然而,有一種解決方法可以滿足某人。如果我們添加這樣一條線

updateTaskDataProperties.DueDate = ApprovalTaskProperties.DueDate; 

然後它按預期工作。除非您還沒有通過其他方式編輯任務截止日期(例如在GUI中)。然後它將重置回爲ApprovalTask​​Properties所屬的任務指定的DueDate。

爲什麼?

爲什麼會發生這樣的事情,也許有一種治療方法呢?否則,我將不得不採取避免調整到期日的解決方法。

回答

0

不是一個很好的答案,但至少一種變通方法:

在UpdateAllTask​​s,我們必須指定DUEDATE屬性:

updateTaskDataProperties.DueDate = ApprovalTaskProperties.DueDate; 

那麼它將按預期工作。除非您還沒有通過其他方式編輯任務截止日期(例如在GUI中)。然後它將重置回爲ApprovalTask​​Properties所屬的任務指定的DueDate。