2009-04-17 64 views
0

我正在编写一个需要执行某些操作的工作流程,具体取决于某人在编辑某个项目时更改了哪些字段。例如,如果用户进入并从项目(员工)中删除角色(作业),那么我需要工作流程意识到角色字段已更改,推断哪个角色已被删除(或可能添加),然后通知担任该角色的经理并执行其他必要的任务。另一个例子是,如果项目中的地址字段发生变化,则需要向相应的人力资源部门通知变更。知道哪些字段已更改的工作流程

要做到这一点,我会尝试一个代码块,当工作流程开始时比较前两个历史条目和任何不同的字段将被标记为已更改,我会采取适当的行动依赖于每个字段。

任何人都可以请告诉我什么其他选项是为了获得此功能,因为我想知道是否有更好的方法。谢谢

回答

0

使用SPD工作流程,它不会很难,这取决于角色的数量。

创建一个列,然后进入内容类型并隐藏它。创建一个SPD工作流程,以新的或更改的方式执行。比较隐藏的列和用户输入的列,如果更改了比较值与角色名称并执行需要完成的操作。完成后,将用户输入的列复制到隐藏列中。

丑陋而漫长,但如果你没有能力在服务器上实现工作流代码,那么感谢企业IT部门,那么这是一个选择。

0

我将使名单上的版本,然后使用:

SPListItem currentItem = workflowProperties.Item; 
SPListItemVersion previousItemVersion = currentItem.Versions[1]; 
//Compare the fields in currentItem and previousItemVersion 

但是,如果我正确地理解你的问题,这就是你即将已经这样做了。

相关问题