第二章 流程平台
NC流程平台是对企业的流程进行建模的平台。其工作流模型由四部分组成,分别是过
程模型、组织模型、功能模型以及信息模型(工作流相关数据)。过程模型用来定义工作流的过程逻辑,包括组成工作流的所有活动以及活动之间的依赖关系。组织模型用来定义企业人员的组织结构,包括几种不同形式的组织元素以及每种组织元素内部的递阶层次关系。功能模型说明企业中需要完成的工作或者任务是什么,或者说功能模型说明了企业的目标是通过哪些具体的功能活动来实现的。它确定了企业业务功能的逻辑结构和相互关系。信息模型说明了企业处理的业务对象中所包含的信息以及业务对象间的关系。 过程模型采取基于活动网络图的过程模型,与其他的过程模型(如事件驱动过程链EPC、Petri网、语义-行为模型等)比较,活动网络图具有直观自然、可读性好的特性。
NC流程平台包括业务流程和审批流程两个部分。
Business Flow DesignerApplication ModelProcess DefinitionApproval Flow DesignerInvoked ApplicationsEmailOrganization ModelScriptsBusiness ServiceWeb ServiceMetadata RepositoryWorkflow EngineAdministration & AuditApplication ClientExchange EngineData MappingWork ListWorkflow Framework图 3业务流程框架
Rule Engine
整个业务流程框架的核心是工作流引擎。它负责解释执行由业务流设计器和审批流设计器设计的流程定义。流程定义可以引用NC系统建立的功能模型、组织模型以及各种元数据。NC用户可从工作列表中查看到工作流引擎分配给他的工作项。通过单据动作(比如提交、审批、弃审、驳回等)来处理工作项,从而驱动流程流转。工作流引擎在流转过程中还可以调
第 3 页
用各种自动应用,包括电子邮件、脚本以及Web服务等。业务流程框架还提供了管理监控工具对运行中的流程实例进行状态查询和管理。对于流转过程中涉及到的数据交换,工作流引擎将调用交换引擎根据规则进行数据映射。
1. 单据元模型
业务单据是描述企业业务信息的载体,是对业务数据的抽象。通过业务单据,可以清楚地反映企业的业务发生情况。企业中如请购单、采购订单、报销单、付款单等均为业务单据。 在NC系统中,一张业务单据的实现包括许多内容,比如单据类型、单据VO、单据UI、单据动作等。我们把这些用于描述某单据的信息统称为单据元模型。其组成如图4所示。
单据动作 单据函数单据类型 单据VO对照 单据UI 单据项目 单据VO模型单据物理模型(数据库表) 图 4单据元模型
1.1 单据类型
单据类型是对单据的分类。单据的元信息都是基于单据类型来定义。在定义单据类型时,单据类型必须属于某个系统类型。单据类型的注册信息比较多,由功能点[客户化]-[二次开发工具]-[单据管理]-[单据类型管理]维护,如图5所示,一般由各个产品组预置。
第 4 页
图 5单据类型管理
项目说明:
? 类型代码:手工输入,最大长度为4个字符,可以输入字母和数字,不允许重复。 ? 类型名称:业务单据名称,手工输入,不允许重复。 ? 单据大类:表示单据类别(应收应付101---),用于区分单据类型的主子关系(参见1.1.2
节)。
? 单据对应类:标识单据类型的关联UI,一般为关联的审批维护类功能节点编码。 ? 主表参照的固定条件语句:被其它单据参照时自己填写的固定的SQL条件语句。 ? 参照查询对应的DMO类:用于查询单据VO数据的业务逻辑类。必须实现接口
nc.bs.pub.pf.IQueryData以及nc.bs.pub.pf.IQueryData2(参见第三章5.4.6节)。
? 审批流检查类:通过编写审批流检查类,并在该类中实现审批流相关接口,来达到使用
审批流管理业务单据以及控制审批流行为的目的(参见第三章)。 ? 会计平台类:财务会计平台所需的类。 ? 是否项目核算:NC210以后不再使用。
? 是否为根节点:针对单据大类,用于实现单据主子关系。 ? 是否发送会计平台:用于财务会计平台。
? 节点编号:标识单据类型的关联UI,一般为关联的制单功能节点编码。 ? 自定义1(def1):流程配置的单据业务关联(业务流程)更新后的处理类。 ? 自定义2(def2):存取会计平台的产品组自定义查询。
? 自定义3(def3):动作执行前的UI端处理类。如果单据类型关联了多个功能节点,该类
还需要实现节点查找接口(参见第三章4.6节)。
对于流程平台产生的工作项,5.0统一使用打开功能节点的方式来处理。这需要单据类型的节点注册信息有所改变:
第 5 页
字段 bd_billtype.nodecode bd_billtype.classname 说明 制单节点编码 审批或维护节点编码 示例 110180
1.1.1系统类型
对业务系统的分类。5.0版本中,每个系统必须属于某个模块。由功能点[客户化]-[二次开发工具]-[会计平台]-[系统类型定义]维护,如图6所示。
图 6系统类型定义
项目说明:
? 系统类型编码:自定义输入,禁止重复。
第 6 页
? 系统类型名称:自定义输入,禁止重复。
? 是否专项管理:勾选此项,表示此业务系统将向管理会计平台传送数据。
? 是否发送到会计平台:勾选此项,表示此业务系统将向财务会计平台传送数据,在财务
会计平台的凭证模板节点,可以对此业务系统的单据进行操作。 ? 系统使用的业务类型:在进行凭证模板或成本单据模板定义时,该系统的业务单据使用
的业务类型档案。
? 模块名:标识该系统所属的产品模块。对应于NC_HOME/modules/下的目录名。 ? 相关节点编码:标识哪些功能节点号与产品模块的关联关系。一般用于参数设置中。
1.1.2主子关系
单据类型之间可存在主子关系,这通过isroot和billstyle两个属性来判定。
系统类型ECisRoot=YisRoot=Nbillstyle>100billstyle=102D1F1 (Y)F2 (Y)billstyle=103D2
图 7单据类型主子关系
如图7所示,D1的父单据类型为F1;D2的父单据类型为F2。
1.2 单据动作及脚本
是对单据业务处理行为的抽象,具有可定制的动作脚本。业务单据正是通过单据动作与流程平台进行交互的,从而驱动流程的流转。可对应于单据UI上的某个菜单。由功能点[客户化]-[二次开发工具]-[单据管理]-[单据动作管理]维护,如图8所示。
第 7 页