CN101354723B - 一种实现组合字段的方法及装置 - Google Patents

一种实现组合字段的方法及装置 Download PDF

Info

Publication number
CN101354723B
CN101354723B CN2008101495010A CN200810149501A CN101354723B CN 101354723 B CN101354723 B CN 101354723B CN 2008101495010 A CN2008101495010 A CN 2008101495010A CN 200810149501 A CN200810149501 A CN 200810149501A CN 101354723 B CN101354723 B CN 101354723B
Authority
CN
China
Prior art keywords
field
combination
rule
son
combined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2008101495010A
Other languages
English (en)
Other versions
CN101354723A (zh
Inventor
陈跃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN2008101495010A priority Critical patent/CN101354723B/zh
Publication of CN101354723A publication Critical patent/CN101354723A/zh
Application granted granted Critical
Publication of CN101354723B publication Critical patent/CN101354723B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种实现组合字段的方法,该方法包括:基于数据表字段元数据定义字段组合规则;保存所述字段组合规则;所述数据表运行时,解析所述字段组合规则,实现组合字段。本发明还公开了一种实现组合字段的装置。通过本发明提供的组合规则定义方法及对组合规则的通用解析,可以让用户自定义地设置组合规则,组合字段的实现不再需要针对性硬编码,当因业务需求发生变化而需要修改或增加组合字段时,可以由用户或业务人员快捷地完成,因此大大提高了系统的可扩展性。

Description

一种实现组合字段的方法及装置
技术领域
本发明涉及计算机数据处理技术领域,特别是涉及一种实现组合字段的方法及装置。
背景技术
在业务应用系统的数据处理过程中,常常遇到组合字段的情况,所述组合字段是指同一个字段的结果值可能是多种数据类型。例如,A字段的结果值可能是文本与数值两种类型,一般用一个文本字段和一个数值字段存储A字段的结果值,此时A字段就是一个组合字段,文本字段和数值字段为组合的子字段。处理组合字段时应注意以下两个问题:
1)不同数据类型的实际物理存储要分开完成。
2)不同数据类型在用户交互时有不同的特性要求,如数值类型字段,要求只能录入数字,右对齐等。
例如,在企业管理软件应用方面,很多业务单据中的字段就是由多个字段组合而成的,如“检验结果”字段,当检验方式为定性时,该字段为一个文本类型的字段,存储“合格”、“不合格”这样的定性描述,当检验方式为定量时,该字段为一个小数类型的字段,存储“0.3”,“0.8”这样的定量数值,不同的字段,其数据录入、展现等一系列界面交互均应与对应的数值类型匹配,如文本字段习惯上左对齐,数值字段习惯上右对齐等。这里“检验结果”字段就是一个组合字段,由一个文本字段及一个小数字段组合而成。
现有技术往往通过硬编码方式来实现这种组合字段,使用一个文本字段保存定性检验结果,用一个小数字段保存定量检验结果。对字段的动态锁定或隐藏的控制逻辑硬编码,实现定性检验时,文本字段可用,小数字段锁定或者隐藏,定量检验时小数字段可用,文本字段锁定或隐藏。
但是由于组合子字段的控制均是硬编码,因此,如果用户需要增加组合子字段参与组合关系,必须修改代码完成,技术门槛高。导致软件的维护成本高。另外,组合关系都已经硬编码完成,用户如需要增加新的组合字段,也必须修改代码完成,系统的扩展性很差,软件提供者的维护成本高。
因此,需要本领域技术人员迫切解决的一个技术问题是:如何创造性地提出一种组合字段的实现方案,以提高系统的可扩展性,降低组合字段的实现成本。
发明内容
有鉴于此,本发明的目的在于提供一种实现组合字段的方法及装置,以解决现有技术在实现组合字段时扩展性差、维护成本高的问题。
为实现上述目的,本发明提供了如下方案:
一种实现组合字段的方法,包括:
基于数据表字段元数据定义字段组合规则;所述定义字段组合规则包括:
选择参与组合的子字段;指定触发字段、默认显示的子字段及子字段组合条件;
保存所述字段组合规则;
所述数据表运行时,解析所述字段组合规则,实现组合字段;
其中,所述解析所述字段组合规则,实现组合字段包括:从组合规则中解析出所述触发字段、所有的组合字段、子字段、默认显示的子字段及子字段组合条件;设置默认显示的子字段可见,其他子字段不可见;所述触发字段值变化时,对所述子字段组合条件进行判定,将满足子字段组合条件的组合子字段设置为可见,其他组合子字段设置为不可见。
优选的,解析所述字段组合规则,实现组合字段的具体实现还包括:
根据组合字段元数据坐标及标题,设置组合子字段坐标及标题。
优选的,所述定义组合字段组合规则后还包括:
校验各字段是否合法,各子字段组合条件是否相互冲突,如果否,触发所述保存字段组合规则的步骤。
优选的,将所述字段组合规则保存至数据表元数据,或,保存为独立的组合规则文件。
一种实现组合字段的装置,包括:
组合规则定义单元,用于基于数据表字段元数据定义字段组合规则;其中,所述组合规则定义单元包括:选择子单元,用于选择参与组合的子字段;指定子单元,用于指定触发字段、默认显示的子字段及子字段组合条件;
组合规则保存单元,用于保存所述字段组合规则;
组合规则解析单元,用于所述数据表运行时,解析所述字段组合规则,实现组合字段;
其中,所述组合规则解析单元包括:解析子单元,用于从组合规则中解析出触发字段、所有的组合字段、子字段、默认显示的子字段及子字段组合条件;设置子单元,用于设置默认显示的子字段可见,其他子字段不可见;判断子单元,用于所述触发字段值变化时,对所述子字段组合条件进行判定,将满足子字段组合条件的子字段设置为可见,其他子字段设置为不可见。
优选的,所述组合规则解析单元还包括:
坐标设置子单元,用于根据组合字段元数据坐标及标题,设置组合子字段坐标及标题。
优选的,还包括:
校验单元,用于校验各字段是否合法,各子字段组合条件是否相互冲突,如果否,触发所述组合规则保存单元保存所述字段组合规则。
优选的,所述组合规则保存单元将所述字段组合规则保存至数据表元数据,或,保存为独立的组合规则文件。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明通过提供组合规则定义方法及对组合规则的通用解析,可以让用户自定义地设置组合规则,组合字段的实现不再需要针对性硬编码,当因业务需求发生变化而需要修改或增加组合字段时,可以由用户或业务人员通过修改组合规则快捷地完成,因此大大提高了系统的可扩展性。
另外,由于提供了组合字段的通用解决方案,软件开发者的组合字段开发成本大大降低,提升了产品开发的效率及质量。
附图说明
图1是本发明提供的方法的流程图;
图2是本发明提供的组合规则设计器界面示意图;
图3是本发明提供的组合规则设计器另一界面示意图;
图4是本发明提供的数据表运行时的界面示意图;
图5是本发明提供的装置的示意图;
图6是本发明提供的另一装置的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参见图1,本发明提供的实现组合字段的方法包括以下步骤:
S101:基于数据表字段元数据定义字段组合规则;
S102:保存所述字段组合规则;
S103:所述数据表运行时,解析所述字段组合规则,实现组合字段。
所述定义字段组合规则包括:指定触发字段、选定参与组合的子字段、指定默认在数据表加载时显示的子字段以及指定子字段组合条件等。其中,字段组合规则设置是基于数据表字段元数据进行的,触发字段、被选取的组合子字段等均是数据表上原有的字段。以检验业务场景为例:
触发字段:检验方式
组合字段:检验结果
组合子字段:文本、小数
子字段组合条件:
ACTIONKEY{CheckMode}
UNIONITEM{CheckResultText,EXPRESS{CheckMode="定性检验"}|CheckResultDecimal,EXPRESS{CheckMode="定量检验"}}
DEFAULTKEY{CheckResultText}
其中,ACTIONKEY部分为触发字段定义,CheckMode即“检验方式”字段。
UNIONITEM部分为子字段对应组合条件定义,这里子字段包括:CheckResultText(文本字段),其组合条件是“检验方式=定性检验”;CheckResultDecimal(小数字段),其组合条件是“检验方式=定量检验”。
DEFAULTKEY部分指定触发字段无值时,默认显示的子字段,此处为文本字段。
当然,组合规则的语法可以是其他实现,只要能够准确描述该组合规则。
上述字段组合规则定义完成之后,需要进行保存,保存的形式多种多样。例如,可以保存至数据表元数据(如保存至组合字段的组织规则属性),还可以将字段组合规则存储为一个独立的组合规则文件等。
所述数据表运行时,便可以解析所述字段组合规则,来实现组合字段了。该步骤可以通过以下方式实现:
取出所述字段组合规则(如,从字段的组合规则属性中取出),并对所述字段组合规则进行解析,从中解析出触发字段,并且可以用程序进行标记,便于在其值发生变化时确保组合规则被解析执行;从组合规则中解析出所有的组合子字段以及默认可见的组合子字段,除默认可见的组合子字段,其余组合子字段应当设置为不可见,至于组合字段,当作虚字段处理,界面不作加载。当触发字段值发生变化时,对组合条件进行判定,仍以上述定义字段组合规则的例子为例,当检验方式的值变化时,如选择定性检验时,文本字段的组合条件成立,则将文本字段设置为可见,其他所有子字段设置为不可见。当选择定量检验时,将会把检验结果字段动态替换为小数字段。
在不同的技术实现下,解析字段组合规则的步骤可以采用其他的实现方式,例如,可以直接订阅触发字段的值更新事件,当事件发生时,解析组合条件,当然,抽象来说,这也是一种标记触发字段的方式。
为了使用户得到更好的体验,在解析字段组合规则时,还可以根据组合字段元数据坐标、标题,设置各子字段的坐标、标题,将子字段标题、界面位置设置为与组合字段一致。当然,该步骤的实现也可以采用其他方法,例如设置字段的锁定性,不管子字段的标题信息、位置坐标等。
动态替换的实现有多种可能,一种可能是在单据加载时,即将组合子字段(文本、小数)的字段名、界面位置设置成与组合字段一致,并且控制为不可见字段,当检验方式为定量检验时,将小数字段设置为可见,文本字段设置为不可见;当检验方式变为定性检验时,将小数字段设置为不可见,文本字段设置为可见。
在实际应用中,为了保证组合规则的正确性,在定义完字段组合规则后还可以对各字段的合法性进行校验,并判断各子字段对应的组合条件是否相互冲突等,如果各字段均合法,且各组合条件不相互冲突,才保存所述字段组合条件。
需要说明的是,所述元数据是指描述数据的数据,指明数据的结构与意义。比如质检单据中的“检验方式”字段,其元数据可能是:
标题:检验方式
数据类型:整数
字段标识:checkmode
界面控件:下拉列表
长度:20字符
来源:基础资料-检验方式
字体:宋体
字号:9号
界面中字段位置TOP:100
界面中字段位置Left:1000
界面中字段高度:200
界面中字段宽度:100
是必录字段:是
存储物理表:质检表
存储物理字段:checkmode
是否允许保存为空值:否
在定义字段组合规则时之所以要基于字段元数据,是因为在解析字段组合 规则时,必须知道规则中各种数据的取值方式,例如“CheckMode="定量检验"”这个条件,checkmode是检验方式字段元数据的关键词,通过它可以找到检验方式对应的元数据,从而知道检验方式该如何取值。当然,如果在组合规则中包含足够多的信息,通过这些信息即可以完成正确的取值,那么没有必要基于外部的元数据。但这样的话,组合规则的设置将比较麻烦,因为必须在组合规则中包含字段的元数据。除上述的取值信息,元数据中还包含字段数据类型信息,界面位置信息等,都是在组合规则解析中要用到的。
基于数据表元数据的好处在于:数据表元数据的保存、解析是数据表已有的功能,可以直接调用。某些信息系统的设计,数据表可能并不基于元数据,这种情况下要实现本发明所述的组合字段实现方案,需要先建立字段元数据。
可见,本发明通过提供组合规则及对组合规则的通用解析,可以让用户自定义地设置组合规则,组合字段的实现不再需要针对性硬编码,因此,当因业务需求发生变化而需要修改或增加组合字段时,可以由用户或业务人员通过修改组合规则快捷地完成,因此大大提高了系统的可扩展性。
另外,由于提供了组合字段的通用解决方案,软件开发者的组合字段开发成本大大降低,提升了产品开发的效率及质量。
下面通过具体应用中的实例详细说明本发明提供的方法。
参见图2所示的组合规则设计器参考主界面,首先根据单据字段元数据,将字段的信息填充到区域1(触发字段下拉列表),以及区域2(备选的组合子字段列表)。
利用这个界面,用户可以在区域1中选定触发字段,如检验方式。在区域2中通过勾选的方式,确定参与组合的组合子字段,如文本、小数两个字段,并且指定每个字段的组合条件(该组合子字段在什么条件满足时,作为实际的检验结果存储字段)
点击“确定”时,会校验各组合子字段对应的组合条件是否相互冲突。校验完毕正确的组合规则将会保存。
在图2所示的界面中进行组合子字段条件设置时,会进入图3所示的条件设置界面。该界面首先在区域1中加载单据字段元数据,作为参与条件设置的 备选字段。用户可以在区域2中直接设计某一个组合子字段的组合条件。点击“确定”时,会校验组合条件是否合法。
在组合规则定义过程中,会根据元数据解析单据字段,填充组合规则设计器的触发字段列表、组合子字段列表等。
在组合规则解析过程中,参见图4,因为在组合规则中,文本字段被设置为默认字段,当单据加载时,“检验结果”字段实际被替换成了文本字段。此时小数字段、文本字段的标题已被设置为“检验结果”,界面位置信息与原检验结果字段一致。
同时,根据元数据控制组合子字段,如将文本字段标题设置为与检验结果字段的标题一致,将文本字段“界面中字段位置TOP”、“界面中字段位置Left”、“界面中字段高度”、“界面中字段宽度”设置为与检验结果字段对应属性一致,可以完成文本字段这个组合子字段的动态控制。
与本发明提供的方法相对应,本发明实施例还提供了一种实现组合字段的装置,参见图5,该装置包括:
组合规则定义单元U501,用于基于数据表字段元数据定义字段组合规则;
组合规则保存单元U502,用于保存所述字段组合规则;
组合规则解析单元U503,用于所述数据表运行时,解析所述字段组合规则,实现组合字段。
组合规则定义单元U501,基于数据表字段元数据定义字段组合规则;组合规则保存单元U502,保存所述字段组合规则;当所述数据表运行时,组合规则解析单元U503解析所述字段组合规则,实现组合字段。
其中,参见图6,组合规则定义单元U601包括:
选择子单元U6011,用于选择参与组合的子字段;
指定子单元U6012,用于指定触发字段、默认显示的子字段及子字段组合条件。
组合规则解析单元U603可以通过多种方式进行组合规则的解析,优选的,组合规则解析单元U603可以包括以下子单元:
解析子单元U6031,用于从组合规则中解析出触发字段、所有的组合字段、子字段、默认显示的子字段及子字段组合条件;
设置子单元U6032,用于设置默认显示的子字段可见,其他子字段不可见;
判断子单元U6033,用于所述触发字段值变化时,对所述子字段组合条件进行判定,将满足子字段组合条件的子字段设置为可见,其他子字段设置为不可见。
在不同的技术实现下,组合规则解析单元U603也可以采用其他的实现方式,例如,可以直接订阅触发字段的值更新事件,当事件发生时,解析组合条件,当然,抽象来说,这也是一种标记触发字段的方式。
为了使用户得到更好的体验,在解析字段组合规则时,还可以根据组合字段元数据坐标、标题,设置各子字段的坐标、标题,将子字段标题、界面位置设置为与组合字段一致。因此,组合规则解析单元U603还可以包括:
坐标设置子单元U6034,用于根据组合字段元数据坐标及标题,设置组合子字段坐标及标题。
在实际应用中,为了保证组合规则的正确性,在定义完字段组合规则后还可以对各字段的合法性进行校验,并判断各子字段对应的组合条件是否相互冲突等,如果各字段均合法,且各组合条件不相互冲突,才保存所述字段组合条件。因此,该装置还包括:
校验单元U604,用于校验各字段是否合法,各子字段组合条件是否相互冲突,如果否,触发所述组合规则保存单元保存所述字段组合规则。
保存组合规则的形式也是多种多样。例如,组合规则保存单元U602可以保存至数据表元数据(如保存至组合字段的组合规则属性),还可以将字段组合规则存储为一个独立的组合规则文件等。
以上对本发明所提供的一种实现组合字段的方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种实现组合字段的方法,其特征在于,包括:
基于数据表字段元数据定义字段组合规则;所述定义字段组合规则包括:选择参与组合的子字段;指定触发字段、默认显示的子字段及子字段组合条件;
保存所述字段组合规则;
所述数据表运行时,解析所述字段组合规则,实现组合字段;
其中,所述解析所述字段组合规则,实现组合字段包括:从组合规则中解析出所述触发字段、所有的组合字段、子字段、默认显示的子字段及子字段组合条件;设置默认显示的子字段可见,其他子字段不可见;所述触发字段值变化时,对所述子字段组合条件进行判定,将满足子字段组合条件的组合子字段设置为可见,其他组合子字段设置为不可见。
2.根据权利要求1所述的方法,其特征在于,解析所述字段组合规则,实现组合字段的具体实现还包括:
根据组合字段元数据坐标及标题,设置组合子字段坐标及标题。
3.根据权利要求1所述的方法,其特征在于,所述定义组合字段组合规则后还包括:
校验各字段是否合法,各子字段组合条件是否相互冲突,如果否,触发所述保存字段组合规则的步骤。
4.根据权利要求1所述的方法,其特征在于,将所述字段组合规则保存至数据表元数据,或,保存为独立的组合规则文件。
5.一种实现组合字段的装置,其特征在于,包括:
组合规则定义单元,用于基于数据表字段元数据定义字段组合规则;其中,所述组合规则定义单元包括:选择子单元,用于选择参与组合的子字段;指定子单元,用于指定触发字段、默认显示的子字段及子字段组合条件;
组合规则保存单元,用于保存所述字段组合规则;
组合规则解析单元,用于所述数据表运行时,解析所述字段组合规则,实现组合字段;
其中,所述组合规则解析单元包括:解析子单元,用于从组合规则中解析出触发字段、所有的组合字段、子字段、默认显示的子字段及子字段组合条件;设置子单元,用于设置默认显示的子字段可见,其他子字段不可见;判断子单元,用于所述触发字段值变化时,对所述子字段组合条件进行判定,将满足子字段组合条件的子字段设置为可见,其他子字段设置为不可见。
6.根据权利要求5所述的装置,其特征在于,所述组合规则解析单元还包括:
坐标设置子单元,用于根据组合字段元数据坐标及标题,设置组合子字段坐标及标题。
7.根据权利要求5所述的装置,其特征在于,还包括:
校验单元,用于校验各字段是否合法,各子字段组合条件是否相互冲突,如果否,触发所述组合规则保存单元保存所述字段组合规则。
8.根据权利要求5所述的装置,其特征在于,所述组合规则保存单元将所述字段组合规则保存至数据表元数据,或,保存为独立的组合规则文件。
CN2008101495010A 2008-09-10 2008-09-10 一种实现组合字段的方法及装置 Active CN101354723B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101495010A CN101354723B (zh) 2008-09-10 2008-09-10 一种实现组合字段的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101495010A CN101354723B (zh) 2008-09-10 2008-09-10 一种实现组合字段的方法及装置

Publications (2)

Publication Number Publication Date
CN101354723A CN101354723A (zh) 2009-01-28
CN101354723B true CN101354723B (zh) 2011-07-20

Family

ID=40307530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101495010A Active CN101354723B (zh) 2008-09-10 2008-09-10 一种实现组合字段的方法及装置

Country Status (1)

Country Link
CN (1) CN101354723B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799801A (zh) * 2010-01-26 2010-08-11 中兴通讯股份有限公司 基于流量协议的自定义统计报表的实现方法和装置
CN103886110A (zh) * 2014-02-24 2014-06-25 金蝶软件(中国)有限公司 数据录入方法和装置
CN104462361B (zh) * 2014-12-05 2017-10-31 广州普邦园林股份有限公司 一种匹配数据表中数据的方法和装置
CN105447114A (zh) * 2015-11-13 2016-03-30 中科曙光信息技术无锡有限公司 表单中字段的显示方法和装置
CN110109910A (zh) * 2018-01-08 2019-08-09 广东神马搜索科技有限公司 数据处理方法及系统、电子设备和计算机可读存储介质
CN110489409B (zh) * 2018-09-14 2020-06-23 北京数聚鑫云信息技术有限公司 一种动态扩展数据字段的方法及装置
CN113641881A (zh) * 2021-08-23 2021-11-12 北京字跳网络技术有限公司 元数据的显示方法、装置、设备及介质

Also Published As

Publication number Publication date
CN101354723A (zh) 2009-01-28

Similar Documents

Publication Publication Date Title
CN101354723B (zh) 一种实现组合字段的方法及装置
CN104133772A (zh) 一种自动生成测试数据的方法
CN110705237B (zh) 文档的自动生成方法、数据处理设备及存储介质
CN104462179B (zh) 处理大数据的方法、执行其的装置以及储存其的存储媒介
US9646103B2 (en) Client-side template engine and method for constructing a nested DOM module for a website
RU2417420C2 (ru) Программируемость для хранилища xml данных для документов
CN102750289B (zh) 基于标签组对数据进行混合的方法和设备
CN104699681A (zh) 一种基于元数据库的数据处理方法
CN111126019B (zh) 基于模式定制的报表生成方法、装置和电子设备
CN115061721A (zh) 一种报表生成方法、装置、计算机设备及存储介质
CN106940721B (zh) 一种自定义选择框的数据处理方法及系统
CN110119292A (zh) 系统运行参数查询方法、匹配方法、装置及节点设备
CN105630817A (zh) 一种电子发票内容解析的方法及系统
CN110738035A (zh) 一种文档模板生成方法及装置
CN106557307B (zh) 业务数据的处理方法及处理系统
US9898523B2 (en) Tabular data parsing in document(s)
CN104572939A (zh) 一种行业内异构数据交换的数据查询方法
US10503823B2 (en) Method and apparatus providing contextual suggestion in planning spreadsheet
US20170124124A1 (en) System and method for analyzing complex metadata
US20160012023A1 (en) Self-Referencing of Running Script Elements in Asynchronously Loaded DOM Modules
CN112184321A (zh) 一种客户数据快速筛选方法、装置及系统
CN104965783A (zh) 一种网页内容展现监测的方法和装置
US20100042633A1 (en) Messaging tracking system and method
CN102486731A (zh) 增强软件的软件调用栈的可视化的方法、设备和系统
CN106250477B (zh) 一种分表数据的分页方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant