表单设计器功能设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

表单自定义设计器

1设计思路

1.1表单自定义功能的误区

1、关于成本:表单自定义一般容易实现的仅布局、字段的增减、简单的脚本控制等,但有很多诸如复杂脚本控制、自动计算、特殊逻辑验证、主从关系,复杂基础数据选择(过滤、合并)、与其它功能模块的交互等等需求,自定义工具都不能很轻易地解决,最终可能带来的代价是重做,甚至推翻整个系统架构重新实现,付出成本是预计成本的2-4倍以上均有可能。建议采用对此类复杂需求通过关联创建人定义的SQL语句来实现。

2、表单自定义功能实现的方式一般是数据库表中预制了很多字段或者是一个表中的记录存储为ID、字段名、值、字段类型,而且值的类型往往是字符型,这些做法给数据的查询统计及SQL优化带来的是非常大的性能损失和阻力,业务系统数据量不大的时候看不出,一旦数据业务表大到一定程度的时候,性能瓶颈就会出现。我们知道需要工作流的业务系统都是大量用户和大规模业务数据的。对于表单自定义做法,性能瓶颈是一定要考虑的;

3、表单自定义往往实现的是一个数据实体的增、删、改,但对于一个系统来讲一个表单仅仅是一个功能点而已,这个功能点对于整个系统来讲远不是那么单纯的,有可能一个数据实体的资料分别在多个表单里进行更新和维护,自定义逻辑往往是处理不了它们之间的冲突,还有查询和统计分析,这些是需要关联很多基础数据、关联其它业务数据。自定义表单功能本身也只是从功能特性的角度去出发,对于系统复杂的实体关系、业务模式、设计模式的支持几乎为零,一个高质量系统需要的因素基本实现不了;

4、企业使用表单自定义工具的时候往往已经有了很多的系统,比如HR、CRM甚至ERP系统,很多关联数据会是来自于这些系统的数据。表单自定义工

具往往无法提供高可靠性的集成方案,即使能集成也是勉强的,后续会付出很多手工同步、统计口径不一致等代价,为企业整体的信息化效果大打折扣;

5、另外从实际的使用情况而言,实现一个表单自定义功能的目标往往是为了方便用户实现自己的业务逻辑,但实际上很少客户会自己去自定义这些表单。而开发人员都会热忠于实现一个表单自定义工具,但不会愿意长期去做表单的定制工作。对于团队的管理者来说用程序员的工资去做表单配置工作也是不划算的;

6、假如我们一定要去实现一个好的表单自定义工具,一定是有很多事件接口的、一定是要能支持调试的、布局一定要能有足够的细致、自定义过程中要有提供给业务人员的自动向导(比开发人员需要的向导更加傻瓜化)、一定能做到足够的优化或支持优化的实现、能支持缓存、调用程序集、从WebService获取信息、能对页面交互过程进行优化。。。。。。这些都实现后,会发现做的表单定义工具其实就是大软件公司研发的IDE开发环境,如:visual studio 开发环境。

鉴于此,我认为公司在此问题上应该保证有足够的人员投入以及开发周期,否则肯定会欲速则不达。

1.2系统设计思路

设计的系统初步适用于网上OA系统的自定义表单模块的快速开发,需要结合工作流系统功能,并实现数据导入、导出以及打印功能;同时可以用于公司在软件投标过程中实现快速原型。成熟后可以用于信息管理系统方面的软件开发项目等。

通过表单的定义自动创建/修改自定义数据表,复杂数据字段的执行通过设计器的有关表单控件提供用户定义的相关SQL语句来实现。包括几部分:表单定义管理部分、表单呈现/提交部分、表单数据查看/管理部分。

表单定义管理:表单基本信息管理(表单名称、描述)、表单存储表字段管理、表单布局设计、表单数据验证定义、表单字段关联/子表单管理、表单字段编辑框行为管理。

表单存储表字段定义:定义表单中用到的数据项,包括字段名、字段类型、长度、默认值、编辑框类型、是否允许为空、是否自增长字段、分组名称、是否在列表中显示等信息。编辑框类型一般有:文本框、文本域、复选框、单选框、列表框、时间日期选择、文件上传框等;这里定义的是表单主表字段,注意每张表单仅针对一张表,否则操作多张表的SQL不容易处理,涉及到主从表的情况可用子表单来处理。

对字段的相关要求还包括:

1.涉及到字段的权限级别控制

2.涉及到字段的自定义下拉列表控制

3.涉及到字段的默认值控制

4.涉及到字段的多层关联的数据引用控制,初步实现单层关联应用

5.需要考虑自定义字段的值参与系统原来的业务逻辑运算如何设置的问题

6.初步达到代码级的字段业务逻辑控制

7.虚拟字段的存在,就是表单中并不存在,而只需要从其它地方引用显示的

字段

表单布局设计:这一步很关键也是较难实现,简单的做法是做一个表单模板,那么表单中的数据项说明、编辑框、数据验证就都可以用内部变量来代替,系统可提供自动生成表单的功能,用户也可以自己手工修改,当然需要提供一个表单设计器,这样使用起来就更方便了。

表单数据验证定义:定义需要验证字段的规则,验证规则,可用正则表达式的方式来定义,系统内部可自带一些常用的验证规则,复杂的情况可能会出现各字段之间的值进行比较的情况。

表单字段关联/子表单管理:定义表/表单之间的关联信息,即主键外键信息。

表单字段编辑框行为定义:主要负责处理字段值发生变化时引发的其他编辑框事件,比如连动下拉框、从选择值中返回值并赋予其他字段编辑框、其他编辑框的隐藏等。

表单运行时呈现及提交:

根据表单定义的布局及其他设置呈现表单,并一起生成验证、行为用到的JS代码。如果填写表单时,先填主表信息,然后填写从表信息,保存的临时表单值可采用SESSION进行传递,最后一起提交,提交时先写入主表信息,并返回主键值(如果存在主从表的话),然后写从表数据。

表单数据管理:

可根据字段配置信息显示表单的数据列表,并进行管理。

实现新建表单与流程的结合:

1.设计表单属性,提供了多种参数,用户可以直接选择。

2.表单中添加控件,在添加用于控制数据输入或用户选择的控件(如文本

框,单选框,下拉菜单等)后表单才有完整的功能。

3.验证数据的绑定,鼠标位于控件上时显示的图表和说明文字将表明数据

的帮定情况,也可从右侧的数据源中查看。

4.设置错误的验证,用户设置设计表单并使其具有自动检验一些错误的功

能(如必须输入),在输入出现错误自动弹出提示。

5.表单模板的上传,在流程管理中的表单模板定义中可以将之前定义好的

表单模板上传,并使之与流程绑定,也可以自由的选择要显示的字段,

及调整显示的顺序。

相关文档
最新文档