BPM工作流平台设计_第1页
BPM工作流平台设计_第2页
BPM工作流平台设计_第3页
BPM工作流平台设计_第4页
BPM工作流平台设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、工作流系统设计手册一、引言工作流管理是目前被业界广泛应用并迅速发展的技术,它的主要功能是使业务处理过程自动化,协调人和各种应用程序的工作。工作流管理系统(Workflow Management System,简称:WfMS)以企业业务过程为核心,结合了计算机支持协同工作以及企业信息系统的相关技术,立足于过程自动化,着眼于整体效率的提高。随着计算机软硬件技术的发展,特别是Internet和Intranet的迅速普及,工作流管理系统的应用范围已不仅仅限于传统办公环境(如保险、银行、法律、行政管理等)和工业制造中,而且逐渐扩展到企业应用环境中。1993年成立的工作流管理联盟(Workflow Man

2、agement Coalition,简称:WfMC)给出了一系列工作流的规范。其主要概念有:工作流工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则,文档信息或任务能够在不同的执行者之间传递与执行。工作流是一种反映业务流程的计算机化的模型,实现经营过程集成与经营过程自动化而建立的可由工作流管理系统执行的业务模型。工作流管理系统它是一个软件系统,完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。并监控其工作状态。工作流管理系统可称为企业的业务操作系统。(Business Operating System,简称:BOS)工作流系统参考模型有关工作

3、流管理联盟更详细的规范请参见二、JU工作流管理系统根据国际工作流管理联盟的标准模型,实现了过程定义工具、工作流执行服务(工作流机)、工作流管理工具以及工作流客户应用(人工动作)和供工作流执行服务(工作流机)直接调用的应用(自动化动作)。人工动作必须与表单绑定。表单提供了人机交互的工作界面,而表单的后面是标准通用的关系型数据库系统。对于数据库系统我们提供了标准的数据管理模块进行管理。这样就和目前常见的工作流系统有了明显的区别,结构化的数据库系统参与了工作流的全部过程,而目前常见的工作流系统多采用非结构化的文档数据库。经过扩充后的工作流系统既解决了人员之间的协同,提高了工作

4、效率。也解决了其它工作流系统不能解决的第二个问题,为业务管理系统提供准确有效的数据,加上可自定义的报表工具,分析工具。即可生成极具个性的企业业务管理系统。过程定义工具和工作流客户应用是人机交互的主要部份。过程定义工具的使用是一个设计开发的过程,而工作流客户应用则是使用的过程,设计开发过程相对复杂,而使用的过程则非常简单。对于两种不同的过程,我们采用了统一的设计方法,采用了完全的B/S结构,现有的工作流系统一般设计工具采用C/S方式,运行端使用B/S或C/S方式,我们的系统将两者进行了统一,使用了独创的技术,可以直观方便地使用IE定义流程图。降低了对管理员的要求。同时,在流程运行时,流程图可以动

5、态显示当前的状态,高度紧凑的系统提高了运行的效率,降低了出错的可能。三、工作流基本知识l 流程又叫业务流程、工作流程。是反映业务目的工作流模型,这个模型定义了要实现的目标以及实现目标所要经过的过程。流程可以用流程图来表示。l 独立流程独立流程是可以直接启动运行的流程,一个完整的独立流程由若干个动作和若干个流转条件组成。其包含的的属性有:工作流模型ID、名称、类型、编号、状态、版本号及绑定的数据源等。l 子流程和独立流程唯一不同的地方是子流程不可以直接启动。子流程将作为独立流程的一个动作来执行。l 数据源存储数据的集合,目前支持关系数据库中的表,当数据源与流程绑定后,则数据源用来保存工作流运行过

6、程中的数据。l 动作又叫活动,动作是构成流程的基本单元,主要反映完成业务流程需要执行的操作。其包含的属性有:动作名称、动作描述、动作类型(人工动作、自动动作、子流程等)、是否起始动作、是否添加动作、动作人、动作时限、通知方式以及相应的表单信息等。动作在流程图中用一个方框来表示,方框内显示了动作的重要属性。l 起始动作表示一个业务流程的起点。当起始动作启动后,系统将自动生成一个流程实例。每一个流程最小有一个起始动作。起始动作目前是由人工来启动的。区别与别的工作流系统,起始动作本身也是一个动作,人工起始动作将启动表单,提供人机交互界面,与实际业务过程中的起草、申请、录入等工作相对应。在流程图中的动

