zoukankan      html  css  js  c++  java
  • Sage CRM 工作流表结构

    工作流表的结构 

        之前已经研究过工作流的东西,但是这次做.net的开发还是没能把工作流弄好。所以再认真看了工作流一遍,写出来之后,自己也更加熟悉。希望这篇介绍能帮助大家了解系统工作流。

    一、首先来介绍一下工作流需要的表

    1)      Workflow

    2)      WorkflowState

    3)      WorkflowRules

    4)      WorkflowActions

    5)      WorkflowActionLinks

    6)      WorkflowTransition

    7)      WorkflowInstance

    8)      WorkflowHistory

    二、通过visio的图来看看他们之间的关系

     

    三、具体介绍

    1)      Workflow :主表,保存工作名称等基本信息

    2)      WorkflowState: 表名称可以是工作流中的状态节点

    3)      WorkflowRules: 表的规则基本信息

    4)      WorkflowActions: 表规则里面的细节,例如执行sql,重置列等信息

    5)      WorkflowActionLinks: 这个表是中间表,是规则和 细节的中间表。

    6)      WorkflowTransition: Transition意思是过渡,转变。这个表就是工作流的节点之间的关系。把工作流的树形结构保存起来。

    7)      WorkflowInstance: 这个表记录着每条走工作流的记录。

    8)      WorkflowHistory:每条记录走一步工作流,这里都会生成一条历史记录

    四、用例

    1)     我们创建一个工作流的时候,Workflow就插入一条记录,保存工作流名称等。

    2)     我们新建一个工作流状态,WorkflowState保存工作流状态,并且关联工作流。

    3)     WorkflowRules保存规则。

    4)     在规则中新建一条执行sql 之后,首先WorkflowActions新建一条记录保存,然后在表WorkflowActionLinks 创建一条记录,该记录保存刚才在WorkflowActions表创建的记录的id 以及规则表中规则记录的wkri_actionGroupid字段。这样规则和他里面的子项就对应起来了。这里的子项就是这个规则走完之后,要执行的sql,要修改的字段,要。。。

    5)     当我们在工作流编辑页面,拖拖拉拉,做好工作流的树形结构之后,点击保存。系统就会把工作流的关系保存到表WorkflowTransition中。 这个表的记录保存工作流的id和工作流树形结构中的一条线以及这条线两头的状态。即是:它保存当前状态,如果这个状态下有六个规则,那么就有六条记录,每条记录保存一个规则以及这个规则的下一步状态。

    6)     整个工作流的创建工作就完成了。下面我们在新建记录的界面中新建一条记录的时候,这条记录启动工作流后,就会在WorkflowInstance表中创建一条记录,这条记录保存着这条记录工作流状态。同时还会往WorkflowHistory表中插入一条记录保存操作记录。

    7)     打开summary之后,可以自己写方法去WorkflowTransition表中找到当前记录的工作流记录,找到记录的当前状态的下一个状态有哪些,然后执行规则里面的创建脚本,如果创建脚本的值为true,就显示这个规则,其实规则就是我们看到按钮。

    写到这里工作流的整个过程已经出来了。

    五、最后提一下我们在其他系统使用的处理记录方法:

    1)      新建了一个叫做workflowlog 的表。刚开始的时候被他的名字骗了。呵呵我以为是系统自带的表。

    2)       在我们要走工作的表中新建【处理人userid】、【提交人summiter】、【处理意见】,然后还不要忘记了在workflowlog表中创建 走工作流的表id字段

    3)       这样就可以通过工作流规则中执行sql 往里面插入一条记录。

    4)       最后在新建一个表前缀+log(例如:aopplog) 的asp 文件把该记录的处理意见显示到一个列表,并把这个asp放到summary的tag旁边。

    六、Sage Crm 里面有个叫做 跟踪的 功能。

    新建表的时候会问你要不要跟踪功能。但请注意,只有主要实体才有跟踪功能。

    有了跟踪表之后,你只需要在跟踪表里面增加字段,CRM在没走一次工作流之后,会新增一条跟踪记录。当然只显示跟踪表里面有的字段。如果有很多不便。

    11年初在准备使用.net程序来做接口时,需要程序实现工作流走到下一步的功能,就认真看了系统的表结构。现在整理一下,发布出来。

    作者:Novus
    出处:http://www.cnblogs.com/novus/
    本文版权归作者和博客园共有,欢迎任何形式的转载,但请务必注明出处。

  • 相关阅读:
    ICONS-图标库
    图形资源
    vue项目中,如果修改了组件名称,vscode编辑器会在引入修改组件的名字处提示红色波浪线 The file is in the program because:Imported via xxx Root file specified for compilation .
    接口在dev环境报跨域问题(has been blocked by CORS policy:Response to preflight request doesn't pass access control check:No 'Access-Control-Allow-Origin' header ispresent on the requested resource.),qa环境正常
    阿里云occ的图片文件URL用浏览器直接打开无法访问,提示This XML file does noe appear to have any style information associated with it. The document tree is shown below.
    vue 项目使用element ui 中tree组件 check-strictly 用法(父子不互相关联的反显情况)
    高德地图进行线路规划绘制标记点操作(vue)
    vue中实现拖拽调整顺序功能
    2021-01-22 浏览器相关知识
    2021-01-22 js 相关知识点
  • 原文地址:https://www.cnblogs.com/novus/p/2469449.html
Copyright © 2011-2022 走看看