我有这样的业务应用场景:
- 用户将文件上载到文档库.
- 她选择的内容类型,输入所需的元数据. 一个 meta 数据字段是一个标志, "紧急".
- 这会触发一个设计师 SharePoint 工作流,, 除其他外, 使用"收集的数据从用户" 行动.
"从用户那里收集数据" 列表中的任务请求核准为该文档创建一个项目.
我需要创建一个视图的任务列表的显示紧急请求核准.
解决方案: 把这个词"紧急:" 到这些任务标题.
我本来想直接指定优先级字段. 不过, 我不能这样做,原因有几个:
- 收集数据操作不提供一种机制来更新标题以外的任何字段 (和那些您要为其收集的数据的附加字段).
- "分配来做项目" 行动有同样的问题.
- 它是可能要插入到列表中的项 (e 小节. 直接插入到任务列表中的项) 但这不是阻塞的行动. 这意味着工作流不会等待用户来完成这项任务.
审议了之前的几条途径 (值得庆幸的是) 实现我们可能只把"紧急" 在标题中.
- 在任务列表中本身启动工作流,以便在创建一个新的任务时, 它以某种方式交叉引用回到开始的第一个工作流的文档, 拔出紧急标志值,更新所需的优先.
- 做类似的事件接收器. 创建任务, 查找关联的文档和根据需要更新优先级.
- 使用"创建列表项" 与之前的"等待字段更改一起行动" 行动和事件接收器. 如果我们创建一个列表项, 我们可以指定我们想要的所有字段. 使用事件接收器来更新原始项目,当用户完成任务和"等待场变化" 将满足行动的条件和工作流将继续. (因为某些原因, 我已经更多或更少的这种做法明智地决定要走了一段时间之前解决了).
有缺点我的解决方案 (除了这个明显的事实,只有标题的文本指示紧迫性). 自"收集反馈" 只接受硬编码的标题名称, 我需要使用两个不同的收集反馈行动的唯一的区别是,硬编码的标题.
但, 至少有一种解决方案,不需要事件接收器或 SPD 的自定义操作.
如果一个人在一个更聪明的办法解决了这, 请让我知道.
</结束>