本发明涉及计算机应用技术领域,具体地说是一种可配置的表单扩展信息传递方法。
背景技术:
多数信息系统商业软件都是支持业务表单扩展添加个性化的字段的,业务表单之间又是有数据流转关系的(如客户销售订单上的信息可流转形成销售出库单的信息),系统内置字段是由软件编码实现这种信息流转的,而对于应用时由用户在表单上自行扩展添加的字段,如何实现将上游单据信息自动传递赋值到这些字段成为一个需要解决的问题。
基于此,本发明提供一种可配置的表单扩展信息传递方法,从而能够以外挂插件的形式附加到原有系统上,通过绕道数据库获取信息和往后传递,帮助原有系统实现表单扩展信息的单据间传递。
技术实现要素:
本发明的技术任务是针对以上不足之处,提供一种可配置的表单扩展信息传递方法。
一种可配置的表单扩展信息传递方法,通过从后台数据库获取信息实现给下游表单字段的自定义赋值,其实现过程为:
首先创建信息传递配置表;
解析上述配置表并设置上游表单信息获取接口;
调用上游表单信息的获取接口,得到上游表单信息并给下游表单字段赋值。
在创建信息传递配置表时,需要在该配置表中存储表单信息传递的相关配置,所述相关配置包括:ID,即配置表主键列;上游类型,即上游单据类型;下游类型,即下游单据类型;顺序号;赋值字段,下游单据需要赋值的字段;赋值时机;数据源类型;数据源;处于生效还是停用状态。
在创建信息传递配置表时,该表中配置信息传递规则:
通过数据库的建表SQL语言完成数据结构的增加;
然后通过前台的维护界面或后台的数据操作,根据需要在配置表里维护配置规则。
所述上游表单信息获取接口有两个参数:
数据源字符串:string类型,用于接受数据源SQL或存储过程名;
上游数据ID字符串:string类型,用于接受上游数据ID。
上游表单信息获取接口的具体实现过程为:
解析信息传递配置表,获取数据源并确认该数据源为SQL或存储过程的执行结果;
数据源为SQL执行结果时,用接收到的上游数据ID参数变量置换SQL字符串中的占位符,得到最终的SQL字符串,然后在数据库中执行得到最终的上游表单信息;
数据源为存储过程执行结果时,将上游数据ID参数变量作为存储过程的参数,在数据库中执行该存储过程得到最终的上游表单信息。
下游表单解析配置表,调用上游表单信息的获取接口,得到上游表单信息并给下游表单字段赋值的具体过程为:
首先解析配置表,得到下游表单需要的赋值时机、赋值字段;
从下游表单中获取上游数据ID信息;
以上游数据ID为参数调用上游表单信息的获取接口,得到上游表单信息;
根据赋值时机,将上游表单信息赋值给赋值字段。
根据赋值时机的差异,分两种形式息赋值:
界面打开时:给前台字段赋值,然后通过界面上的保存事件将数据保存到数据库;
数据保存时:通过update语句直接更新后台字段。
本发明的一种可配置的表单扩展信息传递方法和现有技术相比,具有以下有益效果:
本发明的一种可配置的表单扩展信息传递方法,能够以外挂插件的形式附加到原有系统上,通过绕道数据库获取信息和往后传递,在不改变原有软件系统架构的基础上,帮助原有系统实现表单扩展信息的单据间传递,具有对已有系统影响小、实现简单的特点,实用性强,适用范围广泛,具有很好的推广应用价值。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
多数信息系统商业软件都是支持业务表单扩展添加个性化的字段的,业务表单之间又是有数据流转关系的(如客户销售订单上的信息可流转形成销售出库单的信息),系统内置字段是由软件编码实现这种信息流转的,而对于应用时由用户在表单上自行扩展添加的字段,如何实现将上游单据信息自动传递赋值到这些字段成为一个需要解决的问题。
基于此,本发明是提供一种可配置的表单扩展信息传递方法,通过从后台数据库获取信息实现给下游表单字段的自定义赋值,具体而言是一种应用在表单上的扩展处理,通过从后台数据库获取信息实现给下游表单字段的自定义赋值,可以在不改变原有软件系统架构的基础上,通过少量编码调用此装置,帮助原有系统实现表单扩展信息的单据间传递,其实现过程为:
定义信息传递配置表,存储表单信息传递的相关配置;
解析信息传递配置表,实现上游单据信息的获取接口;
调用上游单据信息的获取接口,将返回信息赋值到下游单据相关字段。
其中信息传递配置表的基本表结构如下:
更为具体的,本发明的实现包括以下步骤:
一、创建信息传递配置表并在表中配置信息传递规则。
1.1、通过数据库的建表SQL完成数据结构的增加;
1.2、可通过前台的维护界面或后台的数据操作,根据需要往配置表维护配置规则。
实现代码如下所述:
二、实现上游表单信息获取接口。
2.1、该接口有两个参数:
数据源字符串:string类型,用于接受数据源SQL或存储过程名;
上游数据ID字符串:string类型,用于接受【上游数据ID】;
2.2、解析信息传递配置表,获取数据源SQL或存储过程;
2.3、数据源为SQL时,用接收到的【上游数据ID】参数变量置换SQL字符串中的@SYID@占位符,得到最终的SQL字符串,然后在数据库中执行得到最终的上游表单信息;
2.4、数据源为存储过程时,将【上游数据ID】参数变量作为存储过程的参数,在数据库中执行该存储过程得到最终的上游表单信息。
实现代码如下所述:
三、下游表单解析配置表,调用上游表单信息的获取接口,得到上游表单信息并给下游表单字段赋值。
3.1、解析配置表,得到下游表单需要的【赋值时机】、【赋值字段】;
3.2、从下游表单或其他来源关系记录中获取【上游数据ID】信息;
3.3、以【上游数据ID】为参数调用上游表单信息的获取接口,得到上游表单信息;
3.4、根据赋值时机的差异分两种形式将上游表单信息赋值给【赋值字段】:
界面打开时:给前台字段赋值,后通过界面上的保存事件将数据保存到数据库;
数据保存时:通过update语句直接更新后台字段。
实现代码如下所述:
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。