动态配置方案
============

![](media/79642a36c8548bd3bb8680e43b84a5d9.png)

动态配置方案概念与背景
----------------------

根据已有的企业业务应用经验积累，我们把工作流模型拆分成两个部分，一个是工作流流程图，确定了整个的流程节点及流转线，这部分在设计器中框定，以后若要修改则是流程新的版本；另一个是流程配置信息，包括各个节点及流转线的配置属性及规则，在设计器中设置后，还可以在流程管理中心中进行动态修改，这样可以避免配置规则的动态调整需要流程版本的变更及发布等，同时一个流程可配置多套规则方案，这样更灵活，适应更多的业务场景。

动态配置方案规则
----------------

-   **单据进入流程规则**

>   1）启动条件（见下图1）决定进入哪个流程，进入流程之后应该走哪个方案，则是由方案的应用条件决定（见下图2）

![](media/f55eb5a2e8565b5fdf25375829bf358b.png)

![](media/cb94d0f5218c0dc7ae62bbe49460bf86.png)

>   2）单据提交后首先找启动条件，满足启动条件就进流程，不满足则找其他没有设置启动条件的流程，找到后进流程，没有找到则不会进入流程；进入流程后首先找子方案中的应用条件，有符合的应用条件则进入子方案（如果有两个子方案的进入条件同时满足，则走最新保存的方案），没有符合条件的则走默认方案，见下页图

![](media/26218e949d765b0195c37f789497e308.png)

-   **配置规则**

默认方案中的属性称为“父方案”，自定义方案中从“父方案”中继承的属性称为“子方案”
；新建的自定义方案（子方案）中，所有属性都和默认方案一样。父方案与子方案按照差量计算属性的修改，详见下面8条规则和图解。

-   父方案中增、删、改，子方案中随父方案变动

-   子方案中增、删、改（此时父方案不动，改动的内容不是父方案的内容），父方案中不会随子方案变动

-   子方案修改继承父方案的属性，同时父方案不做修改，则子方案中显示子方案修改后的，父方案仍显示父方案中属性

-   子方案修改继承父方案的属性，同时父方案修改父方案（修改不同的项，如果父方案和子方案修改成一样的了就没有差量了），则子方案中显示子方案修改后的，父方案仍显示父方案中修改后的属性

-   子方案修改继承父方案的属性，同时父方案删除相同的，则子方案中也删除，父方案中属性已删除（针对分录）

-   子方案删除继承父方案的属性，同时父方案不做修改，则子方案中显示子方案删除后的，父方案仍显示父方案中属性

-   子方案删除继承父方案的属性，增加一个相同的属性，同时父方案不做修改，则子方案中显示子方案中新增的，父方案仍显示父方案中属性

-   子方案删除继承父方案的属性，增加一个相同的属性，然后把父方案相同的删除，则子方案中显示子方案中新增的，父方案中属性已删除.

![](media/5ea946bbac9cab659b0197eaa6946115.png)

动态配置方案应用场景
--------------------

-   某集团在运行出差借款单时，发现分管领导节点参与人设置的有问题，需要更改，那么可以在配置方案中修改并保存，保存后立即生效，步骤如图：

![](media/bab0cab0721a5b113823925689a1f14d.png)

![](media/58e3482c2fe2e572f36f52bbf7afb101.png)

![](media/7e74941c64c4918efe7e5acb72fb6f86.png)

-   某集团人人差旅、人人费用的审批流程，在审批时各个事业部审批节点大部分相同，只是个别审批时的条件不同，那么可以按照各个事业部进入条件的不同设置进入方案的条件，并设置审批节点不同的属性，如下图：

![](media/f7fe922e2c2c0aea6688e632a535f995.png)

注：只要流程不新增节点或者连线，那么在维护流程时，只需要修改管理中心的方案就可以了，不需要在设计器中修改并发布流程。当流程设计器中重新发布流程时，会生成一个新版本，新提的单据会走新发版的流程，新版本之前的单据会走之前版本的流程
