一种表单高效数据联动的实现方法与流程

文档序号:12465126阅读:1335来源:国知局

本发明涉及计算机应用技术领域,具体地说是一种表单高效数据联动的实现方法。



背景技术:

表单是ERP领域中最基本的数据录入维护形式,类似输入客户后需要自动关联取出客户的地址、电话等信息的业务逻辑是ERP中常见的需求。在敏捷开发中,表单中的信息项目之间有各种关联的业务逻辑,例如:输入客户后需要自动关联取出客户的地址、电话等信息。



技术实现要素:

本发明的技术任务是针对以上不足之处,提供一种表单高效数据联动的实现方法,采用正向定义反向解析的方式,使表单的开发过程符合人的常规思路,理解简单易于掌握。

本发明解决其技术问题所采用的技术方案是:

一种表单高效数据联动的实现方法,基于数据库定义表单信息的数据来源SQL与关联设置SQL,人员依据实际情况选择一种模式,并递归定义,实现级联取数;包括系统表单字段定义、表单解析引擎和界面引擎处理数据联动取数。其中,系统表单字段定义表是表单定义的数据库存储物理表,用于存储表单界面的上的字段信息描述,一般用于存储软件开发企业开发的产品功能的界面信息元素。在表单解析引擎中处理界面的基本信息,并依据数据提取SQL,形成界面属性中的数组。通过对界面的项目的变化监测,实时处理相关信息项目的值。

该方法的具体实现步骤如下:

1)、创建表单的信息项目后台存储表;

2)、表单解析引擎在表单初始化时,处理表单信息项目之间的“来源取数模式”中的通知对象;

3)、表单界面处理引擎,在表单信息项目发生变化时,依次处理“关联取数SQL”和“来源取数模式”的设置逻辑;

4)、对应步骤3中触发的项目如果有“关联取数SQL“和”来源取数模式”设置,继续步骤1。

表单解析引擎处理联动信息,采用C#后台处理,解析引擎通过判断“关联取数SQL”和“来源取数SQL”定义中采用@字段名称@的方式指定数据来源与那些界面字段的值有关系;对于“关联取数SQL”触发字段比较明确就是当前变动的字段;对于“来源取数SQL”属于被动定义,需要知道当前字段在那些“来源取数SQL”中使用当前字段。

界面解析引擎,采用JS处理前台界面,在关键脚本文件Bill_header.js中,系统界面输入框失去焦点时触发txt_blur事件函数,在txt_blur触发界面赋值到数组处理函数setValue,在赋值数组时对数据使用validateValue函数进行验证,并处理“关联取数SQL与来源取数SQL”的设置,在处理过程中触发setValue继续处理至结束。

本发明的一种表单高效数据联动的实现方法和现有技术相比,具有以下有益效果:

利用本发明,可以很好的解耦表单信息项目之间的逻辑定义,使定义更加简化、清晰;本方法采用正向定义反向解析的方式,使表单的开发过程符合人的常规思路,理解简单易于掌握。

具体实施方式

下面结合具体实施例对本发明作进一步说明。

一种表单高效数据联动的实现方法,基于数据库定义表单信息的数据来源SQL与关联设置SQL,人员依据实际情况选择一种模式,并递归定义,实现级联取数;包括系统表单字段定义、表单解析引擎和界面引擎处理数据联动取数。其中,系统表单字段定义表是表单定义的数据库存储物理表,用于存储表单界面的上的字段信息描述,一般用于存储软件开发企业开发的产品功能的界面信息元素。在表单解析引擎中处理界面的基本信息,并依据数据提取SQL,形成界面属性中的数组。

数组定义如下:

header_format[1]=new Array();

header_format[1][0]="1";

header_format[1][1]="1";

header_format[1][2]="YXDDSQ_KHBH";//客户标示

header_format[1][1]="text";

header_format[1][4]="";//帮助对象

header_format[1][5]="";//帮助序号

header_format[1][6]="";

header_format[1][7]="0";

header_format[1][8]="";//帮助条件

header_format[1][9]="YXDDSQ_DZ#YXDDSQ_DH#";

header_format[1][10]="SELECT F_DZ FROM YXKHZD WHERE YXKHZD_KH=@YXDDSQ_KHBH@#SELECT F_DH FROM YXKHZD WHERE YXKHZD_KH=@YXDDSQ_KHBH@#";

header_format[1][11]="客户";

header_format[1][12]="2";

header_format[1][13]="1";

header_format[1][14]="40";

header_format[1][15]="1";

header_format[1][16]="";

header_format[1][17]="0";

header_format[1][18]="0";

header_format[1][19]="";

header_format[1][20]="0";

header_format[1][21]="1" ;

header_format[1][22]="";

header_format[1][23]="";

header_format[1][24]="";

header_format[1][25]="";

形成数组中的[9](通知界面对象 )[10] (通知界面对象的数据来源SQL),为了数据安全这里支持使用存储过程和JS脚本函数的方式获取数据。

通过对界面的项目的变化监测,实时处理相关信息项目的值。

该方法的具体实现步骤如下:

1)、创建表单的信息项目后台存储表;

2)、表单解析引擎在表单初始化时,处理表单信息项目之间的“来源取数模式”中的通知对象;

3)、表单界面处理引擎,在表单信息项目发生变化时,依次处理“关联取数SQL”和“来源取数模式”的设置逻辑;

4)、对应步骤3中触发的项目如果有“关联取数SQL“和”来源取数模式”设置,继续步骤1。

表单解析引擎处理联动信息,采用C#后台处理,解析引擎通过判断“关联取数SQL”和“来源取数SQL”定义中采用@字段名称@的方式指定数据来源与那些界面字段的值有关系;对于“关联取数SQL”触发字段比较明确就是当前变动的字段;对于“来源取数SQL”属于被动定义,需要知道当前字段在那些“来源取数SQL”中使用当前字段。

界面解析引擎,采用JS处理前台界面,在关键脚本文件Bill_header.js中,系统界面输入框失去焦点时触发txt_blur事件函数,在txt_blur触发界面赋值到数组处理函数setValue,在赋值数组时对数据使用validateValue函数进行验证,并处理“关联取数SQL与来源取数SQL”的设置,在处理过程中触发setValue继续处理至结束。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

除说明书所述的技术特征外,均为本专业技术人员的已知技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1