泛微OA-流程存储数据说明(表单主表+明细表)

时间:2024-03-17 08:37:40

流程存储数据说明

  • 名词定义

英文

中文

备注

Nodeid

节点id

 

Nodetype

节点类型

0:创建节点

1:审批节点

2:提交节点

3:归档

Isbill

是否为单据

0 :表单(老表单)

1 :单据(新表单和系统单据)

workflowid

流程id

 

Formid

表单id

 

Requestid

请求id

 

Fieldid

字段id

 

Fieldname

字段数据库名称

 

Isdetail

是否为明细

 

Viewtype

主子段还是明细字段

0 主字段

1 明细字段

 

  • 表单数据存储

  1.表单基本信息存放表

           select id,formname,formdesc from workflow_formbase

id

表单id

formname

表单名称

formdesc

表单描述

   

2.表单组成

select formid,fieldid,isdetail,groupid from workflow_formfield order by formid,isdetail,groupid,fieldid

formid

表单id

fieldid

字段id

Isdetail

是否为明细字段

1:代表是(字段来至于Workflow_Formdictdetail

其它值,代表该字段为主字段(Workflow_formdict

Groupid

当isdetial=1的时候,groupid代表明细表序号,比如:

0 代表第一个明细表

1 代表第二个明细表

……

                           

3.字段信息

主字段:select * from Workflow_formdict

明细字段:select * from Workflow_Formdictdetail

 

4.数据表

主字段数据:select * from workflow_form

明细字段数据:select * from workflow_formdetail 通过groupid区分不同明细表数据

 

5.主字段数据和明细字段数据的关联关系

workflow_form.requestid = workflow_formdetail.requestid

 

  • 单据

1.单据的基本信息

select b.indexdesc,a.* from workflow_bill a,htmllabelindex b where a.namelabel = b.id

表单id < 0 自定义表单

表单id > 0 系统单据

              

  2.字段

select * from workflow_billfield order by billid,viewtype,detailtable

billid

表单id

Viewtype

0 主字段

1 明细字段

detailtable

明细表表名,也就表示该字段属于哪个明细表

 

3.数据表

主字段数据表 select id,tablename from workflow_bill

Id

表单id

Tablename

表名

 

明细字段数据select billid,tablename from workflow_billdetailtable

billid

表单id

Tablename

表名

主表和明细表关联关系select id,detailkeyfield from workflow_bill

id

表单id

detailkeyfield

主表和明细表的关联字段

一般情况下,如果detailkeyfield为空,那么detailkeyfield默认为mainid

例子formtable_main_10.id = formtable_main_10_dt1. mainid

 

  • 示例

1.通过workflowid查找当前请求数据存储的位置

 以workflowid = 5 为例,该流程为内部留言流程

第一步,查询流程基础信息

Select id,workflowname,formid,isbill from workflow_base where id = 5

查询结果如下:

泛微OA-流程存储数据说明(表单主表+明细表)

Formid = 3, Isbill=0 参照第一部分的名词定义我们可以得知,留言流程使用的是formid=3的老表单。

第二步,查询流程所在的表和字段信息

参照第二部分的表单数据存储。

表单字段

select formid,fieldid,isdetail,groupid from workflow_formfield where formid = 3 order by formid,isdetail,groupid,fieldid

数据存储

主表

Select a.* from workflow_form a,workflow_requestbase b where a.requestid = b.requestid and b.workflowid = 5

 

明细

Select * from workflow_formdetail a,workflow_requestbase b where a.requestid = b.requestid and b.workflowid = 5

                  

2.通过requestid查找当前流程数据存储的位置

假设requestid = 249

第一步 查找workflowid

select workflowid from workflow_requestbase where requestid = 249

查询结果

泛微OA-流程存储数据说明(表单主表+明细表)

第二步 查找流程的基本信息

第一步里面找到了workflowid = 52

泛微OA-流程存储数据说明(表单主表+明细表)

Formid = -13, Isbill=1 参照第一部分的名词定义我们可以得知,出差申请流程使用的是formid=-13的新表单

第三步查询流程所在的表和字段信息

参照第二部分的表单数据存储。

表单字段

select * from workflow_billfield where billid = -13

结果如下:

泛微OA-流程存储数据说明(表单主表+明细表)

数据存储

表名

select tablename,detailkeyfield from workflow_bill where id = -13

 

select tablename from Workflow_billdetailtable where billid = -13

  查询结果如下:

泛微OA-流程存储数据说明(表单主表+明细表)

说明:

主表表名:formtable_main_13

明细表表名:formtable_main_13_dt1,formtable_main_13_dt2,formtable_main_13_dt3

主表和明白表的关联字段为:mainid,主表.id = 明细表.mainid

                          

查看当前请求的数据

上面已经找出了对应的主表和明细表,下面就是查看数据

主表数据

select * from workflow_requestbase a,formtable_main_13 b where a.requestid = b.requestId and a.requestid = 294

明细表数据

select * from formtable_main_13 a,formtable_main_13_dt1 b where a.id = b.mainid

 

select * from formtable_main_13 a,formtable_main_13_dt2 b where a.id = b.mainid

 

……

流程的其它信息表

--请求基本信息表(标题,创建人,创建时间,流程类型等等),通过requestid查找

select * from workflow_requestbase

 

--请求操作者表(流程当前未操作者,已操作者等信息),通过requestid查找

select * from workflow_currentoperator

 

--请求流转日志表(流程处理人处理过的审批意见),通过requestid查找

select * from workflow_requestLog

 

--请求的查看日志

select * from workflow_requestviewlog

 

--下拉字段的值,通过fieldid,isbill查找

Select * from workflow_selectitem

 

--浏览框字段值的来源

Select b.indexdesc,a.* from workflow_browserurl a,HtmlLabelIndex b where a.labelid = b.id