7、作方框内有一个明显的箭头图示表示起始动作,非起始动作则表示为齿轮。l 人工动作指需要业务人员进行一些手工处理的动作。人工动作在在执行时将启动表单界面,提供人机交互界面。l 自动动作指无需人工干预,系统自动运行的动作。l 添加动作在人工动作时,其启动的表单界面是空白表单。而当非添加动作时,其表单为上一动作传递而来,当起始动作为非添加动作时,启动的表单将从已存在的表单中选取。一般情况下,起始动作同时也是添加动作。非起始动作同时也是非添加动作。只有一些特殊的流程,起始动作不是添加动作。l 流转条件表示从一个动作(源动作)转到另一个动作(目标动作)的条件,流转条件包含一个结果为真(true)或假(fa

8、lse)的逻辑表达式,当表达式为真时,目标动作将被启动,当表达式为假时,目标动作不被启动。目前表达式支持VB的语法。在表达式定义过程中,流程表单中的每一输入数据项都可以作为变量被引用。流转条件包含的属性还有:类型(单径流转、多径流转)、文字描述、源动作、目标动作、名称等。流转条件在流程图中表示为一个连接源动作方框和目标动作方框的单向连接线。l 单径流转为流转条件的一种,当目标动作的动作人不唯一时,即一个动作存在多个动作人时,单径流转的处理逻辑是当其中一个动作人完成了目标动作,则此目标动作即变成完成动作。无须再做。l 多径流转为流转条件的一种,当目标动作的动作人不唯一时,即一个动作存在多个动作人

9、时,多径流转的处理逻辑是当其中一个动作人完成了目标动作,则此目标动作仍为待办动作。只有所有的动作人都完成了动作,该目标动作才变成完成动作。l 流程图业务流程的图型表示。流程图有两种形式,一种为模型流程图。表示流程的模型。另一种为实例流程图,不但表示流程的模型,同时还表示流程的实例。即流程实例的完成动作和待办动作。l 流程实例流程启动以后产生的运行实例,即一个运行的业务流程。系统会产生一个唯一标识ID来表示流程实例。l 动作实例在流程实例中启动了的动作运行的实例,系统会产生一个唯一的标识ID来表示动作的实例。l 完成动作当一个动作实例已经完成,为完成动作。l 待办动作当一个动作实例没有完成,为待

10、办动作。l 超时动作当一个待办动作超过动作设定的时限为超时动作。四、过程定义工具过程定义工具又叫建模工具,我们提供了方便易用的过程定义工具。该工具作为整个协同管理系统的一个系统管理员功能提供给用户。说明:在过程定义工具中并不包括组织结构和角色定义功能,这是因为,在人力资源模块中已经实现了这些功能。人力资源模块是系统的一个基本模块,并不仅仅为工作流子系统服务。当人力资源模块中的基础数据建立完成后,工作流系统只需要从人力资源模块引用数据即可,不必在工作流系统中单独建立组织结构和角色定义。定制一个工作流程需要完成如下几个步骤:l 新建工作流模型(可以从现有工作流模型中选取一个作为模板)l 定义工作流

11、的基本属性l 绘制模型工作流图l 定义人工动作对应的表单新建工作流模型运行工作流程的定制流程功能模块即可定制一个新的工作流程。定制流程模块显示的第一个界面是分类列出系统已经定制的各项流程名称,点击名称,将在界面下部显示选中流程的流程图。我们可以从现有工作流模型中选取一个与将要定义的工作流程近似的工作流作为模板。这样可以大大减少定义的工作量。点击右上角的箭头即进入下一步,在进入下一步之前,将询问你是否将选中的工作流模型作为模板。选确定将使选中工作流复制到新建流程。否则将创建一个新流程模型。定义工作流的基本属性基本属性有如下内容:1. 流程名称流程名称应在所有的流程模型中唯一。用来在界面标识流程。

12、2. 编码代号可根据企业规定的流程文件填写(如ISO9000文件)。3. 类型按管理类型所做的分类,管理类型在系统管理的编码管理模块定义。4. 描述用文字描述流程要实现的目标。5. 属性确定是否是独立流程或子流程。6. 正常周期流程实例的正常的生命周期。用来为流程分析提供参考。7. 监控人流程实例的监控者,通常为业务主管或绩效考评部门。8. 制定人流程的制定人,由系统自动填写为当前用户的名字。9. 制定时间流程的制定时间,由系统自动填写为当前时间。10. 数据源为与流程绑定的数据源。点右边的图示从列出的系统数据表中选取。如果没有合适的数据源,应使用数据管理的数据建模模块来定义数据源。11. 状

