3.2.2 填写规范,保证数据填写质量、提高数据输
前面的介绍中,我们已经学会了如何建立《客户资料》模板、如何输入数据、如何查数据、如何高级查询数据、如何建立部门、角色、人员以及如何进行权限控制等,这样到目前为止我们就基本实现了客户信息的计算机管理了。
下面我们讲解如何来“保证数据填写质量、提高数据输入速度”。如果我们每个人输入数据的时候,不按照一定的规则去填写,而是随心所欲,想填什么就填什么,那最得到的数据就变得非常零乱、不一致,最终导致数据的可利用程度大大降低,甚至不能利用。可以说这样的系统是失败的。
举例来说,例如《客户资料》中信用等级,我们要求填大写“A”、“B”、“C”三级,但有人可能就填写为“a”、“b”、“c”,甚至是“E”、“F”等等,我们没法控制。例如省份,有的填“广东”,有的填“广东省”或者填“粤”,非常一致。如果有一种机制,能让用户在给定的范围中选择相应的值,而不是手工输入,这样不但可以保证数据填确、一致,而且还可以减少敲键盘次数提高数据输入速度。在本系统中,该机制通过数据规范来加以实
本系统提供的数据规范包括有:下拉选择、列表选择、树型选择、系统默认值和自动编号,其中下拉选择和树型选择根据数据的来源又可以分为来源固定值和来源数据表。下面我们开始逐一介绍。
1、下拉列表
来源固定值
假如我们把客户的信用等级分为三个等级,别是A、B、C,并把它定义成为数据规范。首先以管理员身份(例如admin)登录,并进入系统管理控制台,如下图所示:

点击左边的“数据规范”,右边就会列出系统中所有的数据规范,如上图所示。因为到目前为止我们还没有定义过数据规范,所以现在我们看到的都是系统预定义的数据规范。点击左上方的“新增”按钮,如下
窗体:

如上图所示,我们输入规范名称“客信用等级”,作用方式选“下拉框选择”,数据来源选择“固定值”,然后点击“新增”,增加固定值A、B、C。另外,我们可以用“上移”与“下移”来整固定值的位置,也可以“删除”和“停用/恢复”,停用的固定值不会在下拉框中现。点击“确定”完成新增.
有了数据规范,还需要把它跟相关的数目绑定后,才会发挥作用。下面我们用user0(《客户资料》模板建立者)登录系统,然后打开《客户资料》模板,点击 报表设计---->数据表管理,选中“客户资料_主表”,点击“修改表”,出现数据表定义窗体,点信用等级数据规范,出现...,如下图所示:

点“...”选择数据规范“客户信用等级”,如下图:(如果数据规范太多,可以在“过滤值”后面填写相关内容进行查找)

最后点确定,“信用等级”就和我们定义的数据规范“客户信用等级”绑定在一起了,填表时候,信用等级这里填表的时候就只能下拉选择了,并且可选择的内容就是我们刚才定义的“A”,“B”和“C”,如下图:
2、来源表
下拉选择框的内容还可以来自某个数表,从而实现了下选择框内容的动态显示。下面建立一个新的模板《地区表》,用来保护区域与相应省份/市的信息,其格式如下图所示:
显然,“区域”、“省份/市”和“层次编码”都是重复据项目(明细表),但是系统要求任何模板必须要有单一数据项目(主表),那怎么呢?这时我们会随意加入一个单一数据项目,如下图所示,我们加”填表日期“这个单一数据项目:
接着设置重复数据项目,如下图所示:可以勾选”唯一组合“下面的”区域“和”省份/市“来设置同一个区域的省份/市只能填写一次,避免重复录入,

其它的如权限等采用默认值即可。
接着输入数据,如下图:

由于格式中的重复区域只有8行,而数据有10行,所以在输入的过程中需要点击 扩展数据行外,“层次编码”在后面讲解“树型选择规范”时才用到,在这里可以先不输。
有了《地区表》后,我们下面就定义一个来源于改表的数据规范“地理区域”,首先以设计身份(例如user0)登录,并进入到系统管理制台,点击左边的“数据规范”节点,然后点击“新增”按钮,出现如下窗体:

如上图所示,我们输入规范名称“地理区”,作用方式选“下拉框选择”,与上次不同的是数据来源选数据表,这时候,系统进一步选择数据来源于哪个表,显示的是那个项目(字段)的值,按哪个字段排序,是降序还是升序。另外,我们还可以对数据进行过滤,点击”筛选条件“-----“条件定义”按钮,出现如下窗体

在这里就可以设置过滤条件,上图设置的是只显示华东区域的数据。点确定,数据规范定义完成后我们返回《客户资料》表,将数据项目"所属区域"和”地理区域“关联起来就可以填数据了,如下图所示:

