前两天研究了帆软自带的上报流程,这两天想模仿着它的页面把它改造成cpt,改造成自己的、可灵活修改的模板,数据库结构也完全和finedb里有关workflow一样,这么设计的目的是想和自带的上报功能尽量接近,现在已经设计好了流程管理和任务管理包括弹出窗口的4个模板。卡住了,有个疑问,很大的疑问。帆软自带的上报功能真的能算标准吗?能在现有的基础上优化吗?答案是否定的。它的上报管理是这样的,先创建流程,在流程里就要明确每个环节的操作人,这一部分是写死的,是谁就是谁。帮助文档举的例子是一个销售上报的例子,创建好流程后,再创建任务,任务必须绑定已创建好的流程,这个设计没毛病,从创建好任务那一刻起,流程第一个节点的操作人就都有了一条任务,然后就按照设定的流程走下去就OK了,按照帆软的设计这也没毛病。可是帆软写的太死了,实际应用中,我们不只是在一种流程设计,我把帆软的流程叫被动上报流程。就是上级要求上报,才要上报的流程。我再说说我理解的主动上报流程,就是没有上级要求上报,自己主动打申请,获得审批,最典型的例子是请假。大家想想帆软的流程能用于请假吗?管理员创建请假流程,第一节点申请,操作人都没法写,选择所有人吗?然后销售领导创建一条任务,要求大家都填写请假申请表,这像话吗?所以我把这种不指定申请对象,随时发起的流程叫主动上报流程。在帆软的流程管理里面还几个问题搞不懂:比如A用户上级是B,C用户上级是D,A报给B,C报给D,用的是一个流程,第一节点操作人选A、C,第二节点操作人选B、D吗?任务发布后,那A如果上报后会不会给D呢?如果我明天就C的上级换成B了,C不给D报了,改成要给B报,我还需要在流程里改吗?不会自动读取数据库的上下级关系吗?第一个环节无所谓,可以选择所人员,关键是如何定义第二个环节,第二个环节操作人是第一个环节操作人的上级,要根据第一个环节的人来确定。但不是每个流程都一样,我们有好多部门,部门底下有好多科室,科室里面有好多科员,一般流程是科员到科长到部长,但是我们有时候开展业务,要组成临时小组,临时小组的科长和部长就又不一样了,而业务流程是一样的,难道还需要创建两个流程吗?欢迎大家来讨论,大家有好的建议可以分享一下!