13、态为待用、试用、使用、停用、作废选项。当选中作废时,当前编辑流程模型将被从系统中删除。12. 启用时间流程模型的启用时间。13. 停用时间流程模型的停用时间。14. 级别用数字表示的流程重要性。15. 版本号流程的版本号16. 父版本流程的上一个版本17. 更改说明流程更改情况的说明。特别说明:监控人相当于本流程的管理员,监控人可以是流程的参与者,也可以不是流程的参与者。监控人负责协调流程运行过程中出现的异常。监控人可以随时查询并监控流程运行过程中的每一个动作。当发现异常时,监控人可以通过催办、回退、终止、移交、删除等手段来解决出现的问题。点击监控人右边的图示,将弹出一个角色选择对话框。对话框

14、分类列出了由人力资源模块提供的各类角色。下面分别说明:职务:列出系统定义的所有职务,注意:具有同一职务的员工通常有多人。部门:列出人力资源模块中定义的部门。这里指部门的所有员工。岗位:是部门和职务的合成。如财务部经理。岗位缩小了职务的范围。员工:列出人力资源模块定义的员工。其中第一项为所有员工。指所有用户。上下级:根据上下级关系定义的角色,共有如下几项。发起人:流程起始动作的执行者。所有上级:在人力地图中,位于发起人上级的所有的员工。包括上级和上级的上级等。所有下级:在人力地图中,位于发起人下级的所有的员工。包括下级和下级的下级等。直接上级:是发起人的直接上级。直接上级只应有一人。直接下级:是

15、发起人的直接下级。直接下级通常不止一人。部门领导:是发起人部门的部门负责人。该负责人在部门表里定义。高层主管:是部门表位于顶层同时又是发起人的上级或间接上级的员工。高层领导:是部门表位于顶层部门的所有人。定义完工作流属性提交后,将进入绘制模型工作流图界面绘制模型工作流图在这里将定义动作和流转条件。通过菜单的新增、编辑、删除来定义动作。新增动作菜单将显示一个动作属性对话框。其内容有:动作名称:本动作的名称描述:本动作的文字说明类型:为人工动作、自动动作和子流程的选择框。起始节点:勾选是否为起始动作。是否添加:勾选是否为添加动作。时间限制:动作的时限,当超过时限未执行的动作,为超时动作。使用者:动

16、作的执行人。通知方式:动作完成后,以什么方式通知下一个动作的执行人。系统提供了6种通知方式,分别为:不发送通知、即时消息、手机短信、电子邮件、短信和邮件、手动。表单风格:人工动作对应的表单的风格。有两种选项:表格风格和文档风格。表单列数:人工动作对应的表单的列数。表单返回页:当人工动作完成后,即表单提交后,返回的页面。默认为首页。座标:动作方框在流程图上的位置。如不填写,则为左上角。当新增一个动作后,将在流程图显示区域显示一个方框。方框里显示了动作的名称、动作人和动作时限。动作方框左上角的图示表示动作是否为起点动作。当图示为箭头时表示起点动作,选中流程图上定义的动作。再点击编辑菜单将显示动作属

17、性编辑对话框。实现对动作属性的编辑,其对话框和新增动作显示的对话框同。双击流程动作标题。和点击编辑菜单效果相同。点击菜单删除将删除当前选中的流转动作。在删除流转动作的同时,将删除与该动作相连的所有的流转条件。用鼠标拖动动作方框的标题,可以将动作放到流程图的任意位置。新增动作的初始位置在流程图的左上角。选择网格菜单将在流程图显示或隐藏网格。当网格显示时,拖动动作方框时,其座标位置将锁定在网格点上。这样将很方便地实现动作的对齐。流程动作定义完成后,下面的工作就是定义流转条件了。把鼠标移动到动作方框的边界上,当鼠标变成十字形时,按下左键同时移动鼠标,将在动作方框和鼠标位置之间画出两条相互垂直的虚线,

18、将鼠标移动另一个动作方框上,松开左键,两条虚线将变成实线,将源动作和目标动作以单向连接线的方式连接起来,同时弹出流转条件属性对话框。其内容为:名称:流转的名称,默认为:源动作的名称:目标动作的名称,可修改。类型:为单径流转和多径流转的选择框。说明:关于流转条件的文字说明,在流程图上当鼠标指向流转连线时,将显示此段文字。参考:列出该流程对应的数据源的所有的字段名称,供定义条件时参考。其格式为:变量名(变量说明:类型说明),条件表达式应该引用变量名。条件:条件表达式,当为true时,流转启动,否则不启动。表达式支持VB Script语法。参见 VB Script 参考手册举例:缺勤管理我们给缺勤管

19、理设计了三个动作,第一个动作是起草申请,其动作人是全体员工,属性有:起点动作、添加动作。其含义是所有用户都可以通过这个动作启动流程,实现请假申请。第一个动作的动作时限在启动时无意义,只有在再次流转到这个动作时时限才有意义。第二个动作是上级审批,其执行人是部门领导。即第一个动作执行人(即起点动作的执行人:发起人)的部门的领导来执行审批。在第一个动作和第二个动作之间我们加上了一个流转条件,从动作1:起草申请流转到动作2:上级审批。流转条件为默认值:true。即起草完成后,立即转给上级审批。第三个动作是公司批准。其动作人是高层主管。高层主管指起草人的领导关系树型表示中,位于部门顶层的领导。这里的第三

20、个动作是特殊的流程动作,其含义是:只对长假生效。综合前面两个动作,其整个流程需要完成的逻辑是:部门领导审批员工提出的短期请假。而长期的请假则需要经过公司高层主管的批准。在动作2:上级审批和动作3:公司批准之间我们设计的流转条件就不是默认值true了。我们定义的流转条件是:nHours > 24 and Status = 1。这里使用了数据源提供的变量nHours,其含义是请假时间(按小时计),由启动动作:起草申请的执行人填写。Status是数据源提供的另一个变量。其含义是部门领导的审批意见。整个表达式的含义是:当请假时间超过24小时(3个工作日),同时,部门领导批准的情况下。启动第三个动

21、作:公司批准。当不满足这两个条件的时间。到第二个动作流程即终止了。即部门领导决定三天以内的员工请假。三天以上的员工请假由部门领导和公司高层主管共同决定。流程图完成后,定制相应的表单,则工作流模型定义完成。就可以使用了。流转属性定义完成后,点确定,流转条件定义完成,点删除则删除流转条件。点击流程图上的流转条件连线,将弹出流转条件定义对话框。可实现对流转条件的编辑或删除。绘制完流程图提交后,下一步的工作是定制人工动作对应的表单。定义人工动作对应的表单表单是动作执行时人机交互的界面,表单和数据源具有对应的关系,通过表单,流程每执行一个动作,将使数据库表的某条相关记录发生变化。起始动作将使数据库表增加

22、一条记录,流程中的动作通过填写不同的字段,来实现流程所期望的业务逻辑。可以将表单看成是人工流程中对应的表格。如申请表、审批表等各种单据。在人工流程中,表格是印刷打印或手工绘制的纸质单据,根据流程文件规定的流程(如ISO9000程序文件),不同的人填写不同的表格区域,来实现流程定义的业务。表单定义和绘制表格的作用相同。我们提供了表单编辑器和表单设计器来定义表单,表单编辑器即是下面将要介绍的表单定义界面,表单设计器是表单编辑器提供的菜单功能。表单定义界面将列出当前定义的人工动作的名称和类型以及相对应的表单对象定义,点选人工动作选项,可以选取不同的动作来进行表单编辑。在选择人工动作之前,请用户确定对

23、当前表单的修改是否需要提交,如果需要提交,请先提交表单,否则,对当前动作表单所做的修改将会丢失。表单对象定义界面提供了一个二维表格,让用户输入对应于数据源的每一个字段在表单上的表现形式。二维表格的纵向列出了数据源的所有的字段的顺序号和字段名称。该数据字段我们称之为表单对象,而横向列出了表单对象在屏幕表现所必须的各种属性。其内容有:显示名称在表单中显示的数据字段的名称,该名称的默认值为数据库表定义模块填写的显示名称。如表定义模块未填写显示名称,则默认值将为字段名称。显示名称可以根据表单中的含义进行修改,如:默认名称为姓名,可更改为申请人。显示勾选当前字段是否在表单中显示,当选不显示时,则该表单界

24、面将不使用此字段,同时,该字段的其它属性无效,并被隐藏。注意:不显示字段并不是隐藏字段,隐藏字段在表单界面中仍然存在。只是被隐藏了。其数值仍然受默认值或其它的影响。注意:数据源字段的第一项通常是ID,ID为数据表主键,类型为自动编号。该字段为系统生成,无需人工干预,故一般该字段应设定不显示。只读勾选当前字段是否为只读。当选只读时,表单仅显示字段内容,用户不可输入改变,只读选项在不由该动作填写的字段时或系统自动生成内容时填写。例如:表单填写人由系统生成,用户不可更改。申请动作填写的申请内容,在审批动作不可更改等。必填勾选当前字段是否为必填。当选必填时,如字段数据为空,表单将不可提交。输入类型系统

25、提供了几种输入类型供选择:编辑框: 适合输入简短文本、数字、时间等。检查框:适合输入逻辑值,如是否等。单选框:适合输入多选一的选项。当字段引用枚举量时,可使用此类型。下拉框:适合输入多选一的选项。当字段引用枚举量时,可使用此类型。文本框:适合输入较长的文字。密码框:适合输入密码,密码内容将会被圆点替换。超文本框:适合输入HTML格式的文档,系统提供了内置的HTML编辑器。默认值该字段的默认值,默认值可以直接输入数值,也可以使用表达式,当使用表达式时,应使用等号 = 开头。表达式支持VB Script的语法。在表达式中,可以使用系统内置的变量和函数,也可以使用VB Script的内部函数,参见附

26、录:系统内置变量和函数参考、VB Script参考手册输入规则提供对字段输入的约束条件的定义或辅助指导。在数据库表管理模块实际上已经定义了部份字段的约束条件,如字段的类型,和该字段的引用关系,输入值必须和字段的类型和引用关系匹配,而这里可以定义更详细的规则,以引导用户输入正确的值。我们可以采用直接输入的方法,也可以使用输入框右边提供的图示选择来选择输入规则。选择输入规则根据不同字段的引用关系,输入规则对话框会有不同的表现形式。当字段无引用关系时,输入规则对话框有如下几项内容:通用:定义通用的输入规则高级:提供高级的输入辅助指导选择。自定义:提供文本框,由用户直接填写输入规则。通用规则有如下几条

27、:1、 无限制2、 只允许英文3、 只允许数字4、 只允许汉字5、 不允许英文6、 不允许数字7、 不允许汉字8、 不允许数字开头9、 IP地址10、 URL高级选项,则会在输入框旁边加上选择图示,让用户直接从选择对话框中选择内容。高级选项提供的选择有:日期选择:提供日历选择对话框日期时间选择:提供日历时间选择对话框员工选择:提供员工列表选择对话框员工与组选择:提供员工列表及部门职务选择对话框颜色选择:提供调色盘选择颜色对话框字体选择:提供字体选择对话框字段历史选择:提供曾经输入过的字段内容列表选择对话框图标选择:提供图标选择列表对话框。当字段存在引用关系时,根据表引用或是枚举量引用。字段的输

28、入规则会有如下的内容:枚举量:列出枚举量所有数值与内容,用户可全部选择或部份选择。表引用:列出引用表的所有可选择记录,用户可全选或部份选择。引用查询:列出引用表所对应的查询。用户可使用查询来选择引用。行、列、宽、高定义输入字段在表单中的位置,表单的总列数在动作属性中定义。行:字段所在的起始行位置。列:字段所在的起始列位置。宽:字段所占用的列的宽度。当宽为0时,该字段隐藏。高:字段所占用的行数。最小为1。当行值为负值时,表示建立多行明细表。其位置在行值的绝对值的位置。定义表单界面还提供了如下的菜单功能:另存:将流程表单另存为表动作表单。在数据管理模块,我们提供了表动作表单,表单动作表单和流程无关

29、,是专为数据源提供的表单,其用处为非工作流的应用,如专为系统管理员的应用,以及诸如内容浏览、打印等用途。此功能将弹出对话框,在对话框中可以选择现有的表动作,点击确定将保存当前的表单到选择的表动作表单,而原有的表动作表单内容将被复盖。也可以选择新建表动作表单,来新建一个表动作表单。表动作表单将可以在数据管理模块中进行编辑设计。载入:从流程动作或表动作表单中载入,载入表单将打开一个选择对话框,对话框列出同属于同一数据源的所有的表单,可能是表动作表单,也可能是流程动作表单,流程动作可能是本流程的其它动作,也可能是同属同一数据源的其它流程的流程动作表单。从列表中选择表单,将复盖当前的表单设置。属性:定

30、义表单的其它属性。此功能将弹出一个属性对话框,在属性对话框里,将定义与界面相关的其它若干属性,其内容有:表单风格:有表格风格和文档风格两种选择,和流程动作属性定义的内容相同。表单列数:表单的列数:和流程动作属性定义的内容相同。表单头:表单标题,支持HTML语法。表单尾:表单结束,支持HTML语法。输入栏字体:定义字段输入栏的字体。名称栏字体:定义字段名称栏的字体。输入栏背景:定义字段输入栏的背景颜色名称栏背景:定义字段名称栏的背景颜色。输入栏前景:定义字段输入栏的文字颜色名称栏前景:定义字段名称栏的文字颜色。脚本:定义表单动作的自定义脚本。在表单生成、运行、提交等的各个过程中,可以通过插入脚本

31、来实现各种自定义等高级的功能。系统支持服务器端自定义脚本和客户端自定义脚本两种形式,服务器端脚本支持VB Script语言。客户端脚本支持Java Script语言。在自定义脚本中,支持引用系统内建的系统变量和系统提供的大量的系统函数和子程序。VB Script和Java Script语言请参考VB Script语言参考手册Java Script语言参考手册系统变量和系统函数和子程序请参考附录系统内置变量和函数参考脚本菜单将弹出脚本窗口来定义自定义脚本。在自定义脚本窗口,可以选择流程的每一个动作。在选择动作时,请确定已做的动作脚本修改已经提交,否则修改将丢失。启动时刻定义自定义脚本将在何时运行

32、。共有如下几种选择:后台载入时指服务器端生成表单时运行的自定义脚本后台提交时提表单提交后,服务器端运行的自定义脚本前台载入时指客户端下载完表单后的初始化代码前台提交时指客户端填写完表单后提交表单时运行的自定义脚本前台交互时(onclick)指客户端在填写表单时,点击表单对象时运行的自定义脚本。前台交互时(ondblclick)指客户端在填写表单时,双击表单对象时运行的自定义脚本。前台交互时(onchange)指客户端在填写表单时,当表单对象的输入域数值发生变化后,运行的自定义脚本。前台交互时(onkeypress)指客户端在填写表单时,键盘有键按下时,当前具有输入焦点的对象运行的自定义脚本。前

33、台交互时的自定义脚本还需要指明表单对象,表单对象在启动时刻选择框的右边列出供选择。表单对象只有在前台交互时才可选择。通过选择动作、启动时刻和表单对象可以唯一确定一段脚本。当定义的脚本提交后,将在对应的表单对象、启动时刻和动作上打上星号*。通过星号的指引,我们可以迅速找到已经定义完成的脚本。使用技巧:可以通过后台载入时的自定义脚本定义变量,而在表单定义时通过默认值定义时的表达式来引用自定义脚本定义的变量。自动:自动排列表单对象的位置。此功能将自动排列表单对象的位置。自动排列会根据表单对象的长度的宽度进行自动排列,省却了人工排列的繁烦。统一:将本动作表单定义统一到其它动作表单中。点击统一将使当前定

34、义的动作表单统一到本流程的所有的其它动作中。这在第一次定义表单时非常有用。我们只要定义流程动作的第一个表单,然后选取统一功能。则所有的动作表单都和第一个动作的表单一样,一般其它动作的表单只要略作修改就可以了。统一的动作将在提交后生效。设计:使用表单设计器定义表单。表单设计器提供了功能强大的表单设计功能。表单设计器提供了一个HTML编辑器来设计表单的外观,当使用了表单设计器,表单对象的位置属性将完全失效。在表单设计器中通过表单对象选择框,可以将表单对象放到表单的任意位置。通过表单设计器提供的HTML编辑器的各项功能,我们可以定义出各种复杂形式的表单。预览:预览当前定义的表单。在预览前会提示是否提

35、交当前所做的修改。将每个动作的表单定义完成后,则整个流程的设计完成。我们可以通过启动流程、工作流程、流程查询、流程监控等模块来测试运行设计定义好的流程,也可以通过修改流程模块来对设计好的流程进行修改。修改流程的使用与定制流程的使用完全相同。常见问题:1、 为什么流程图没有定义结束动作?就象起点动作是动作的一个属性一样,我们没有专门定义单独的起点动作。同样,我们也没有定义单独的结束动作。任何动作都有可能成为结束动作,当下列条件之一满足的动作就有可能成为结束动作。1、没有定义转出条件的动作;2、在动作执行完后,转出条件不满足的动作。这里的结束动作是指动作完成后,并不产生新的动作的动作。和其它系统的

36、结束动作定义有所区别。2、 系统是否支持路由动作实现聚合条件或分支条件?系统目前不支持路由动作,而通过流转条件的设计,系统可以实现聚合条件和分支条件。参见系统内建的流程。3、 在流程图中,流程动作经过流转条件的循环,可以让一个动作多次执行,当第二次执行时或多次执行的时候,其执行人、起点动作属性、添加动作属性等是否和第一次时一样?动作在第一次执行时,将根据动作执行人定义的内容安排执行人。当经过流转,返回到该动作时,其动作执行人将为第一次执行的执行人。如果该动作是起点动作和添加动作,则这两个属性在再次执行时将被忽略。其它属性保持不变。对于起点动作的动作时限,只有在再次执行时才有意义。在起点时无意义

37、。4、 怎样实现流程的保存逻辑?即流程动作表单填写后,暂时保存起来,不转给下个流程。等过段时间再由人工启动流转。在流程定义工具上,该逻辑我们并不提供,但是通过流程的设计,可以实现这样的逻辑,比如,在数据源中我们可以设计一个字段FlowStatus,表示流程是否进入流转,在动作表单中选择此字段为0,则表示保存逻辑,选择此字段为1 表示进入流转。在流转条件中将FlowStatus作为条件来判断是否流转。这样就可以实现人工启动流转的逻辑。5、 怎样实现字段的隐藏?通过修改动单对象的显示属性不能实现字段的隐藏,只能实现字段的使用和不可使用。当需要实现隐藏字段时,仅需将宽度设为0即可。附录:系统内置变量

38、和函数参考一、 服务器端内置变量参考:1、全局变量EmemberName当前用户的登录名,字符型CmemberName当前用户的姓名,字符型MemberLevel当前用户的级别,数字型MemberDuty当前用户的职务,数字型MemberDept当前用户的部门编号,数字型MemberStatus当前用户的状态,数字型,0:在职,1:兼职bMemberAdmin当前用户是否是系统管理员,数字型。当是系统管理员时为1 ,否则为0。Conn当前用户数据库的ADO连接对象BaseConn当前配置数据库的ADO连接对象2、流程动作表单在后台载入时可以引用的系统变量ModuleNo:当前模块的编号bPre

39、view:当前是否是预览模式StepID:当前动作实例的IDActionID:当前流程动作的IDFlowID:流程模型的IDDataID:数据库表记录的IDFlowEName:流程的编码代号FlowCName:流程的名称TableDefID:数据库表定义的IDTableName:数据库的表名ActionText:当前流程动作的名称nFormCols:动作表单的列数nFormStyle:动作表单的风格ActionInfo:动作的说明bAppend:是否是添加动作FormHead:表单头FormTail:表单尾ValFont:表单对象输入栏的字体ConFont:表单对象名称栏的字体ValBkCol

40、or:表单对象输入栏的背景颜色ConBkColor:表单对象名称栏的背景颜色ValFrColor:表单对象输入栏的字体颜色ConFrColor:表单对象名称栏的字体颜色LineColor:表单对象的表格线的颜色FormTemplete:表单设计器定义的表单样式3、流程动作表单在后台提交时可以引用的系统变量ModuleNo:当前模块的编号FlowID:流程模型的IDActionID:当前流程动作的IDStepID:当前动作实例的IDDataID:数据库表记录的IDTableDefID:数据库表定义的IDTableName:数据库的表名FlowCName:流程的名称ActionText:当前流程动

41、作的名称Count:表单明细列表的行数此外,通过Request.Form可以引用表单提交的所有的表单对象。二、 服务器端内置函数及子程序参考:function rsSQL(sql, info)返回用户数据库SQL查询执行的结果的记录集。参数:sqlsql 查询执行语句info当定义此参数时,如结果记录集为空时,界面显示本参数定义的文本,同时程序结束,如此参数为空串时,系统返回空记录集。由用户处理。返回值:recordset 对象function dbSQL(sql, info)返回配置数据库SQL查询执行的结果的记录集。参数:sqlsql 查询执行语句info当定义此参数时,如结果记录集为空时

42、,界面显示本参数定义的文本,同时程序结束,如此参数为空串时,系统返回空记录集。由用户处理。返回值:recordset 对象function GetTableValue(TableName, outName, inName, inVal)根据指定输入字段的值,返回用户数据库表中指定的输出字段的值。参数:TableName:表名outName:需要返回的字段的名称inName:输入字段的名称inVal:输入字段的数值返回值:返回表中outName字段的值。当记录不存在,返回空串。否则返回表中记录的字段值。function GetDBValue(TableName, outName, conditi

43、on)根据指定输入条件,返回用户数据库表中指定的输出字段的值。参数:TableName:表名outName:需要返回的字段的名称condition:输入条件返回值:返回表中outName字段的值。当记录不存在,返回空串。否则返回表中记录的字段值。function GetDataValue(TableName, outName, inName, inVal)根据指定输入条件,返回配置数据库表中指定的输出字段的值。参数:TableName:表名outName:需要返回的字段的名称condition:输入条件返回值:返回表中outName字段的值。当记录不存在,返回空串。否则返回表中记录的字段值。f

44、unction GetBaseValue(conn, TableName, outName, condition)根据指定输入条件,返回数据库表中指定的输出字段的值。参数:conn:数据库连接的ADO对象TableName:表名outName:需要返回的字段的名称condition:输入条件返回值:返回表中outName字段的值。当记录不存在,返回空串。否则返回表中记录的字段值。sub ExecuteSQL(conn, sql, nPrompt)执行SQL语句参数:conn:数据库连接的ADO对象sql:数据库操作的SQL语句nPrompt:数字,当SQL操作失败时,返回给用户的提示。当数值为

45、1 时,将显示消息框指明SQL错误。同时,页面将返回到提交前的上一页面。function GetUserFaceParam(paramName, defaultvalue)得到系统定义的用户界面的元素的参数参数:paramName:用户界面元素的名称。系统目前定义了如下的界面元素供选择:1ToolsBgColor工具栏背景色2ToolsFgColor工具栏前景色3FunsTitleBgColor功能栏标题背景色4FunsTitleFgColor功能栏标题前景色5FunsBodyBgColor功能栏内文背景色6FunsBodyFgColor功能栏内文前景色7MainTitleBgColor工作区

46、标题背景色8MainTitleFgColor工作区标题前景色9MainTableBgColor工作区表格标题背景色10MainTableFgColor工作区表格标题前景色11MainBodyColor工作区背景色12MainTableBodyBgColor工作区表格内文背景色13MainTableBodyFgColor工作区表格内文前景色14MainSeleBgColor选择条目背景色15MainSeleFgColor选择条目前景色16MainTableLnColor工作区表格线颜色17MainDocBgColor工作区文档背景色18MainDocFgColor工作区文档前景色19MainMe

47、nuBgColor工作区菜单栏背景色20MainMenuFgColor工作区菜单栏前景色defaultValue:如指定名称的用户界面名称不存值,将返回此默认值。返回值:与用户界面元素对应的参数。function GetSysParam(paramName)得到系统定义的参数参数:paramName:系统定义的参数名称,系统目前共有如下的系统参数供选择:SystemName系统名称DatabaseName数据库名称LangVersion语言转换DatabaseType数据库类型Leader第一负责人LeaderEName第一负责人登录名nArea地区码nProvide供应商代码nType产品类

48、别代码nVersion产品版本代码nValidDate产品有效期nLimitMember最大用户数量nOnline最大并发用户数量LicenceDate证书颁发时间LicenceCreater证书颁发人ProductSerial产品序列号HTTPPortHTTP端口号KMDirectory知识文档目录ServerAddress服务器地址AutoLog自动登录AutoUser自动登录用户名AutoPass自动登录密码IPConns每IP允许连接数bService系统服务ClientBind客户端主机绑定ClientIPBind客户端IP绑定SysIPRange系统地址范围SysUpdateFla

49、g系统升级标志LicenceUnit证书颁发单位BackupDir系统备份目录BackupTime系统自动备份时间BackupLife系统备份有效期LastBackupTime上次备份时间InstallFlag安装标志返回值:指定名称的系统参数function CE(ch)语言转换,将中文语言转换为界面规定的语言参数:ch:输入的中文字符串,返回值:转换后的字符串。如无法转换,则返回ch字符串function IsMemberLeader(CName, Leader)判断上下级关系参数:CName:员工姓名Leader:上级姓名返回值:当上下级关系成立时,返回true,否则返回false。当C

50、Name等于Leader时,返回true。function IsUserOnline(sUser)判断用户是否在线。参数:sUser:用户名称返回值:当用户在线,返回true,否则返回false。function GetUserRequestPages(sUser)得到用户自登录以来访问的页面数参数:sUser:用户名称返回值:页面数。function IsUserSameAddress(sUser)判断当前用户登录地址和上次登录地址是否一致。参数:sUser:用户名称返回值:当地址一致,返回true,否则返回false。function GetIPAddress(ip)IP地址转换函数参数:

51、ip:IP地址。返回值:当ip为数值型,则返回字符串,当ip为字符串,则返回数值。function GetDeptString(Dept)根据用户部门编号,得到用户部门名称参数:Dept:部门编号返回值:function GetDeptDB()得到系统所有部门的编号和名称参数:无返回值:返回二维数组,第一个元素为部门编号,第二个元素为部门名称function IsString(str, bStr)判断是否是字符串参数:str:字符串bStr:true或false返回值:当bStr 为true时,返回str,否则返回空串。function FindArray(a, val)从数组中寻找键值,并返

52、回数组的位置参数:a:数组val:键值返回值:数组的位置,当未找到键值时,返回-1function GetDateStr(sdate, fmt)返回不同格式的日期字符串参数:sdate:日期值fmt:日期格式,数字型,分别为 1- 6,其格式为:1 月-日 时:分2 年-月-日3 年.月.日4 月.日5 时:分6 月-日 时:分:秒返回值:指定格式的时间字符串function LStrFill(n, length, FillChar)格式化字符串参数:n:被格式化的字符串,当n为非字符串将会转换成字符串length字符串的长度FillChar填充字符返回值:当被格式化字符串的长度小于lengt

53、h时, 返回值将在前面填上填充字符。function GetWeekColor(wk)得到星期的界面颜色参数:wk:数字型,1:星期天;7:星期六;2-6:星期1-5返回值:星期的颜色function FormatText(str, tag, property, condition)根据给定条件,返回XML格式的字符串参数:str:输入的字符串tag:XML标记property:标记的属性值condition:条件,true 或false返回值:当condition为true时,返回标记为tag,内容为str的XML字符串,否则,返回str。function AddText(s1, s2)两段文本相加参数:s1:文本1s2:文本2返回值:相加的文本用字符<BR>来连接。func

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论