




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、工作流系统设计手册 一、引言 工作流管理是目前被业界广泛应用并迅速发展的技术,它的主要功能是使业务处理过程自 动化, 协调人和各种应用程序的工作。 工作流管理系统 ( Workflow Management System ,简称: WfMS )以企业业务过程为核心,结合了计算机支持协同工作以及企业信息系统的相关技术, 立足于过程自动化,着眼于整体效率的提高。随着计算机软硬件技术的发展,特别是Internet 和 Intranet 的迅速普及, 工作流管理系统的应用范围已不仅仅限于传统办公环境 (如保险、银行、 法律、行政管理等)和工业制造中,而且逐渐扩展到企业应用环境中。 1993年成立的工作
2、流管理联盟( Workflow Management Coalition ,简称: WfMC )给出了一 系列工作流的规范。其主要概念有: 工作流 工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则,文档 信息或任务能够在不同的执行者之间传递与执行。 工作流是一种反映业务流程的计算机化的模型,实现经营过程集成与经营过程自动化 而建立的可由工作流管理系统执行的业务模型。 工作流管理系统 它是一个软件系统,完成工作流的定义和管理,并按照在计算机中预先定义好的工作 流逻辑推进工作流实例的执行。并监控其工作状态。工作流管理系统可称为企业的业务操 作系统。(Business Opera
3、ting System,简称:BOS) 工作流系统参考模型 过锌定义工具 接口 1 工件就APim仝趣構式 接口 5 丁竹流执荷服务 英它 Tfri-Jii 瓠存廉务 -LM 丁前流轨 T?OL 接口 2 工作流官户 3 X作逝机卫接 调川的应用 極口 3 rai2 I.柞i4泰茗挾型 有关工作流管理联盟更详细的规范请参见 二、JU工作流管理系统 根据国际工作流管理联盟的标准模型,实现了过程定义工具、工作流执行服务(工作 流机)、工作流管理工具以及工作流客户应用(人工动作)和供工作流执行服务(工作流机) 直接调用的应用(自动化动作)。 人工动作必须与表单绑定。表单提供了
4、人机交互的工作界面,而表单的后面是标准通 用的关系型数据库系统。对于数据库系统我们提供了标准的数据管理模块进行管理。这样 就和目前常见的工作流系统有了明显的区别,结构化的数据库系统参与了工作流的全部过 程,而目前常见的工作流系统多采用非结构化的文档数据库。经过扩充后的工作流系统既 解决了人员之间的协同,提高了工作效率。也解决了其它工作流系统不能解决的第二个问 题,为业务管理系统提供准确有效的数据,加上可自定义的报表工具,分析工具。即可生 成极具个性的企业业务管理系统。 过程定义工具和工作流客户应用是人机交互的主要部份。过程定义工具的使用是一个 设计开发的过程,而工作流客户应用则是使用的过程,设
5、计开发过程相对复杂,而使用的 过程则非常简单。对于两种不同的过程,我们采用了统一的设计方法,采用了完全的B/S 结构,现有的工作流系统一般设计工具采用C/S方式,运行端使用 B/S或C/S方式,我们 的系统将两者进行了统一,使用了独创的技术,可以直观方便地使用IE定义流程图。降低 了对管理员的要求。同时,在流程运行时,流程图可以动态显示当前的状态,高度紧凑的 系统提高了运行的效率,降低了出错的可能。 三、工作流基本知识 流程 又叫业务流程、工作流程。是反映业务目的工作流模型,这个模型定义了要实现 的目标以及实现目标所要经过的过程。流程可以用流程图来表示。 独立流程 独立流程是可以直接启动运行的
6、流程,一个完整的独立流程由若干个动作和若干 个流转条件组成。其包含的的属性有:工作流模型 ID 、名称、类型、编号、状态、版 本号及绑定的数据源等。 子流程 和独立流程唯一不同的地方是子流程不可以直接启动。子流程将作为独立流程的 一个动作来执行。 数据源 存储数据的集合,目前支持关系数据库中的表,当数据源与流程绑定后,则数据 源用来保存工作流运行过程中的数据。 动作 又叫活动, 动作是构成流程的基本单元, 主要反映完成业务流程需要执行的操作。 其包含的属性有:动作名称、动作描述、动作类型(人工动作、自动动作、子流程等 )、 是否起始动作、 是否添加动作、 动作人、 动作时限、 通知方式以及相应
7、的表单信息等。 动作在流程图中用一个方框来表示,方框内显示了动作的重要属性。 起始动作 表示一个业务流程的起点。当起始动作启动后,系统将自动生成一个流程实例。 每一个流程最小有一个起始动作。起始动作目前是由人工来启动的。区别与别的工作 流系统, 起始动作本身也是一个动作, 人工起始动作将启动表单, 提供人机交互界面, 与实际业务过程中的起草、申请、录入等工作相对应。在流程图中的动作方框内有一 个明显的箭头图示表示起始动作,非起始动作则表示为齿轮。 人工动作 指需要业务人员进行一些手工处理的动作。 人工动作在在执行时将启动表单界面, 提供人机交互界面。 自动动作 指无需人工干预,系统自动运行的动
8、作。 添加动作 在人工动作时,其启动的表单界面是空白表单。而当非添加动作时,其表单为上 一动作传递而来, 当起始动作为非添加动作时, 启动的表单将从已存在的表单中选取。 一般情况下,起始动作同时也是添加动作。非起始动作同时也是非添加动作。只有一 些特殊的流程,起始动作不是添加动作。 流转条件 表示从一个动作(源动作)转到另一个动作(目标动作)的条件,流转条件包含 一个结果为真(true)或假(false)的逻辑表达式,当表达式为真时,目标动作将被启动, 当表达式为假时,目标动作不被启动。目前表达式支持 VB 的语法。在表达式定义过 程中,流程表单中的每一输入数据项都可以作为变量被引用。流转条件
9、包含的属性还 有:类型(单径流转、多径流转) 、文字描述、源动作、目标动作、名称等。流转条件 在流程图中表示为一个连接源动作方框和目标动作方框的单向连接线。 单径流转 为流转条件的一种,当目标动作的动作人不唯一时,即一个动作存在多个动作人 时,单径流转的处理逻辑是当其中一个动作人完成了目标动作,则此目标动作即变成 完成动作。无须再做。 多径流转 为流转条件的一种,当目标动作的动作人不唯一时,即一个动作存在多个动作人 时,多径流转的处理逻辑是当其中一个动作人完成了目标动作,则此目标动作仍为待 办动作。只有所有的动作人都完成了动作,该目标动作才变成完成动作。 流程图 业务流程的图型表示。 流程图有
10、两种形式, 一种为模型流程图。 表示流程的模型。 另一种为实例流程图,不但表示流程的模型,同时还表示流程的实例。即流程实例的 完成动作和待办动作。 流程实例 流程启动以后产生的运行实例,即一个运行的业务流程。系统会产生一个唯一标 识 ID 来表示流程实例。 动作实例 在流程实例中启动了的动作运行的实例, 系统会产生一个唯一的标识 ID 来表示动 作的实例。 完成动作 当一个动作实例已经完成,为完成动作。 待办动作 当一个动作实例没有完成,为待办动作。 超时动作 当一个待办动作超过动作设定的时限为超时动作。 四、过程定义工具 过程定义工具又叫建模工具,我们提供了方便易用的过程定义工具。该工具作为
11、整个协同 管理系统的一个系统管理员功能提供给用户。 说明: 在过程定义工具中并不包括组织结构和角色定义功能,这是因为,在人力资源模块中已经 实现了这些功能。人力资源模块是系统的一个基本模块,并不仅仅为工作流子系统服务。当人 力资源模块中的基础数据建立完成后,工作流系统只需要从人力资源模块引用数据即可,不必 在工作流系统中单独建立组织结构和角色定义。 定制一个工作流程需要完成如下几个步骤: 新建工作流模型(可以从现有工作流模型中选取一个作为模板) 定义工作流的基本属性 绘制模型工作流图 定义人工动作对应的表单 新建工作流模型 运行工作流程的定制流程功能模块即可定制一个新的工作流程。 定制流程模块
12、显示的第一个界面是分类列出系统已经定制的各项流程名称,点击名称,将 在界面下部显示选中流程的流程图。我们可以从现有工作流模型中选取一个与将要定义的工作 流程近似的工作流作为模板。这样可以大大减少定义的工作量。点击右上角的箭头即进入下一 步,在进入下一步之前,将询问你是否将选中的工作流模型作为模板。选确定将使选中工作流 复制到新建流程。否则将创建一个新流程模型。 定义工作流的基本属性 基本属性有如下内容: 1. 流程名称 流程名称应在所有的流程模型中唯一。用来在界面标识流程。 2. 编码代号 可根据企业规定的流程文件填写(如 ISO9000 文件)。 3. 类型 按管理类型所做的分类, 管理类型
13、在系统管理的编码管理模块定义。 4. 描述 用文字描述流程要实现的目标。 5. 属性 确定是否是独立流程或子流程。 6. 正常周期 流程实例的正常的生命周期。用来为流程分析提供参考。 7. 监控人 流程实例的监控者,通常为业务主管或绩效考评部门。 8. 制定人 流程的制定人,由系统自动填写为当前用户的名字。 9. 制定时间 流程的制定时间,由系统自动填写为当前时间。 10. 数据源 为与流程绑定的数据源。 点右边的图示从列出的系统数据表中选取。 如果没有合适的数据源,应使用数据管理的数据建模模块来定义数据源。 11. 状态 为待用、试用、使用、停用、作废选项。当选中作废时,当前编辑 流程模型将
14、被从系统中删除。 12. 启用时间 流程模型的启用时间。 13. 停用时间 流程模型的停用时间。 14. 级别 用数字表示的流程重要性。 15. 版本号 流程的版本号 16. 父版本 流程的上一个版本 17. 更改说明 流程更改情况的说明。 特别说明: 列出系统定义的所有职务,注意:具有同一职务的员工通常有多人。 列出人力资源模块中定义的部门。这里指部门的所有员工。 是部门和职务的合成。如财务部经理。岗位缩小了职务的范围。 列出人力资源模块定义的员工。其中第一项为所有员工。指所有用户。 监控人相当于本流程的管理员,监控人可以是流程的参与者,也可以不是流程的参与 者。监控人负责协调流程运行过程中
15、出现的异常。监控人可以随时查询并监控流程运行过 程中的每一个动作。当发现异常时,监控人可以通过催办、回退、终止、移交、删除等手 段来解决出现的问题。点击监控人右边的图示,将弹出一个角色选择对话框。对话框分类 列出了由人力资源模块提供的各类角色。下面分别说明: 职务: 部门: (-JL4 亠 岗位: 员工: 上下级:根据上下级关系定义的角色,共有如下几项。 发起人: 所有上级: 上级等。 所有下级: 下级等。 直接上级: 流程起始动作的执行者。 在人力地图中,位于发起人上级的所有的员工。包括上级和上级的 在人力地图中,位于发起人下级的所有的员工。包括下级和下级的 是发起人的直接上级。直接上级只应
16、有一人。 是发起人的直接下级。直接下级通常不止一人。 是发起人部门的部门负责人。该负责人在部门表里定义。 是部门表位于顶层同时又是发起人的上级或间接上级的员工。 是部门表位于顶层部门的所有人。 直接下级: 部门领导: 高层主管: 高层领导: 定义完工作流属性提交后,将进入绘制模型工作流图界面 绘制模型工作流图 在这里将定义动作和流转条件。 通过菜单的新增、编辑、删除来定义动作。 新增动作菜单将显示一个动作属性对话框。其内容有: 动作名称: 描述: 类型: 起始节点: 是否添加: 时间限制: 使用者: 通知方式: 种通知方式, 件、手动。 表单风格: 表单列数: 表单返回页: 座标:动作方框在流
17、程图上的位置。如不填写,则为左上角。 本动作的名称 本动作的文字说明 为人工动作、自动动作和子流程的选择框。 勾选是否为起始动作。 勾选是否为添加动作。 动作的时限,当超过时限未执行的动作,为超时动作。 动作的执行人。 动作完成后,以什么方式通知下一个动作的执行人。系统提供了 分别为:不发送通知、即时消息、手机短信、电子邮件、短信和邮 人工动作对应的表单的风格。有两种选项:表格风格和文档风格。 人工动作对应的表单的列数。 当人工动作完成后,即表单提交后,返回的页面。默认为首页。 当新增一个动作后,将在流程图显示区域显示一个方框。方框里显示了动作的名称、 动作人和动作时限。动作方框左上角的图示表
18、示动作是否为起点动作。当图示为箭头时表 示起点动作, 选中流程图上定义的动作。再点击编辑菜单将显示动作属性编辑对话框。实现对动作 属性的编辑,其对话框和新增动作显示的对话框同。双击流程动作标题。和点击编辑菜单 效果相同。 点击菜单删除将删除当前选中的流转动作。在删除流转动作的同时,将删除与该动作 相连的所有的流转条件。 用鼠标拖动动作方框的标题,可以将动作放到流程图的任意位置。新增动作的初始位 置在流程图的左上角。 选择网格菜单将在流程图显示或隐藏网格。当网格显示时,拖动动作方框时,其座标 位置将锁定在网格点上。这样将很方便地实现动作的对齐。 流程动作定义完成后,下面的工作就是定义流转条件了。
19、把鼠标移动到动作方框的边 界上,当鼠标变成十字形时,按下左键同时移动鼠标,将在动作方框和鼠标位置之间画出 两条相互垂直的虚线,将鼠标移动另一个动作方框上,松开左键,两条虚线将变成实线, 将源动作和目标动作以单向连接线的方式连接起来,同时弹出流转条件属性对话框。其内 容为: 名称: 类型: 说明: 流转的名称,默认为:源动作的名称:目标动作的名称,可修改。 为单径流转和多径流转的选择框。 关于流转条件的文字说明,在流程图上当鼠标指向流转连线时,将显示此段 文字。 参考: 列出该流程对应的数据源的所有的字段名称, 供定义条件时参考。 其格式为: 变量名(变量说明:类型说明) ,条件表达式应该引用变
20、量名。 条件: 条件表达式,当为 true 时,流转启动,否则不启动。表达式支持 VB Script 语法。参见 VB Script 参考手册 举例:缺勤管理 我们给缺勤管理设计了三个动作, 第一个动作是起草申请, 其动作人是全体员工, 属性有:起点动作、添加动作。其含义是所有用户都可以通过这个动作启动流程,实 现请假申请。第一个动作的动作时限在启动时无意义,只有在再次流转到这个动作时 时限才有意义。 第二个动作是上级审批,其执行人是部门领导。即第一个动作执行人(即起点动 作的执行人:发起人)的部门的领导来执行审批。在第一个动作和第二个动作之间我 们加上了一个流转条件,从动作 1:起草申请流转
21、到动作 2:上级审批。流转条件为默 认值:true。即起草完成后,立即转给上级审批。 第三个动作是公司批准。其动作人是高层主管。高层主管指起草人的领导关系树 型表示中,位于部门顶层的领导。这里的第三个动作是特殊的流程动作,其含义是: 只对长假生效。 综合前面两个动作,其整个流程需要完成的逻辑是:部门领导审批员工提出的短 期请假。而长期的请假则需要经过公司高层主管的批准。 在动作 2:上级审批和动作 3: 公司批准之间我们设计的流转条件就不是默认值 true 了。 我们定义的流转条件是: nHours 24 and Status = 1 。这里使用了数据源提供 的变量 nHours ,其含义是请
22、假时间(按小时计) ,由启动动作:起草申请的执行人填 写。 Status 是数据源提供的另一个变量。 其含义是部门领导的审批意见。 整个表达式 的含义是:当请假时间超过 24 小时( 3 个工作日),同时,部门领导批准的情况下。 启动第三个动作:公司批准。当不满足这两个条件的时间。到第二个动作流程即终止 了。即部门领导决定三天以内的员工请假。三天以上的员工请假由部门领导和公司高 层主管共同决定。 流程图完成后,定制相应的表单,则工作流模型定义完成。就可以使用了。 流转属性定义完成后,点确定,流转条件定义完成,点删除则删除流转条件。 点击流程图上的流转条件连线,将弹出流转条件定义对话框。可实现对
23、流转条件的编 辑或删除。 绘制完流程图提交后,下一步的工作是定制人工动作对应的表单。 定义人工动作对应的表单 表单是动作执行时人机交互的界面,表单和数据源具有对应的关系,通过表单,流程 每执行一个动作,将使数据库表的某条相关记录发生变化。起始动作将使数据库表增加一 条记录,流程中的动作通过填写不同的字段,来实现流程所期望的业务逻辑。 可以将表单看成是人工流程中对应的表格。如申请表、审批表等各种单据。在人工流 程中,表格是印刷打印或手工绘制的纸质单据,根据流程文件规定的流程(如 ISO9000 程 序文件),不同的人填写不同的表格区域,来实现流程定义的业务。表单定义和绘制表格的 作用相同。 我们
24、提供了表单编辑器和表单设计器来定义表单,表单编辑器即是下面将要介绍的表 单定义界面,表单设计器是表单编辑器提供的菜单功能。 表单定义界面将列出当前定义的人工动作的名称和类型以及相对应的表单对象定义, 点选人工动作选项,可以选取不同的动作来进行表单编辑。在选择人工动作之前,请用户 确定对当前表单的修改是否需要提交,如果需要提交,请先提交表单,否则,对当前动作表单所做的修改将会丢失。 表单对象定义界面提供了一个二维表格,让用户输入对应于数据源的每一个字段在表 单上的表现形式。 二维表格的纵向列出了数据源的所有的字段的顺序号和字段名称。该数据字段我们称 之为表单对象,而横向列出了表单对象在屏幕表现所
25、必须的各种属性。其内容有: 显示名称 在表单中显示的数据字段的名称,该名称的默认值为数据库表定义模块填写的显 示名称。如表定义模块未填写显示名称,则默认值将为字段名称。显示名称可以根据 表单中的含义进行修改,如:默认名称为姓名,可更改为申请人。 显示 勾选当前字段是否在表单中显示, 当选不显示时, 则该表单界面将不使用此字段, 同时,该字段的其它属性无效,并被隐藏。 注意:不显示字段并不是隐藏字段,隐藏字段在表单界面中仍然存在。只是被隐 藏了。其数值仍然受默认值或其它的影响。 注意:数据源字段的第一项通常是 ID ,ID 为数据表主键,类型为自动编号。 该字 段为系统生成,无需人工干预,故一般
26、该字段应设定不显示。 只读 勾选当前字段是否为只读。当选只读时,表单仅显示字段内容,用户不可输入改 变,只读选项在不由该动作填写的字段时或系统自动生成内容时填写。例如:表单填 写人由系统生成, 用户不可更改。 申请动作填写的申请内容, 在审批动作不可更改等。 必填 输入类型 系统提供了几种输入类型供选择: 编辑框: 检查框: 单选框: 下拉框: 文本框: 密码框: 超文本框: 默认值 勾选当前字段是否为必填。当选必填时,如字段数据为空,表单将不可提交。 适合输入简短文本、数字、时间等。 适合输入逻辑值,如是否等。 适合输入多选一的选项。当字段引用枚举量时,可使用此类型。 适合输入多选一的选项。
27、当字段引用枚举量时,可使用此类型。 适合输入较长的文字。 适合输入密码,密码内容将会被圆点替换。 适合输入 HTML 格式的文档,系统提供了内置的 HTML 编辑器。 该字段的默认值,默认值可以直接输入数值,也可以使用表达式,当使用表达式 时,应使用等号 = 开头。表达式支持 VB Script 的语法。在表达式中,可以使用系统 内置的变量和函数,也可以使用 VB Script 的内部函数,参见附录:系统内置变量和 函数参考、VB Seri pt参考手册 输入规则 提供对字段输入的约束条件的定义或辅助指导。在数据库表管理模块实际上已经 定义了部份字段的约束条件,如字段的类型,和该字段的引用关系
28、,输入值必须和字 段的类型和引用关系匹配, 而这里可以定义更详细的规则, 以引导用户输入正确的值。 我们可以采用直接输入的方法,也可以使用输入框右边提供的图示选择来选择输入规 则。 选择输入规则 根据不同字段的引用关系,输入规则对话框会有不同的表现形式。 当字段无引用关系时,输入规则对话框有如下几项内容: 通用: 定义通用的输入规则 高级: 提供高级的输入辅助指导选择。 自定义: 提供文本框,由用户直接填写输入规则。 通用规则有如下几条: 1、 无限制 2、 只允许英文 3、 只允许数字 4、 只允许汉字 5、 不允许英文 6、 不允许数字 7、 不允许汉字 8、 不允许数字开头 9、 IP
29、地址 10、 URL 提供日历选择对话框 提供日历时间选择对话框 提供员工列表选择对话框 提供员工列表及部门职务选择对话框 提供调色盘选择颜色对话框 提供字体选择对话框 提供曾经输入过的字段内容列表选择对话框 提供图标选择列表对话框。 高级选项,则会在输入框旁边加上选择图示,让用户直接从选择对话框中选择内容。 高级选项提供的选择有: 日期选择: 日期时间选择: 员工选择: 员工与组选择: 颜色选择: 字体选择: 字段历史选择: 图标选择: 当字段存在引用关系时,根据表引用或是枚举量引用。字段的输入规则会有如下 的内容: 列出枚举量所有数值与内容, 用户可全部选择或部份选择。 列出引用表的所有可
30、选择记录,用户可全选或部份选择。 列出引用表所对应的查询。用户可使用查询来选择引用。 枚举量: 表引用: 引用查询: 行、列、宽、高 定义输入字段在表单中的位置,表单的总列数在动作属性中定义。 行: 字段所在的起始行位置。 列: 字段所在的起始列位置。 1。 宽: 字段所占用的列的宽度。当宽为 0 时,该字段隐藏。 高: 字段所占用的行数。最小为 当行值为负值时,表示建立多行明细表。其位置在行值的绝对值的位置。 定义表单界面还提供了如下的菜单功能: 另存: 将流程表单另存为表动作表单。在数据管理模块,我们提供了表动作表单,表单 动作表单和流程无关,是专为数据源提供的表单,其用处为非工作流的应用
31、,如专为 系统管理员的应用,以及诸如内容浏览、打印等用途。 此功能将弹出对话框,在对话框中可以选择现有的表动作,点击确定将保存当前 的表单到选择的表动作表单,而原有的表动作表单内容将被复盖。也可以选择新建表 动作表单,来新建一个表动作表单。表动作表单将可以在数据管理模块中进行编辑设 计。 载入: 从流程动作或表动作表单中载入,载入表单将打开一个选择对话框,对话框列出 同属于同一数据源的所有的表单,可能是表动作表单,也可能是流程动作表单,流程 动作可能是本流程的其它动作, 也可能是同属同一数据源的其它流程的流程动作表单。 从列表中选择表单,将复盖当前的表单设置。 属性: 定义表单的其它属性。此功
32、能将弹出一个属性对话框,在属性对话框里,将定义 与界面相关的其它若干属性,其内容有: 表单风格: 有表格风格和文档风格两种选择,和流程动作属性定义的内容相同。 表单列数: 表单的列数:和流程动作属性定义的内容相同。 表单头: 表单标题,支持 HTML 语法。 表单尾: 表单结束,支持 HTML 语法。 输入栏字体: 定义字段输入栏的字体。 名称栏字体: 定义字段名称栏的字体。 输入栏背景: 定义字段输入栏的背景颜色 名称栏背景: 定义字段名称栏的背景颜色。 输入栏前景: 定义字段输入栏的文字颜色 名称栏前景: 定义字段名称栏的文字颜色。 脚本: 定义表单动作的自定义脚本。 在表单生成、运行、提
33、交等的各个过程中,可以通过插入脚本来实现各种自定义 等高级的功能。 系统支持服务器端自定义脚本和客户端自定义脚本两种形式,服务器端脚本支持 VB Script 语言。客户端脚本支持 Java Script 语言。在自定义脚本中,支持引用系统内 建的系统变量和系统提供的大量的系统函数和子程序。 VB Seri pt和Java Script语言请参考VBScript语言参考手册Java Script语言参 考手册 系统变量和系统函数和子程序请参考附录系统内置变量和函数参考 脚本菜单将弹出脚本窗口来定义自定义脚本。 在自定义脚本窗口,可以选择流程的每一个动作。在选择动作时,请确定已做的 动作脚本修改
34、已经提交,否则修改将丢失。 启动时刻定义自定义脚本将在何时运行。共有如下几种选择: 后台载入时 指服务器端生成表单时运行的自定义脚本 后台提交时 提表单提交后,服务器端运行的自定义脚本 前台载入时 指客户端下载完表单后的初始化代码 前台提交时 指客户端填写完表单后提交表单时运行的自定义脚本 前台交互时( onclick ) 指客户端在填写表单时,点击表单对象时运行的自定义脚本。 前台交互时( ondblclick ) 指客户端在填写表单时,双击表单对象时运行的自定义脚本。 前台交互时( onchange) 指客户端在填写表单时,当表单对象的输入域数值发生变化后,运行的 自定义脚本。 前台交互时
35、( onkeypress) 指客户端在填写表单时,键盘有键按下时,当前具有输入焦点的对象运 行的自定义脚本。 前台交互时的自定义脚本还需要指明表单对象,表单对象在启动时刻选择框的右 边列出供选择。表单对象只有在前台交互时才可选择。 *。通过 通过选择动作、启动时刻和表单对象可以唯一确定一段脚本。 当定义的脚本提交后, 将在对应的表单对象、启动时刻和动作上打上星号 星号的指引,我们可以迅速找到已经定义完成的脚本。 使用技巧:可以通过后台载入时的自定义脚本定义变量,而在表单定义时通过默 认值定义时的表达式来引用自定义脚本定义的变量。 自动: 自动排列表单对象的位置。 此功能将自动排列表单对象的位置
36、。自动排列会根据表单对象的长度的宽度进行 自动排列,省却了人工排列的繁烦。 统一: 将本动作表单定义统一到其它动作表单中。 点击统一将使当前定义的动作表单统一到本流程的所有的其它动作中。这在第一 次定义表单时非常有用。我们只要定义流程动作的第一个表单,然后选取统一功能。 则所有的动作表单都和第一个动作的表单一样,一般其它动作的表单只要略作修改就 可以了。 统一的动作将在提交后生效。 设计: 使用表单设计器定义表单。 表单设计器提供了功能强大的表单设计功能。 表单设计器提供了一个 HTML 编辑 器来设计表单的外观,当使用了表单设计器,表单对象的位置属性将完全失效。在表 单设计器中通过表单对象选
37、择框,可以将表单对象放到表单的任意位置。通过表单设 计器提供的 HTML 编辑器的各项功能,我们可以定义出各种复杂形式的表单。 预览:预览当前定义的表单。 在预览前会提示是否提交当前所做的修改。 将每个动作的表单定义完成后,则整个流程的设计完成。我们可以通过启动流程、工作流 程、流程查询、流程监控等模块来测试运行设计定义好的流程,也可以通过修改流程模块来对 设计好的流程进行修改。 修改流程的使用与定制流程的使用完全相同。 1、 常见问题: 为什么流程图没有定义结束动作? 就象起点动作是动作的一个属性一样,我们没有专门定义单独的起点动作。同样,我 们也没有定义单独的结束动作。任何动作都有可能成为
38、结束动作,当下列条件之一满足的 动作就有可能成为结束动作。 1、没有定义转出条件的动作; 2、在动作执行完后,转出条 件不满足的动作。 这里的结束动作是指动作完成后,并不产生新的动作的动作。和其它系统的结束动作 定义有所区别。 2、 3、 4、 5、 系统是否支持路由动作实现聚合条件或分支条件? 系统目前不支持路由动作,而通过流转条件的设计,系统可以实现聚合条件和分支条 件。参见系统内建的流程。 在流程图中,流程动作经过流转条件的循环,可以让一个动作多次执行,当第二次执行时 或多次执行的时候,其执行人、起点动作属性、添加动作属性等是否和第一次时一样? 动作在第一次执行时,将根据动作执行人定义的
39、内容安排执行人。当经过流转,返回 到该动作时, 其动作执行人将为第一次执行的执行人。 如果该动作是起点动作和添加动作, 则这两个属性在再次执行时将被忽略。其它属性保持不变。对于起点动作的动作时限,只 有在再次执行时才有意义。在起点时无意义。 怎样实现流程的保存逻辑?即流程动作表单填写后,暂时保存起来,不转给下个流程。等 过段时间再由人工启动流转。 在流程定义工具上,该逻辑我们并不提供,但是通过流程的设计,可以实现这样的逻 辑,比如,在数据源中我们可以设计一个字段 FlowStatus ,表示流程是否进入流转,在动作 表单中选择此字段为 0,则表示保存逻辑,选择此字段为1 表示进入流转。在流转条
40、件中 将 FlowStatus 作为条件来判断是否流转。这样就可以实现人工启动流转的逻辑。 怎样实现字段的隐藏? 通过修改动单对象的显示属性不能实现字段的隐藏,只能实现字段的使用和不可使用。 当需要实现隐藏字段时,仅需将宽度设为 0 即可。 附录:系统内置变量和函数参考 一、服务器端内置变量参考: 1、全局变量 EmemberName 当前用户的登录名,字符型 CmemberName 当前用户的姓名,字符型 MemberLevel 当前用户的级别,数字型 MemberDuty 当前用户的职务,数字型 MemberDept 当前用户的部门编号,数字型 MemberStatus 当前用户的状态,数
41、字型, 0:在职, 1:兼职 bMemberAdmin 1 ,否则为 0。 当前用户是否是系统管理员,数字型。当是系统管理员时为 Conn 当前用户数据库的 ADO 连接对象 BaseConn 当前配置数据库的 ADO 连接对象 2、流程动作表单在后台载入时可以引用的系统变量 ModuleNo : bPreview : StepID : ActionID : FlowID : DataID : FlowEName : FlowCName : TableDefID : TableName: ActionText : nFormCols : nFormStyle : ActionInfo : bA
42、ppend: FormHead: FormTail : ValFont: ConFont: ValBkColor : ConBkColor : ValFrColor : ConFrColor : LineColor : FormTemplete: 当前模块的编号 当前是否是预览模式 当前动作实例的 当前流程动作的 流程模型的 ID 数据库表记录的 流程的编码代号 流程的名称 数据库表定义的 数据库的表名 ID ID ID ID 当前流程动作的名称 动作表单的列数 动作表单的风格 动作的说明 是否是添加动作 表单头 表单尾 表单对象输入栏的字体 表单对象名称栏的字体 表单对象输入栏的背景颜色 表
43、单对象名称栏的背景颜色 表单对象输入栏的字体颜色 表单对象名称栏的字体颜色 表单对象的表格线的颜色 表单设计器定义的表单样式 3、流程动作表单在后台提交时可以引用的系统变量 ModuleNo :当前模块的编号 FlowID :流程模型的 ID ActionID :当前流程动作的ID StepID :当前动作实例的ID DataID : TableDefID : TableName: FlowCName : ActionText : Count: 此外,通过 数据库表记录的 ID 数据库表定义的 ID 数据库的表名 流程的名称 当前流程动作的名称 表单明细列表的行数 二、服务器端内置函数及子程序
44、参考: function rsSQL(sql, info) 返回用户数据库 参数: sql info Request.Form 可以引用表单提交的所有的表单对象。 SQL 查询执行的结果的记录集。 sql 查询执行语句 当定义此参数时,如结果记录集为空时,界面显示本参数定义的文本,同时 程序结束,如此参数为空串时,系统返回空记录集。由用户处理。 返回值: recordset 对象 SQL 查询执行的结果的记录集。 sql 查询执行语句 当定义此参数时,如结果记录集为空时,界面显示本参数定义的文本,同时 function dbSQL(sql, info) 返回配置数据库 参数: sql info
45、 程序结束,如此参数为空串时,系统返回空记录集。由用户处理。 返回值: recordset 对象 返回用户数据库表中指定的输出字段的值。 表名 需要返回的字段的名称 输入字段的名称 输入字段的数值 function GetTableValue(TableName, outName, inName, inVal) 根据指定输入字段的值, 参数: TableName: outName: inName: inVal: 否则返回表中记录的字段值。 否则返回表中记录的字段值。 否则返回表中记录的字段值。 返回值: 返回表中 outName 字段的值。 当记录不存在, 返回空串。 表名 需要返回的字段的名
46、称 输入条件 返回值: 返回表中 outName 字段的值。 当记录不存在, 返回空串。 function GetDBValue(TableName, outName, condition) 根据指定输入条件,返回用户数据库表中指定的输出字段的值。 参数: TableName: outName: condition : 表名 需要返回的字段的名称 输入条件 返回值: 返回表中 outName 字段的值。 当记录不存在, 返回空串。 function GetDataV alue(TableName, outName, inName, inVal) 根据指定输入条件,返回配置数据库表中指定的输出字
47、段的值。 参数: TableName: outName: condition : function GetBaseValue(conn, TableName, outName, condition) 根据指定输入条件,返回数据库表中指定的输出字段的值。 参数: conn: TableName: outName: condition : 数据库连接的 ADO 对象 表名 需要返回的字段的名称 输入条件 返回值: 返回表中 outName 字段的值。 当记录不存在, 返回空串。 否则返回表中记录的字段值。 sub ExecuteSQL(conn, sql, nPrompt) 执行 SQL 语句 参
48、数: conn: sql: nPrompt: 消息框指明 ADO 对象 SQL 语句 数据库连接的 数据库操作的 数字, 当 SQL 操作失败时, 返回给用户的提示。 当数值为 1 时, 将显示 SQL 错误。同时,页面将返回到提交前的上一页面。 function GetUserFaceParam(paramName, defaultvalue) 得到系统定义的用户界面的元素的参数 参数: paramName:用户界面元素的名称。系统目前定义了如下的界面元素供选择: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ToolsBgColor
49、ToolsFgColor FunsTitleBgColor FunsTitleFgColor FunsBodyBgColor FunsBodyFgColor MainTitleBgColor MainTitleFgColor MainTableBgColor MainTableFgColor M ainBodyColor MainTableBodyBgColor MainTableBodyFgColor MainSeleBgColor MainSeleFgColor MainTableLnColor MainDocBgColor MainDocFgColor MainMenuBgColor M
50、ainMenuFgColor 工具栏背景色 工具栏前景色 功能栏标题背景色 功能栏标题前景色 功能栏内文背景色 功能栏内文前景色 工作区标题背景色 工作区标题前景色 工作区表格标题背景色 工作区表格标题前景色 工作区背景色 工作区表格内文背景色 工作区表格内文前景色 选择条目背景色 选择条目前景色 工作区表格线颜色 工作区文档背景色 工作区文档前景色 工作区菜单栏背景色 工作区菜单栏前景色 defaultvalue:如指定名称的用户界面名称不存值,将返回此默认值。 返回值:与用户界面元素对应的参数。 function GetSysParam(paramName) 得到系统定义的参数 参数: p
51、aramName:系统定义的参数名称,系统目前共有如下的系统参数供选择: SystemName 系统名称 DatabaseName 数据库名称 LangVersion 语言转换 DatabaseType 数据库类型 Leader 第一负责人 LeaderEName 第一负责人登录名 nArea 地区码 nProvide 供应商代码 nType 产品类别代码 nVersion 产品版本代码 nValidDate 产品有效期 nLimitMember 最大用户数量 nOnline 最大并发用户数量 LicenceDate 证书颁发时间 LicenceCreater 证书颁发人 ProductSer
52、ial 产品序列号 HTTPPort HTTP 端口号 KMDirectory 知识文档目录 ServerAddress 服务器地址 AutoLog 自动登录 AutoUser 自动登录用户名 AutoPass 自动登录密码 IPConns 每 IP 允许连接数 bService 系统服务 ClientBind 客户端主机绑定 ClientIPBind 客户端 IP 绑定 SysIPRange 系统地址范围 SysUpdateFlag 系统升级标志 LicenceUnit 证书颁发单位 BackupDir 系统备份目录 BackupTime 系统自动备份时间 BackupLife 系统备份有效
53、期 LastBackupTime 上次备份时间 InstallFlag 安装标志 返回值:指定名称的系统参数 function CE(ch) 语言转换,将中文语言转换为界面规定的语言 参数:ch: 输 入的中文字符串, ch 字符串 返回值:转换后的字符串。如无法转换,则返回 function IsMemberLeader(CName, Leader) 判断上下级关系 参数: CName:员工姓名 Leader: 上级姓名 返回值:当上下级关系成立时,返回true,否则返回false。当CName等于Leader时,返回true。 function IsUserOnline(sUser) 判断
54、用户是否在线。 用户名称 参数:sUser: 返回值:当用户在线,返回 true,否则返回false。 function GetUserRequestPages(sUser) 得到用户自登录以来访问的页面数 参数:sUser:用户名称 返回值:页面数。 function IsUserSameAddress(sUser) 判断当前用户登录地址和上次登录地址是否一致。 参数:sUser:用户名称 返回值:当地址一致,返回true,否则返回falseO function GetIPAddress(ip) IP 地址转换函数 参数: ip : IP 地址。 返回值:当 ip 为数值型,则返回字符串,当
55、 ip 为字符串,则返回数值。 function GetDeptString(Dept) 根据用户部门编号,得到用户部门名称 参数:Dept:部门编号 返回值: function GetDeptDB() 得到系统所有部门的编号和名称 参数: 无 返回值:返回二维数组,第一个元素为部门编号,第二个元素为部门名称 function IsString(str, bStr) 判断是否是字符串 字符串 true 或 false 为true时,返回str,否则返回空串。 参数: str: bStr: 返回值:当 bStr function FindArray(a, val) 从数组中寻找键值,并返回数组的
56、位置 参数:a:数组 val: 键值 返回值:数组的位置,当未找到键值时,返回 -1 function GetDateStr(sdate, fmt) 返回不同格式的日期字符串 参数: 1 2 3 4 sdate: fmt: 月-日时: 年-月-日 年.月.日 月.日 日期值 日期格式,数字型,分别为 1- 6,其格式为: 分 5 时:分 6 月-日时:分:秒 返回值:指定格式的时间字符串 function RequestForm(str) function LStrFill(n, length, FillChar) 格式化字符串 参数: n: length FillChar 被格式化的字符串,
57、当 字符串的长度 填充字符 返回值:当被格式化字符串的长度小于 n 为非字符串将会转换成字符串 length 时,返回值将在前面填上填充字符。 function GetWeekColor(wk) 得到星期的界面颜色 参数: wk : 数字型, 1:星期天; 返回值:星期的颜色 7:星期六; 2-6:星期 1-5 function FormatText(str, tag, property, condition) 根据给定条件,返回 参数:str: tag: p rope rty : condition : 返回值:当 condition XML 格式的字符串 输入的字符串 XML 标记 标记的
58、属性值 条件, true 或 false 为true时,返回标记为tag,内容为str的XML字符串,否则,返回 str。 function AddText(s1, s2) 两段文本相加 参数: s1:文本 1 s2:文本 2 返回值:相加的文本用字符 来连接。 function ToInt(str) 将字符串转换为整型数字 参数:str:字符串 返回值:转换后的数值 function ToValue(str) 将字符串转换为数值 参数:str:字符串。 返回值:转换后的数值 function RequestInt(str) 得到 HTTP 查询字符串的值,并转换为整型数字 参数:str:HTTP 查询字符串中变量的值, HTTP 查询字符串由问号 (?) 后的值指定 返回值:转换后的值 function RequestFormInt(str) 得到使用 POST 方法的表单检索 HTTP 请求正文中的表单元素的值,并转换为整型数字。 参数: str:使用 POST 方法的表单检索 HTTP 请求正文中的表单元素的名称 返回值:转换后的值 得到使用 POST 方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 11《变废为宝有妙招》第二课时(教学设计)-部编版道德与法治四年级上册
- 七年级生物上册 第三单元 第二章 第三节 开花和结果教学设计 (新版)新人教版
- 18威尼斯的小艇教学设计-2023-2024学年五年级下册语文统编版
- 2024-2025学年高中政治下学期第2周教学设计
- 血管活性药物输注护理
- 2024秋四年级英语上册 Unit 4 My home课时6 Read and write-Story time教学设计 人教PEP
- 《 选唱 春天来了》(教案)-2023-2024学年人教版音乐二年级下册
- Unit 6 Section B project教学设计 2024-2025学年人教版(2024)七年级英语上册
- 一年级下美术教学设计-动物的花衣裳-岭南版
- 七年级英语下册 Unit 1 Can you play the guitar教学设计 (新版)人教新目标版
- 粮食储备公司工作计划
- 2024届楚雄彝族自治州大姚县数学五年级第二学期期末达标检测试题含解析
- 抗震支架供应及安装合同
- GB 31825-2024制浆造纸单位产品能源消耗限额
- Q-SY 05601-2019 油气管道投产前检查规范
- 《金属非金属地下矿山通信联络系统建设规范》
- 浅析船体分段焊接检验
- 医保基金监管培训课件
- 2024高考复习必背英语词汇3500单词
- 3课 《赤壁赋》公开课一等奖创新教学设计【中职专用】高一语文高教版2023-2024-基础模块下册
- 第5章 层次分析法课件
评论
0/150
提交评论