由于刚才设置的条件是“区域=华东”,所以只显示华东,这时候你可能已经注意到,在《地区表》中“区域”是有很多重复值的,但在下拉选择框里却没有重复值,原因是下拉框选择规范不允许有重复值,如果有重复值它会自动过滤掉。
3、列表选择
上面介绍了“下拉框选择”规范,如果数据是来源于数据表,当有很多时,在下拉框里去选择一个合适的值就变得非常困难了,这时候使用“列表选择”规范就是一个好的选择。
列表选择有如下特点:
a) 可以以多列的式显示,让你可以更容易找到数据。
b) 可以点击任意列的标题进行排序,如上图所示,点击“省份”,其右边出现一个正三角,表示数据根据这一列按升序(汉字按拼音排序)进行排序,如果再点击一下就出现一个倒三角,则表示按降序进行排序了。如果按着“Ctrl”键然后点击,还取消排序,也就是三角符号不见了。
c) 可以对第一列进行增量实时搜索,如上图所示,如果你输入一个“广”字,它就会马上定位到有“广”字的第一条记录上,上图就是“广东”。
d) 有动筛选功能。如果你设定了列表内容根据“所属区域”进行过滤的话,当你在报表的“所属区域”选择了“华南”,那么该列表的内容就会只显示“广东”和“广西”了。这样就缩小了搜索范围,从而提高了选择速度,还可以防止选错,例如你就不会选择“上海”。
e) 可以指定默认返回哪一列的值。如上图,如果指定返回“省份”,那么当双击或者点击“确定”时,就会返回“广东”。
f) 当显示的数据项目一个时,还可以指定额外返回哪些字段的值(在绑定该数据规范的时候进行指定),同时填入相应的地方,可以大大减少单据类模板的表间取数公式的数量,并提高了执行度。
g) 支持模糊快速过滤,大大提高选择数据的速度,如果输入的过滤值有空格,
例如“ B”,那就表示既含有A又含有B。
h) 支持多选。
下面我们就开始设置列表选择规范,如下图所示:
如上图所示,输入规范名称“省份(列表”,作用方式选“列表窗体选择”,这时你会发现数据来源只能是“数据表”,数据表选“地区表_明细”,显示的项目选择“省份”和“区域”,返回“省份”,如果需要排序可以指定排序项目,否则可以不指定,
这里设置”区域“=”指定值“,就是返回指定区域内的省份,指定值在数据项目绑定数据规范时选择。如下图:
绑定完后,进入填表状态,点击“省份”右边单元格,如果该格为空,则会自动显示列表选择窗体,上图指定值选择”所属区域“,这样就只会出现指定区域内的省份供选择,如下图,所属区域选”华东“,由于指定了区域,省份只会出现华东的省份:

按照前面所说的,你可以对列表内容进行排序、搜索等操作来辅助你快速找到需要的值。这时,我们先勾选“江苏”然后点击“确定”,窗口关闭,“江苏”就会显示在单元格中。一旦单元格有值了以后,再点击该单元格就不会自动显示选择窗体了,所以要修改单元格的值,就必须右击单元格,然后右击“选择…”,如下图所示:
通过列表选择同时返回多个值
我们还是以《客户资料》表为例,设置一个数据规范,同时返回省份和地区,如下图:

将省份用作返回值
可以按区域进行分类,设置好后确定,然后去数据表中进行绑定。先在省份的数据规范那里选择”省份和地区“这个数据规范,然后右键点击”省份和地区“,选择”额外返回值指定“,如下图:

然后”额外的数据项目“选择”所属区域“就可以把区域返回到”所属区域“了
下面我们来填表看看实际效果:我们不用手动填写区域,直接选择省份黑龙江,就会把”华北“带到所属区域了
4、树型选择
在日常工作中,有很多的数据是存在层次关系的,并且是一种树型的层次关系,例如部门、科目等,《地区表》中的与省份也存在这种关系,对于这样的数据我们可以使用树型选择数据规范。它的数据来源和下拉选择规范一样,分为固定值和数据表。
特性:1、数据可以来源固定值和数据表
2、支持按父子关系、层次编码和字段分级3种方式构造树型
3、支持动态树型选择,以便动态缩小选择范围
4、支持多选
5、自动按显示内容进行排序
6、支持左分类
来源固定值
如下图所示:

如上图所示,输入规范名称,作用方式选“树型窗体选择”,数据来源选“固定值”,没有勾上 表示可以选择任意节点,否则就只能选择最底层节点(a111、a211),没有勾上 表示只能单选。接着使用“新增同级”和“新增下级”按钮建立如上图所示的树型数据。最后点击“确定”完成新增。与相关数据项目绑定后,在填表的,选中被绑定的项目,就会显示树型选择窗体以供选择数据。具体效果在下面“来据表”方式中演示。
来源数据表
如果数据来源于数据表,那么构成树型数据规范的方式可以有三种,分别是按
父子关系、按
层次编码以及按
字段分级。在《地区表》中“区域”与“省份”就是典型的父子关系,如下图所示:
一个区域下面有多个省份,也就是说“区域”就是“省份”的父节点。下面我们就按这方式建立一个树型选择规范,如下图所示:

如上图所示,输入规范名称,作用方式选“树型窗体选择”,数据来源选“数据表”,勾上

表示只能选择最底层节点(省份)。构造方式为“父子关系型”按父子关系构造树型。数据表选“地区表_明细”,显示项目(子节点)选“省份”,指定返“省份”。父节点项目选“区域”,点击“确定”完成新增。然后跟《客户资料》的“省数据项目绑定,如下图所示:

填表时的效果如下图所示:

与“列表选择规范”一样,单元格为空时会自动显示选择窗体,否则就要右击“选择…”菜单才能显示选择窗体。如上图所示,选择“广东”,然后点击“确定”即可。
5、自动编号
在很多单据中,会有一些流水号性质的项目,如《客户资料》的客户编号、销售单的单据号等,这些项目的值可以由自动编号数据规范来自动产生。
下面我们就建立“客户编号”自动编号数据规范,如下图所示:

输入规范名称,作用方式选“自动编码”,输入“KH”,日期部分格式选“年年月月” ,顺序号位数是“3”。最后产生的编号是这样组成的:+日期+顺序号,
其中“前缀”和“日期部分”可有可无,例如我们在2009-8第一次填表,那么产生的编号就是KH-1901001,第二次就KH1901002等等。顺序号的位数决定了顺序号的最大值,例如“3”表示其最大值就是“999”,起始值表示顺序号的最小值,也就是开始时的大小。
作废编用策略有四种,默认是“总是重用”,表示当你输入单据的时候申请了一个编码,但最后没有保存数据,当你在10分钟之内,再次输入,仍然会自动使用该编码,如果你超过了10分钟还没有使用这个编码,这个编码就会被别人使用了。“当月重用”表示作废的编码只在当月有效,过期以后将永远作废,“当天重用”、“当季重用”和“当年重用”类似。“不重用”表示一旦你申请了一个编码,但你最后没有保存数据,那么该编码就永远也不能再用了。
“清零”的作用是:所有重用编码和新编码的顺序号从起始值开始。
点击“确定”完成新增。
接着与《客户资料》的“客户编号”数据项目进行绑定,绑定完成后,我们进入填表状态,这时你会发现客户编号已经自动产生,如下图所示:


如果继续填写下一份资料,那么客户编号就是“KH-1901002”。使用自动编号数据规范要注意如下几点:
a) 每个编号只能使用一次,而且只要产生了,不管你使不使用,别人都不能再使用不能使用第二次。例如你要填写一个客户的资料,这时客户编号已经产生,但由于各种原因最后你没有保存,也就是放弃了这个客户资料的输入,那么这个编就被作废了,谁都不能再使用。
b) 如果用在重复数据项目,需要在保存时才会产生编号。
6、系统预定义数据规范
系统提供了26种预定义数据如上图所示,分别是:
a) 部门,属于树型窗体选择规范,内容是组织机构里所定义的部门信息。
b) 角色,属于下拉框选择规范,内容我们所定义的各个角色。
c) 用户,也是属于下拉框选择规范,内容是定义的用户。
d) _树型,与“用户”的内容一致,只是这里以树型选择的方式进行展示。
e) 登录用户姓名、登录用户所在机构、登录用户所在部门、登录用户所在部门编码前登录用户的角色、系统顶级机构名称、当前日期、当前日期时间、月初和年初,这九种数据规范都会自动执行,其意义与其名称一致。
f) 日期选择,允许你使用日历来选择日期,当前月初和年初也自动支持日历选择。
g) 年月选择,可以使用窗体进行年月的选择。
(注意:该数据规范返回的是所选择月份的第日期,例如2008-6-1,这时候可以配合Excel单元格的日期格式来实现只显示年和月)
h) 当前年月,自动显示当前年月,还可以使用窗体进行年月的选择。
下面我们把《客户资料》的“填表日期”与规范“当前日期”绑定,“填表人”与规范“登录用户姓名”绑定,如下图所示:

填表时“填表日期”会自动显示为当前系统日期,“填表人”会自动显示会当前登录系统的用户名字,如下图所:

“填表日期”也可以从日历中选择日期,如下图所示:

另外还要说明一下的是,在前面所有有关数据规范的使用举例中,用在单一数据项目中,但事实上同样完全适用于重复数据项目的。
额外说明:
如果你不希望其他的设计人员可修改和删除你设置的数据规范的话,你可以选中这个选项。如下图所示: