限制
旧工作流进程和新工作流进程
在某些情况下,可以对旧工作流进程进行配置,使其与新工作流进程搭配使用。例如,在批准后完成其工作流进程的问题报告或超差仍可用于新的变更请求工作流,但变更请求工作流进程仍需要针对父项关联调用强制关闭。如果也关联了具有新工作流进程的问题报告或超差,则当 handlesClosure 设置为 true 时,不会将其强制关闭。对变更请求工作流进程模板进行配置,使其支持上一版本以及新的问题报告和超差工作流进程。
针对已通过同步方式关闭的现有关联变更对象进程使用强制关闭 API 可能会导致意外结果。例如,已将变更请求工作流进程设置为在变更通告解决时同步关闭。如果将变更通告工作流进程更新为强制关闭父项关联,则变更请求进程中的其他序列 (锁定注释) 不会发生。
变更请求工作流进程的必要更新
必须对变更请求工作流进程进行更新,以使其能够使用柔性变更进程关联。柔性变更进程关联已不再支持 ChangeService2Event.CN_STATE_CHANGED
具有多个关联的关闭
在确定将哪些变更对象类型定义为柔性变更进程关联的父项 (角色 A) 和子项 (角色 B) 角色时,应考虑关闭的方向。请注意,拥有角色可与父项或子项角色分开定义。例如,给定以下关系:
问题报告与变更请求关联
变更请求与变更通告关联
建议在定义关联规则时使用关闭的方向。以关闭方向定义关联规则可保证变更请求等待所有关联的变更通告关闭,而问题报告等待所有关联的变更请求关闭。如果变更请求被视为两个关联的所有者角色,则考虑使用以关闭方向定义的角色来定义变更进程关联规则,如下所示:
角色 A (父项)
角色 B (子项)
所有者角色
问题报告
变更请求
角色 B
变更请求
变更通告
角色 A
如果未以关闭方向定义规则,则需要考虑其他事项。请考虑以下规则定义变更:
角色 A (父项)
角色 B (子项)
所有者角色
变更请求
问题报告
角色 A
变更请求
变更通告
角色 A
如果在变更请求工作流进程中使用常规 isRelatedChildrenInStates API 时未指定特定变更对象类型,则会导致变更请求等待问题报告关闭。问题报告工作流进程也会等待变更请求关闭,从而导致出现关闭死锁。为了防止封闭死锁,应在使用 isRelatedChildrenInStates API 时指定特定的变更对象类型。在变更请求工作流进程中,应指定变更通告类型,以便忽略关联的问题报告。
这对您有帮助吗?