驰骋工作流引擎表单设计器操作手册.docx
- 文档编号:23672819
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:84
- 大小:4.44MB
驰骋工作流引擎表单设计器操作手册.docx
《驰骋工作流引擎表单设计器操作手册.docx》由会员分享,可在线阅读,更多相关《驰骋工作流引擎表单设计器操作手册.docx(84页珍藏版)》请在冰豆网上搜索。
驰骋工作流引擎表单设计器操作手册
驰骋表单设计器
操
作
说
明
书
济南驰骋信息技术有限公司
2011年8月修订
1总体说明
1.1前言(必读)
驰骋自由表单设计器有一种存储格式、两种设计模式,三种展现方式,具有一定的通用的接口可以被外部调用,自己有可以独立运行起来的应用程序。
一种存储格式:
采用映射的机制,以xml文件格式存储。
两种设计模式:
傻瓜表单设计器,自由表单设计器。
三种展现方式:
傻瓜表单、自由表单、手机表单。
表单设计器以映射思想为核心。
所说的映射业务规则对字段,操作方法,界面展现,操作行为的描述。
表单设计者认为事物的业务规则与操作模式都是可以被抽象出来的,并且把其封装并实现。
但是并不是所有的业务规则都有价值去抽象,是否有价值去抽象并封装是应用的范围与实现的代价。
由以上两个理论为指导,把界面所有的元素的描述,业务规则的描述以对象的形式为描述。
Ccflow自由表单设计器不一定满足所有的数据采集与数据展现格式,但是可以解决对数据库操作层面的绝大多数需求。
用户可根据自己的需要选择其中的一种表单的工作方式。
1.2一种存储格式(同一个表单)
Ccflow的表单存储格式与传统的表单存储格式不同,它是采用数据表的存储的,这是最大区别于文件格式的存储。
正是因为ccflow摆脱了对文件格式存储的表单的依赖,所以具有最大范围的扩展性通用性、灵活性。
物理表名
中文名
说明
Sys_FrmLab
标签
存储标签
Sys_FrmLine
线
存储线,线只分横线与竖线。
Sys_FrmLink
超连接
超连接
Sys_FrmImg
图片
图片
Sys_FrmBtn
按钮
按钮,按钮支持多样的事件方式
Sys_MapAttr
字段
存放三种类型的字段
textbox,checkbox,dropdownlistbox.
Sys_MapData
表单主表
Sys_M2M
一对多
Sys_M2MM
一对多多
Sys_FrmAttachment
附件
….
…
…更多请参考程序代码.
可以利用ccform的导出功能把这些规则化的数据导出成一个xml。
1.3两种表单设计器(同一个表单)
驰骋公司根据用户群体不同,用户对界面的要求不同特开发了两种表单设计器,三种展示模式。
自由表单设计器与傻瓜表单设计器,两者的存储格式都是一样的,就是展示与设计方式不同。
1.3.1傻瓜表单设计器
优点:
设计方便,不需要排版,有分组显示功能界面简洁清晰,容易上手。
缺点:
不形象直观,不符合用户的需求格式。
1.3.2自由表单设计器
优点:
设计方便,形象直观,随心所欲。
缺点:
没有傻瓜表单简洁,需要排版,同样的功能没有傻瓜格式方便。
1.4三种展现方式(同一个表单)
对于一个表单来说有三种展现方式,至于用户使用那种表单是有流程的节点属性来设置的。
1.4.1傻瓜表单
优点:
界面清晰、简洁、紧凑。
缺点:
格式固定。
1.4.2自由表单
优点:
界面元素可以根据用户的需要任意排列。
缺点:
无
1.4.3手机表单
手机填写主表:
手机明细表:
点上图中的费用明细就可以看到下面的明细表查看界面。
手机表单是
手机表单特点
1.5自由表单设计器预览
1.6傻瓜表单设计器预览
1.7表单样本
企业基本情况
企业基本情况(打印)与打印模板.
财务负责人简历
具有附件图片
从表导入导出
从表的导入导出
多表头从表
企业代表工程业绩一览表(多级表头明细)
从表的卡片表现形式
从表的卡片方式展现
1.8表达式全局变量
在系统中有很多的地方需要用到表达式的地方,这些表达式就需要参数与变量,这些参数是以@+变量名。
我们把参数与变量分为全局变量,字段变量。
操作人员登陆系统后就有如下全局变量。
@WebUser.No当前操作员编号
@WebUser.Name当前操作员名称
@WebUser.FK_Dept当前操作员部门
@AppPath当前的文件路径。
比如:
http:
//demo.ccflow.org/ccflow
变量用@加变量名体现。
比如:
@WebUser.No。
以FF中,很多的表达式需要变量的支持。
比如一个sql表达公式。
SELECTNo,Name,FK_DeptFROMPORT_EmpWHEREFK_DEPT=’@WebUser.FK_Dept’
注意区分大小写。
表单字段变量:
@+字段名比如:
SelectgenerBillNo(@OID)fromdualOID就是表单字段。
2调用API
2.1与工作流程引擎API
如何把Ccform嵌入到工作流程引擎中去?
(省略)
2.2与应用操作的API
如何使用Ccform在我的应用程序中?
调用连接http:
//localhost/XXXX/Ccform/Frm.aspx?
FK_MapData=YYYYYYY
对于表单的权限控制可见不可见来源来应用程序本身,对于表单内的按钮控制由Ccform的按钮属性来确定的。
3自由表单的工具箱
工具栏中的对象分为装饰类的对象、数据类的对象、与功能类的对象。
鼠标:
类型vs设计器中的鼠标功能,当您点了其它的功能按钮后,您想取消选择,就点此功能。
选择:
在画布画矩形在矩形内部的对象都被选择,比如对选择的线条的粗细进行+-。
对颜色进行更换,对label集合的字体颜色进行变化。
标签:
文字类装饰元素,标签的文字大小、类型、颜色,都可以变化。
画线:
线条的粗细、长度、颜色属性可以改变。
超连接:
功能类的控件,它有两部分组成标签与连接,标签部分的功能与标签功能一致。
装饰图片:
装饰类的控件,多用于把公司的icon图片放在上面。
按钮:
为了实现一些功能
文本框:
长度、高度、默认值都可以被编辑。
日期框:
长度固定
选择框:
Boolean类型的字段。
下拉框(枚举):
枚举类型下拉框。
下拉框(表、视图):
下拉框中是以表格为内容的。
表单附件:
可以是任何格式的控件。
图片附件:
比如简历的个人图片。
从表:
与主表之单的表格
一对多的关系:
比如与主表的关系,节点岗位,
隐藏字段:
不需要在表单上显示出来的字段,多用于值的计算,或者节点方向条件的转换。
3.1装饰类的对象:
线、标签、装饰图片
3.1.1线
线是装饰类对象的基本元素。
对于线的操作
3.1.2标签
标签是用来文字说明装饰,标签可以改变颜色,字体大小,风格等等。
标签元素可以复制,选中后,ctrl+CCtrl+V就可以实现。
支持鼠标移动,aswd键,方向键移动。
3.1.3装饰图片
图片是表单元素的一部分。
3.2数据类对象
文本框、日期框、选择框、下拉框、单选按钮、表单附件、图片附件、从表、一对多的关系表、隐藏字段。
3.2.1文本框,日期时间框,选择框,bool类型控件.
说明:
1,日期与日期时间框不能改变大小,其它的类型的文本框可以改变大小。
2,要改变文本框的位置可以按下它的边框,然后移动,或者选中它,使用方向键移动。
3,改变文本框的宽度可以使用shift+方向键。
改变文本框的高度与宽度。
属性编辑:
如上图
3.2.1.1使用自由表单设计器创建审核分组
在表单设计中经常遇到领导审核、或者审批,这种审批与审核通常有三个字段组成分别是审核意见、审核人、审核时间。
审核意见是一个大块文本采集框、审核人是默认当前操作人员、审核时间就是当前时间。
如果在自由表单设计器中一个个的字段添加也是可以的,ccform为了提高设计者的效率与傻瓜表单设计器一样推出增加审核分组功能。
如下图:
填写说明见上图:
如果审核分组的字段前缀是CW,那系统就会创建三个字段分别是CW_Checker审核人,CW_RDT审核日期,CW_Note审核意见。
同时也建立了一个字段分组,条理化规则的显示在傻瓜表单设计器中。
3.2.1.2创建隐藏字段
隐藏字段的用途?
隐藏字段不体现在表单里,隐藏字段一般用于计算临时计算,在节点表单中做为方向条件。
如何创建与编辑隐藏字段?
在创建正常字段时您是是否是隐藏字段勾上,如果要编辑隐藏字段在工具栏里有一个隐藏字段图标。
3.2.2下拉框枚举类型
新建枚举类型
3.2.3物理表或视图
关键字:
ccform外键表外键字段
对于一个表单来说外键是经常遇到的,ccform为我们提供系统的基础表(Port_Emp,Port_Dept,CN_PQ,CN_SF,CN_City,),当然也可以把自己定义外键表,或者说字典表。
在您初始化系统后,您可以打开SELECT*FROM Sys_SFTable你将会看到一些演示的数据。
’
外键实体分为物理表类型与系统类库.用类库可以很好的控制查询权限,比如人员查询权限,在表单中只列出该操作员的部门人员。
部门类可以控制只查询本人的部门与本人的下级部门。
如果用物理表就没有这个概念了。
外键表存储在Sys_SFTable系统表中,您可以通过界面维护它,也可以手工的维护它。
如果您手工的维护(注意:
SFTableType此字段已经不用了)。
对于Sys_SFTable列描述如下:
No:
外键,
Name:
表名称,
FK_Val在创建外键字段时默认的外键字段名称
TableDesc:
描述。
IsEdit是否可以编辑。
如何把ERP,OA,CRM应用程序中的物理表对应到ccform中去?
首先把应用系统的物理表通过视图映射到ccflow可访问的数据库中来,这个表或者视图必须有No,Name,两个列。
其次把这个数据维护到Sys_SFTable中去。
3.2.3.1自定义表列表
3.2.3.2创建与编辑
3.2.4单选按钮
单选按钮是枚举值的一种表现形式。
选择枚举
设计样式
浏览样式
3.2.5单个表单附件
文件是以上传一个文件保存到服务器上,如下图所:
附件的格式需要以,分开比如:
*.doc,*.docx,*.txt
拖放后:
预览表现:
3.2.6多表单附件
多表单附件是用户上传的附件格式不能确定,数量不能确定情况下使用。
设计步骤:
在工具栏点多附件按钮,如下图:
多表单附件属性:
附件名称:
就是为控件起一个名称,附件编号需要全局唯一。
保存到是文件要保存的位置。
是否可下载,是否可删除,是否可上传是用来控制附件的访问权限的。
特别说明:
类别可以为空,如果不为空时系统就会自动为它附件按约定的格式分类。
两种附件的展现模式:
3.2.7手写板
3.2.8图片附件
图片附件与文件附件不同的地方就是图片附件需要预览。
比如:
我们做一个简历表单,需要把人员的照片放在指定的位置。
设计方式:
1,在工具栏中找到图片附件。
2,用shift+方向键改变图片的大小。
预览效果如下图。
编辑与上传图片:
点编辑连接,系统弹出如下对话框。
可以把剪切的图片点确定按钮,返回。
3.2.9从表(明细表)
从表也叫明细表。
设计界面
从表属性界面
预览与操作界面
点选项按钮
3.2.10一对多的关系表
一对多的关系是对多项选择来确定的。
比如:
单位人员旅游名单。
这些名单可以让用户去选择它。
运行界面
属性编辑
显示在分组,对所有的自由表单设计器来说无意义。
一对多多关系表
一对多有三个维度
第一维度是对象列表.
他有两种表达方式。
1,sql必须有两个列No,Name.
2,@+本表单中的多对多编号.
第二维度是:
如同m2m中的第一维度.where表达公式中需要一个@Key就是来自于第一维度的实体PK.
第三维度是:
如同m2m中的第二纬度.
隐藏字段
用于存储临时计算值,在节点表单中,经常被用到方向条件。
在您创建文本框时您如果选择了隐藏字段,系统就会把此字段不体现在表单设计器中。
在创建正常字段时,您只要把是否是隐藏字段勾上就可以了。
3.3功能类
按钮,鼠标、选择,超连接。
3.3.1按钮
表单上面的按钮对象,可以处理事件内容。
特别说明:
ccflow所有的事件内容的处理方式都是一致的,目前所涉及的事件有,表单事件、按钮事件、流程事件。
总体说明
每个按钮有自己的按钮类型,使用自定义按钮类型。
属性
说明
按钮事件类型
事件类型决定按钮执行的内容。
事件内容
就是要执行的内容,内容里面可以有变量,变量来自与表单。
变量的表达方式仍然用@+变量名来决定,比如:
@jiner,@shenpiren,
系统变量有@WebUser.No当前操作员编号,@WebUser.Name当前操作员名称@WebUser.FK_Dept当前操作员部门。
执行成功提示信息
当内容执行成功时提示的信心。
执行失败提示信息
当内容执行失败时,抛出异常信息时提示的信息。
执行存储过程案例
说明:
@WebUser.No表示当前的操作人员系统变量。
执行SQL事例
以上事例说明了删除一条数据时提示的信息。
@+字段名是用来取当前节点字段。
执行URL
特别说明:
执行url是静默执行,需要对方的页面直接返回string串就可以了。
如果超时连接,或者,返回串的前三个字母是Err,ccflow就会执行失败,就抛出失败信息给操作者。
在执行url时系统就会把两个默认的参数增加上。
分别是UserNo,SID。
比如:
您设定的是http:
//serverName/a.aspx?
type=@MyType实际执行的是:
http:
//serverName/a.aspx?
type=@MyType&UserNo=abc&SID=a2345bc
执行JavaScript
执行js时,成功信息与失败提示信息就不需要填写了。
3.3.2鼠标
点它就是取消所有的工具选择。
3.3.3选择
全选特定的区域,比如要删除特定区域的对象,就可以使用它来选择。
3.3.4超连接
显示超级连接.
提示:
@符号表示换行。
4表单设计器功能
4.1属性:
用来控制表单的基本属性
如果画布不够宽度与高度可以通过设置此属性来满足。
4.2保存:
保存当前的设计,在设计过程中多执行保存并预览按钮。
目前的保存具有保存与预览的功能。
4.3预览:
浏览当前的设计。
4.4导出:
导出ccform模板。
导出ccform模板并共享。
4.5导入
把当前的设计导出xml模板。
从ccflow网站上导入:
在ccflow官方网站上有一些网友共享的表单模板,您可能通过他们方便的导入进来。
从本机导入:
导入存储在本机上的表单模板。
从节点表单导入:
从其它节点上导入表单进行二次编辑。
从流程表单导入:
从流程表单上导入表单进行二次编辑。
4.6全选
选择全部的元素,一般用于全部删除,全部平移对象,目前不太成熟。
4.7复制
复制选择的元素,到内存里。
4.8粘贴
只有如下对象支持粘贴:
线,标签,文本框。
4.9对齐方式按钮
左对齐
在选择多个同类的控件时,比如:
标签、线、文本框,执行此按钮会执行左对齐。
居中
在选择多个同类的控件时,比如:
标签、线、文本框,执行此按钮会执行居中。
右对齐
在选择多个同类的控件时,比如:
标签、线、文本框,执行此按钮会执行左对齐。
顶部对齐
在选择多个同类的控件时,比如:
标签、线、文本框,执行此按钮会执行左对齐。
底部对齐
在选择多个同类的控件时,比如:
标签、线、文本框,执行此按钮会执行底部对齐。
4.10删除
删除选择元素,如果选择的元素有多条,就要删除选择的元素集合。
4.11撤消
撤消上一步的操作。
4.12恢复
恢复上次的操作。
4.13加粗
对标签字段加粗,可对标签控件批量执行。
4.14斜体
对字体设置成斜体,可对标签控件批量执行。
4.15删除线
对字体设置成删除线,可对标签控件批量执行。
4.16增益
如果选择的是线条:
点一次就增加一个像素的宽度。
如果选择的是标签:
点一次就增加一个字体的大小。
4.17减益
如果选择的是线条:
点一次就减小一个像素的宽度。
如果选择的是标签:
点一次就减小一个字体的大小。
4.18调色版
用来改变线条,标签的颜色。
4.19表单事件
每个事件的填写内容都是一致的:
事件类型:
事件类型就是执行的方式,您可以根据自己的需要来选择执行方式。
目前支持的事件内容:
执行存储过程,执行sql,执行url,执行JS脚本。
在执行内容中,执行成功信息提示,执行失败信息提示都支持@字段名类型的参数。
执行内容约定:
请参考本章节:
Button事件内容约定。
对异常的处理:
当对执行的内容失败时,系统就会把执行失败的信息提示出来。
比如:
在执行存储过程时,如果执行期间出现异常,或者在存储过程抛出异常,系统就会把异常提示信息与抛出异常信息提示给用户。
页面装载前
可以填写一个为表单初试化的一个脚本,比如预先把一些值放入文本主从表里。
页面装载后
同上
保存前
做一些业务逻辑的检查,不符合条件不让其保存。
保存后
执行相关的业务操作,比如把数据copy到其它的数据表中。
5字段扩展设置
字段的扩展设置是高级应用,如下图:
5.0表单装载前数据填充
需求背景:
我们知道一个表单的数据包含四种模式,主表数据、从表数据(可多个)、一对多的数据(可多个)、还有一些附件与图片数据(可多个)。
在一个表单被加载前用户往往要为这个表单初始化一些数据。
比如发起一个请假流程,用户进入请假流程表单时,想把该用户主表数据比如电话、邮件、部门、部门负责人信息(主表数据),请假的历史数据(从表)都要初始化出来。
在比如:
已知一个订单号在发起流程前要把该用户的客户基本信息(主表)与订购清单(从表)预先填充表单并显示出来。
这样的示例会很多,当然可以利用表单事件来完成,但是书写那个存储过程太麻烦,为了解决这个问题,现在抽象出来这种应用模式,以方便各位使用。
设置方式:
表单设计器-》扩展设置=》职
特别说明:
从表也是从表,应该为只读,才符合正常的逻辑,如果非只读也不能保存它。
5.1数据获取
什么是数据自动获取?
当一个字段的值是从其它表中取出来,或者通过后台的计算出来,或者通过js脚本计算出来,我们称为字段的数据自动获取。
自由表单的获取方式分为,保存后获取与js计算获取两种方式。
自动获取分为如下几种方式:
方式1:
本表单中数据计算
1,表单中的字段计算分为主表字段之间的计算与从表之间的计算,它们的设置格式与约定规则都是相同的。
如果设置的是表单的主表字段,那么是表单上主表控件值之间的计算了。
如果设置的是从表的字段,那么就是表单列这间的计算。
2,表达公式支持中文也支持字段名称,比如:
你可以书写成@单价*@金额也可以书写成@danjia*@jiner
3,计算是以javascript方式完成的。
所以当数值变化后就可以看到计算结果。
方式2:
利用SQL自动填充.
比如:
SelectAddrFrom商品表WHERENo=@FK_ProFK_Pro是本表中的任意字段名。
应用案例:
在请假流程表单中获取两个表单日期(开始日期,结束日期)的相隔的天数。
处理步骤:
1,首先在建立一个函数GetSpanDays(dtForm,dtTo)。
dtFrom,日期从,dtTo日期到。
2,设置一个SQL,放在文本框里。
Forsqlserver:
SELECTGetSpanDays(@DTForm,@DTTo)
ForOrace:
SELECTGetSpanDays(@DTForm,@DTTo)FROMDUAL
3,把此字段设置为只读(只有只读的字段才可以被自动计算)。
工作原理:
CCForm在保存后,首先检查一个只读字段是否有扩展属性,如果有就把设置的信息SQL中的变量替换下来,执行这个SQL,把返回值赋给当前这个只读字段。
方式3:
本表单中外键列。
比如:
表单中有商品编号列,需要填充商品地址、供应商电话。
方式4:
对一个从表的列求值。
对于有从表的有效,在案例视频中有一个报销总金额=从表的小计中求合。
总结:
对于3,4两种模式都可以变相的用第二种模式实现它。
5.2级联下拉框
主表中的级联
在表单中级联下拉框经常用到,下面是一个典型的事例。
我们分析一下,地区与省份是关联的,省份与城市是关联的。
这样的业务规则我们可以抽象出来两两关联,就可以解决了无限级关联的问题。
配置步骤如下:
第一步:
配置片区与省份的关联。
在片区控件上点右键编辑它=》扩展属性。
点编辑进入下一步骤。
点扩展设置进入下一步骤。
点新建
通过sql方式联动子下拉框,也就是片区联动省份。
重复上一步骤,让片区省份联动城市。
无限级的下拉框的联动,就可以制作成功了。
从表中的级联
从表的级联与主表的级连设置方式一样的。
上面是效果图。
常见问题
1,在从表中设置级联:
没有正常设置下拉框的默认值,导致整个页面被保存。
例如:
省份设置默认为山东,城市设置默认为北京,这样就会造成全页面的从表存盘问题。
2,待续。
。
。
5.3表单字段的输入js脚本验证
标题:
表单字段输入验证.
关键字:
表单设计器,字段验证.workflow,ccform,ccflow.
说明:
对控件的用户输入采取输入控制,与输入后的校验。
比如校验是否是e-mail,是否是手机号,身份证号等等。
设置步骤
操作路径:
字段属性,扩展设置,脚本验证。
字段列表:
验证邮政编码设置:
函数库分为:
系统函数库,与我自己定义的函数库。
系统函数库是ccflow系统自带的函数库,它包括一些基本的,通用类型的验证,比如:
电话、邮件、邮政编码。
如果验证需要特殊的验证,那就需要自定义函数库了,如何定义个性化的函数请参考下一章节。
点保存按钮就可以了,系统将会自动返回字段列表。
这样的一个脚本验证就完成了,把它非常方便了为用户的输入完成了验证设置。
如何设置自定义验证函数?
按照如下步骤设置:
1,建立一个js脚本文件。
2,根据此脚本文件的事件,D:
\ccflow\VisualFlow\DataUser\JSLib对应的文件目录里。
比如:
onblur事件函数放在onblur目录里,onkeypress事件函数放在onkeypress目录里。
3,函数名必须为小写,事例如下:
functionisMobil(ctrl){
varpatrn=/^[+]{0,1}(\d){1,3}[]?
([-]?
((\d)|[]){1,12})+$/;
if(!
patrn.exec(ctrl.value))
{
alert('非法的手机号码.');
returnfalse;
}
returntrue
}
脚本验证的工作原理
系统函数的目录为:
D:
\cc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 驰骋 工作流 引擎 表单 设计 操作手册