CN101706716A - 基于vo的表单定制配置与解析运行方法 - Google Patents
基于vo的表单定制配置与解析运行方法 Download PDFInfo
- Publication number
- CN101706716A CN101706716A CN200910034808A CN200910034808A CN101706716A CN 101706716 A CN101706716 A CN 101706716A CN 200910034808 A CN200910034808 A CN 200910034808A CN 200910034808 A CN200910034808 A CN 200910034808A CN 101706716 A CN101706716 A CN 101706716A
- Authority
- CN
- China
- Prior art keywords
- list
- cell
- information
- configuration
- sublist
- 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.)
- Granted
Links
Images
Abstract
本发明提供了一种基于VO的表单定制配置与解析运行方法,包括值对象实体类生成、表单设计和表单运行三个技术环节。读取数据库字典表信息,自动生成与数据库主表与子表相对应的VO实体类;在表单设计时,通过表单编辑器定制页面,关联表单单元格与VO实体类中的字段,以文件或数据库方式存储表单定制信息,通过接口参数设置对表单单元格的读写及打印权限进行配置,并保存配置信息;在表单运行时,表单解析引擎会读取并解析设计时所定义的表单定制和配置信息,动态生成带有权限控制的表单对象,表单单元格的值所做的修改将反应到VO对象中,并通过VO对象传递到数据源中,从而实现数据的增删改操作。
Description
技术领域
本发明涉及电子表单领域,具体涉及VO实体类生成、设计时表单定制与配置、运行时表单解析与运行等内容。
背景技术
目前,在电子政务、电子商务等软件中涉及到大量的业务表单,传统软件中的业务表单一般通过硬编码方式实现,与业务表单相关的界面设计及数据库读写的开发工作繁琐、耗时,且硬编码方式实现的表单难以满足频繁变更的用户需求及业务需要,当业务发生变更时,必须由程序员对代码进行修改和调整,效率低下且受到较多的限制。
为了解决上述问题,需将与业务表单相关的功能抽取出来,并提供定制配置与解析运行方式,使得不但是开发人员,用户也可以对表单进行直接的灵活控制。表单定制与配置及解析运行方法不但有助于实现业务表单功能的敏捷开发,也有助于满足表单灵活调整的需要。
题为“基于web的数据表单”(申请号200510099656.4,公开号CN1755624A)、“流程表单处理系统及方法”(申请号200610200869.6,公开号CN101145217A)、“从数据库模式中自动生成WEB表单”(申请号200780020776,公开号CN101460950A)及“一种通用业务数据采集表单的定义与生成方法”(申请号200810238002.9,公开号CN101419552A)均是针对Web表单的发明专利,难以适用于Winform表单,题为“表单自定义方法”(申请号200810014332.X,公开号CN101241434A)是针对Winform表单的发明专利,但几乎未涉及如何对表单进行定制配置,以及如何解析运行表单。
发明内容
本发明的目的在于:本发明旨在解决桌面软件开发中Winform业务表单相关页面设计及数据库访问功能重复开发的问题,提出一种表单定制配置及解析运行方法,提供可视化设计及应用程序接口调用两种方式进行表单定制与配置及表单解析与运行。用户无需编写代码或编写很少的代码,即可完成复杂页面设计及数据库配置操作,表单控件及函数的复用有利于提高开发效率,减少软件开发过程中错误的产生。
本发明的总体思路是:将软件项目中的数据库数据增删改、数据校验、打印等常见功能点在表单中实现,对于这些功能的使用直接通过设置界面进行简单设置或调用表单提供的应用程序接口即可完成表单页面设计、数据库表字段配置、权限控制等功能,对于一些个性化功能,可以编写代码进行扩展,以达到既能提高开发效率又能实现复杂功能的双重目的。
本发明的技术方案是:基于VO的表单定制配置及解析运行方法,该方法包括以下三个部分:
步骤1实现数据库表值对象(Value Object,VO)实体类的自动生成;
步骤2实现基于VO的设计时表单定制与配置;
步骤3实现基于VO的运行时表单解析与运行(显示)。
所述步骤1是指读取数据库字典表,包括:用户表、字段表和字段注释表中的信息并自动生成与业务数据表对应的VO实体类,作为后续步骤实施的基础;
所述步骤2基于VO的设计时表单定制与配置,是基于步骤1中的VO实体类,在表单设计时,通过表单编辑器定制页面,关联表单单元格与VO实体类中的字段,以XML文件或数据库方式存储表单定制信息,通过接口参数设置对表单单元格的读写与打印权限进行配置,并保存配置信息;
所述步骤3基于VO的运行时表单解析与运行,是基于步骤1中的VO实体类与步骤2中的表单设计时所定义的表单定制与配置信息,在表单运行时,首先,通过表单解析引擎读取并解析表单定制及配置信息,其次,动态生成并显示带有权限控制的表单对象。表单单元格的值所做的修改将反应到VO对象中,并通过VO对象传递到数据源中,从而实现表单数据的增删改。
所述基于VO的设计时表单定制与配置过程流程如下:
1)新建表单,根据业务需求将其与业务数据主表及子表VO实体类相关联,并保存关联关系至数据库中的表单实体类关联信息表(GRID_VO_INFO)中,需保存的信息包括:GRIDID(表单ID)、VOPATH(VO程序集路径,相对路径形式)、MAINTABLEVOLIST(主表VO实体类名称列表)及SUBTABLEVOLIST(子表VO实体类名称列表);
2)表单定制过程如下:
a)利用表单编辑器初始化基本表单定义,如:行数、列数、行宽、列宽、单元格合并拆分、单元格样式(字体、字号、是否斜体、是否加粗、是否有下划线、字体颜色、背景色、文本对齐方式、边框线型及线宽);
b)将主表及子表VO实体类中的字段与单元格进行绑定,并设置单元格类型(文本框、下拉框、复选框、图片框);
c)为有约束需求的单元格进行约束设置(如最大值、最小值、最大长度和最小长度),可通过自定义正则表达式定义更多约束。
3)表单定制信息的保存过程如下:
a)新建用以保存表单定制信息的数据集,读取表单的XML架构文件至该数据集中,在该架构文件中,定义了Grid与Cell两个元素,其中,Grid由多个Cell所组成;
b)获取当前表单中单元格的行数和列数并赋值予Grid的rowcount与columncount字段;
c)按照从左至右、从上至下的顺序遍历表单中的单元格Grid[i,j],读取单元格Grid[i,j]的当前值、行跨度、列跨度、字体、字号、是否斜体、是否加粗、是否有下划线、字体颜色、背景色、文本对齐方式、边框线型及线宽、单元格类型、校验模式、校验类型、计算表达式信息,并赋值予Cell的name、caption、rownum、columnnum、datatype、datavalue、width、height、flag、rowspan、columnspan、fontName、fontSize、fontItalic、fontBold、fontUnderline、forecolor、backColor、textAlignment、leftlinecolor、leftlineDashStyle、leftlineWidth、rightlinecolor、rightlineDashStyle、rightlineWidth、toplinecolor、toplineDashStyle、toplineWidth、bottomlinecolor、bottomlineDashStyle、bottomlineWidth、cellType、comboboxInfo、dataValueType、validationPattern、validationType、printable、comboboxEditable、cellMask、expression字段;
d)至步骤c,表单的定制信息已完全读取到数据集中,可将数据集中的当前数据写入数据库中的表单模板表(GRID_TEMPLATE)中,主要记录项包括:GRIDID、GRIDCONTENT(表单内容,以大二进制形式存储),也可写入指定的XML文件;
4)表单配置与保存过程如下:
1)将表单与任务(如工作流流程节点)关联;
2)按照从左至右、从上至下的顺序依次遍历表单中的单元格Grid[i,j],过滤出配置了VO字段信息的单元格并存放到带VO字段信息的单元格列表中;
3)对于上述单元格列表中每个单元格,设置当前任务中其是否可读、可写及可打印。
4)记录表单与任务关联信息到表单任务关联表(GRID_TASK)中,记录项包括GRIDID和TASKID。记录权限配置信息至数据库中的权限配置表(GRID_CONFIG)中,记录项包括:GRIDID、TASKID(任务ID)、IsReadable、IsEditable及IsPrintable。
所述表单的解析与运行算法流程如下:
1)根据表单ID在数据库GRID_VO_INFO表中查询为当前表单所配置的VOPATH、MAINTABLEVOLIST及SUBTABLEVOLIST;
2)根据表单实例ID、MAINTABLEVOLIST及SUBTABLEVOLIST,利用接口objectLoadMainTableData(object keyValue,string mainTableVO,stringmainTableDLLPath)和ArrayList LoadSubTableData(object foreignKeyValue,string subTableVO,string subTableDLLPath)查询主表及子表数据,如查询结果非空,加载到主表VO对象列表和子表VO对象列表中;
3)根据表单ID在数据库GRID_TEMPLATE表中查询表单定制信息,初始化表单。读取GRID中的行列数,初始化空白表单,依次读取每个单元格Cell的定制信息并实例化,如果当前单元格为未配置VO字段信息的单元格,且非计算字段,则只需按照该单元格的配置信息初始化单元格,如果当前单元格为配置VO字段信息的单元格,除按照该单元格的配置信息初始化单元格外,还需将所配置的VO字段信息存储到单元格标签中,如单元格设置了校验规则,则为该单元格添加校验事件,如单元格为计算字段,则按照计算表达式计算出当前值并赋予单元格;
4)根据单元格标签中的VO字段信息与主表VO对象字段的匹配关系,将主表VO对象列表中的每一个主表对象的相关字段的值赋予与之对应的表单单元格。对于子表VO对象列表中的第一个VO对象,根据单元格标签中的VO字段信息与子表VO对象字段的匹配关系,将该子表VO对象的相关字段的值赋予与之对应的表单单元格,对于子表VO对象列表中的其他VO对象,依次在上一个VO对象所在行后面增加新行,并以上一行为模板设置新增行样式及相关信息,根据单元格标签中的VO字段信息与子表VO对象字段的匹配关系,将该子表VO对象的相关字段的值赋予与之对应的表单单元格;
5)根据GRIDID从数据库GRID_CONFIG表中获取单元格的读写及打印权限配置信息,利用应用程序接口对相关单元格的权限信息进行设置,可通过设置单元格颜色方式以突出需要处理的业务内容。
所述表单数据增删改算法流程如下:
1)遍历配置主表VO字段信息的表单单元格,并将单元格值赋予相对应的主表VO对象,得到更新后的主表VO对象列表;
2)遍历配置子表VO字段信息带有子表行标识的表单单元格,遍历子表行各个单元格并将值保存到子表VO对象列表;
3)利用数据访问层接口SaveTableData(object pMainTableObj)将主表VO对象更新到数据库中;
4)获取原有子表VO对象列表并利用数据访问层接口DeleTableData(ArrayList pSubTableDeleObjList)在数据库中进行删除后,利用接口SaveTableData(ArrayList pSubTableObjList)将现有子表VO对象列表保存到数据库中。
本发明方法,提供可视化设计及应用程序接口调用两种方式进行表单定制与配置及表单解析与运行。用户无需编写代码或编写很少的代码,即可完成复杂页面设计及数据库配置操作,表单控件及函数的复用有利于提高开发效率,减少软件开发过程中错误的产生。
附图说明
图1示出了依照本发明,表单应用实施例的结构图。
图2是房屋产权初始登记[新建房]流程中的房屋产权初始登记审批表CQ_RIGHT_CONFIRM的表结构(计算机显示界面截图)。
图3是利用表单编辑器所定制的带有VO字段信息的丽水市房地产业务受理单(计算机显示界面截图)。
图4是工作流流程任务节点与表单建立关联的示例(计算机显示界面截图)。
图5是带有VO字段信息的表单单元格读写权限配置(计算机显示界面截图)。
图6是针对VO的数据访问层类图(计算机显示界面截图)。
图7是表单运行时带有VO字段信息的单元格表示方式(计算机显示界面截图)。
图8是加载有数据的丽水市房地产业务受理单运行界面(计算机显示界面截图)。
具体实施方式
下面结合附图和实施例做进一步详细说明。
实施例1
依据本发明所提出的基于VO的表单定制配置与解析运行方法实现的表单常表现为中间件形式,其使用运行需依赖于其他系统或平台环境。本实例以基于工作流的电子政务平台中的房屋产权初始登记[新建房]流程中的业务表单为实施例进行描述。
本实例以Windows XP SP3为操作系统环境,Visual Studio 2005为开发环境,c#为开发语言,以开源SourceGrid控件为表单显示控件的基础,oracle 10g为后台数据库。
如图1所示,是表单应用实施例的结构图。基于VO的面向工作流的表单定制与配置及解析运行方法,该方法包括以下三个部分:
步骤1实现数据库表值对象(Value Object,VO)实体类的自动生成;
步骤2实现基于VO的工作流设计时表单定制与配置;
步骤3实现基于VO的工作流运行时表单解析与运行。
具体实施步骤如下:
步骤1实现数据库表值对象(Value Object,VO)实体类的自动生成,采取的技术方案为从Oracle数据库字典表user_tables(用户表)、user_tab_columns(表字段)、user_col_comments(字段注释)中获取指定表的列名、类型、长度、注释等信息,结合Oracle数据类型与.NET Framework数据类型的映射关系(表1示出部分类型的映射)生成与数据库表对应的值对象(Value Object,VO)实体类。基于该技术方案可实现VO生成器,在VO生成器中输入数据库连接信息及表名,即可自动生成该表所对应的VO实体类源代码。
表1部分Oracle数据类型与.NET Framework数据类型的映射
Oracle数据类型 | .NET Framework数据类型 |
BLOB | Byte[] |
CLOB | String |
DATE | DateTime |
FLOAT | Decimal |
INTEGER | Decimal |
NUMBER | Decimal |
VARchar2 | String |
在本实例中,以生成房屋产权初始登记[新建房]流程中的房屋产权初始登记审批表CQ_RIGHT_CONFIRM(表结构如图2所示)的VO实体类代码进行说明。为VO生成器如下提供信息:(1)数据库连接信息″user=FCOFFICE;data source=orcl_132.1.11.248;persist security info=False;password=fcoffice″;(2)表名“CQ_RIGHT_CONFIRM”,利用VO生成器所自动生成的VO实体类代码如下所示:
using System;
using System.Collections.Generic;
using System.Text;
using DAL.DALATTRIBUTES;
namespace VO
{
[DataTable(″cq_right_confirm″)]
publ ic class CQ_RIGHT_CONFIRM
{
string sys_xh=″″;
string sys_xmh=″″;
string sys_djh=″″;
DateTime sys_bgrq;
decimal sys_recordno;
string first_trial_notion=″″;
string review_notion=″″;
string auditing_notion=″″;
string remark=″″;
string docid=″″;
string first_trial_name=″″;
string review_name=″″;
string auditing_name=″″;
string first_trial_time=″″;
string review_time=″″;
string auditing_time=″″;
[DataField(″sys_xh″,Size=30)]
public string SYS_XH
{
get {return sys_xh;}
set {sys_xh=value;}
}
[KeyField(″sys_xmh″)]
public string SYS_XMH
{
get {return sys_xmh;}
set {sys_xmh=value;}
}
[DataField(″sys_djh″,Size=24)]
public string SYS_DJH
{
get {return sys_djh;}
set {sys_djh=value;}
}
[DataField(″sys_bgrq″,Size=7)]
public DateTime SYS_BGRQ
{
get{return sys_bgrq;}
set{sys_bgrq=value;}
}
[DataField(″sys_recordno″,Size=22)]
public decimal SYS_RECORDNO
{
get{return sys_recordno;}
set{sys_recordno=value;}
}
[DataField(″first_trial_notion″,Size=4000)]
public string FIRST_TRIAL_NOTION
{
get{return first_trial_notion;}
set{first_trial_notion=value;}
}
[DataField(″review_notion″,Size=4000)]
public string REVIEW_NOTION
{
get{return review_notion;}
set{review_notion=value;}
}
[DataField(″auditing_notion″,Size=4000)]
public string AUDITING_NOTION
{
get{return auditing_notion;}
set{auditing_notion=value;}
}
[DataField(″remark″,Size=4000)]
public string REMARK
{
get{return remark;}
set{remark=value;}
}
[DataField(″docid″,Size=24)]
public string DOCID
{
get{return docid;}
set{docid=value;}
}
[DataField(″first_trial_name″,Size=16)]
public string FIRST_TRIAL_NAME
{
get{return first_trial_name;}
set{first_trial_name=value;}
}
[DataField(″review_name″,Size=16)]
public string REVIEW_NAME
{
get{return review_name;}
set{review_name=value;}
}
[DataField(″auditing_name″,Size=16)]
public string AUDITING_NAME
{
get{return auditing_name;}
set{auditing_name=value;}
}
[DataField(″first_trial_time″,Size=10)]
public string FIRST_TRIAL_TIME
{
get{return first_trial_time;}
set{first_trial_time=value;}
}
[DataField(″review_time″,Size=10)]
public string REVIEW_TIME
{
get{return review{time;}
set{review_time=value;}
}
[DataField(″auditing_time″,Size=10)]
public string AUDITING_TIME
{
get{return auditing_time;}
set{auditing_time=value;}
}
}
}
步骤2实现基于VO的设计时表单定制与配置,基于步骤1中的VO实体类,在表单设计时,通过表单编辑器定制页面,关联表单单元格与VO实体类中的字段,以XML文件或数据库方式存储表单定制信息,通过接口参数设置对表单单元格的读写与打印权限进行配置,并保存配置信息。
表单定制与配置具体实施过程如下:
1)新建表单,根据业务需求将其与业务数据主表及子表VO实体类相关联,并保存关联关系至数据库中的表单实体类关联信息表(GRID_VO_INFO)中,需保存的信息包括:GRIDID(表单ID)、VOPATH(VO程序集路径,相对路径形式)、MAINTABLEVOLIST(主表VO实体类名称列表)及SUBTABLEVOLIST(子表VO实体类名称列表)。VO程序集路径采用相对路径,形如“..\..\VO\XXX.dll”,主表与子表VO实体类信息格式为“名称空间.类名”,如:VO.HP.HPZB。当配置多个主表或子表时,以“,”作为分隔符。在本实例中,新建表单丽水市房地产业务受理单,与该业务表单相关的VO程序集路径为“..\..\..\VO\VO.dll”,主表名为“VO.FKJK”,子表名为“VO.SJCL”。
2)设置表单的行列数、单元格样式、类型及显示内容,配置VO字段信息的单元格值显示格式为“#表名.字段名#”,如“#FKJK.SJRQ#”。对于主表字段,可以不受任何约束的放置到任意单元格内,对于子表字段,通常放置在同一行单元格内,如所定制的丽水市房地产业务受理单(如图3所示)中,标注了原权利人、房产证号、交件人、共有权人、房屋坐落、联系电话后的单元格为配置了主表VO字段信息的单元格,而内容为缴纳证件、证件类别、份数、页数、材料说明下的单元格为配置了子表VO字段信息的单元格。
3)新建用以保存表单定制信息的数据集,读取表单的XML架构文件至该数
据集中,在该架构文件中,定义了Grid与Cell两个元素,其中,Grid由多个Cell所组成。本实例中表单的XML架构如下所示:
<?xml version=″1.0″encoding=″utf-8″?>
<xs:schema id=″XMLSchema1″
targetNamespace=″http://tempuri.org/XMLSchema1.xs d″
elementFormDefault=″qualified″
xmlns=″http://tempuri.org/XMLSchema1.xsd″
xmlns:mstns=″http://tempuri.org/XMLSchema1.xsd″
xmlns:xs=″http://www.w3.org/2001/XMLSchema″>
<xs:element name=″Grid″>
<xs:complexType>
<xs:sequence>
<xs:element name=″rowcount″type=″xs:int″/>
<xs:element name=″columncount″type=″xs:int″/>
<xs:element name=″Cell″maxOccurs=″unbounded″>
<xs:complexType>
<xs:sequence>
<xs:element name=″id″type=″xs:int″/>
<xs:element name=″name″type=″xs:string″/>
<xs:element name=″caption″type=″xs:string″/>
<xs:element name=″rownum″type=″xs:int″/>
<xs:element name=″columnnum″type=″xs:int″/>
<xs:element name=″datatype″type=″xs:string″/>
<xs:element name=″datavalue″type=″xs:string″/>
<xs:element name=″width″type=″xs:int″/>
<xs:element name=″height″type=″xs:int″/>
<xs:element name=″flag″type=″xs:int″/>
<xs:element name=″rowspan″type=″xs:int″/>
<xs:element name=″columnspan″type=″xs:int″/>
<xs:element name=″fontName″type=″xs:string″/>
<xs:element name=″fontSize″type=″xs:float″/>
<xs:element name=″fontItalic″type=″xs:boolean″/>
<xs:element name=″fontBold″type=″xs:boolean″/>
<xs:element name=″fontUnderline″type=″xs:boolean″/>
<xs:element name=″forecolor″type=″xs:int″/>
<xs:element name=″backColor″type=″xs:int″/>
<xs:element name=″textAlignment″type=″xs:string″/>
<xs:element name=″leftlinecolor″type=″xs:int″/>
<xs:element name=″leftlineDashStyle″type=″xs:string″/>
<xs:element name=″leftlineWidth″type=″xs:float″/>
<xs:element name=″rightlinecolor″type=″xs:int″/>
<xs:element name=″rightlineDashStyle″type=″xs:string″
/>
<xs:element name=″rightlineWidth″type=″xs:float″/>
<xs:element name=″toplinecolor″type=″xs:int″/>
<xs:element name=″toplineDashStyle″type=″xs:string″/>
<xs:element name=″toplineWidth″type=″xs:float″/>
<xs:element name=″bottomlinecolor″type=″xs:int″/>
<xs:element name=″bottomlineDashStyle″type=″xs:string″
/>
<xs:element name=″bottomlineWidth″type=″xs:float″/>
<xs:element name=″cellType″type=″xs:string″/>
<xs:element name=″comboboxInfo″type=″xs:string″/>
<xs:element name=″dataValueType″type=″xs:string″/>
<xs:element name=″validationPattern″type=″xs:string″/>
<xs:element name=″validationType″type=″xs:string″/>
<xs:element name=″printable″type=″xs:boolean″/>
<xs:element name=″comboboxEditable″type=″xs:boolean″/>
<xs:element name=″cellMask″type=″xs:string″/>
<xs:element name=″expression″type=″xs:string″/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
4)获取当前表单中单元格的行数和列数并赋值予Grid的rowcount与columncount字段。按照从左至右、从上至下的顺序遍历表单中的单元格Grid[i,j],读取单元格Grid[i,j]的当前值、行跨度、列跨度、字体、字号、是否斜体、是否加粗、是否有下划线、字体颜色、背景色、文本对齐方式、边框线型及线宽、单元格类型、校验模式、校验类型、计算表达式信息,并赋值予Cell的name、caption、rownum、columnnum、datatype、datavalue、width、height、flag、rowspan、columnspan、fontName、fontSize、fontItalic、fontBold、fontUnderline、forecolor、backColor、textAlignment、leftlinecolor、leftlineDashStyle、leftlineWidth、rightlinecolor、rightlineDashStyle、rightlineWidth、toplinecolor、toplineDashStyle、toplineWidth、bottomlinecolor、bottomlineDashStyle、bottomlineWidth、cellType、comboboxInfo、dataValueType、validationPattern、validationType、printable、comboboxEditable、cellMask、expression字段。本实例中部分定制信息的XML片段如下所示,以共有权人字段为例:
<Cell>
<id>54</id>
<name/>
<rownum>6</rownum>
<columnnum>5</columnnum>
<datatype>textbox</datatype>
<datavalue>共有权人</datavalue>
<width>80</width>
<height>30</height>
<flag>1</flag>
<rowspan>1</rowspan>
<columnspan>1</columnspan>
<fontName>宋体</fontName>
<fontSize>12</fontSize>
<fontItalic>false</fontItalic>
<fontBold>false</fontBold>
<fontUnderline>false</fontUnderline>
<forecolor>-16777216</forecolor>
<backColor>-1</backColor>
<textAlignment>MiddleLeft</textAlignment>
<leftlinecolor>-1</leftlinecolor>
<leftlineDashStyle>Solid</leftlineDashStyle>
<leftlineWidth>0</leftlineWidth>
<rightlinecolor>-16777216</rightlinecolor>
<rightlineDashStyle>Solid</rightlineDashStyle>
<rightlineWidth>1</rightlineWidth>
<toplinecolor>-1</toplinecolor>
<toplineDashStyle>Solid</toplineDashStyle>
<toplineWidth>0</toplineWidth>
<bottomlinecolor>-16777216</bottomlinecolor>
<bottomlineDashStyle>Solid</bottomlineDashStyle>
<bottomlineWidth>1</bottomlineWidth>
<cellType>cell</cellType>
<dataValueType>string</dataValueType>
<validationPattern/>
<validationType/>
<printable>true</printable>
</Cell>
<Cell>
<id>55</id>
<name/>
<rownum>6</rownum>
<columnnum>6</columnnum>
<datatype>textbox</datatype>
<datavalue>#FKJK.XMWZ#</datavalue>
<width>94</width>
<height>30</height>
<flag>1</flag>
<rowspan>1</rowspan>
<columnspan>2</columnspan>
<fontName>宋体</fontName>
<fontSize>10</fontSize>
<fontItalic>false</fontItalic>
<fontBold>true</fontBold>
<fontUnderline>false</fontUnderline>
<forecolor>-16777216</forecolor>
<backColor>-1</backColor>
<textAlignment>MiddleLeft</textAlignment>
<leftlinecolor>-1</leftlinecolor>
<leftlineDashStyle>Solid</leftlineDashStyle>
<leftlineWidth>0</leftlineWidth>
<rightlinecolor>-16777216</rightlinecolor>
<rightlineDashStyle>Solid</rightlineDashStyle>
<rightlineWidth>1</rightlineWidth>
<toplinecolor>-1</toplinecolor>
<toplineDashStyle>Solid</toplineDashStyle>
<toplineWidth>0</toplineWidth>
<bottomlinecolor>-16777216</bottomlinecolor>
<bottomlineDashStyle>Solid</bottomlineDashStyle>
<bottomlineWidth>1</bottomlineWidth>
<cellType>cell</cellType>
<dataValueType>string</dataValueType>
<validationPattern/>
<validationType/>
<printable>true</printable>
</Cell>
5)表单的定制信息读取到数据集中后,将数据集中的当前数据写入数据库中的表单模板表(GRID_TEMPLATE)中,主要记录项包括:GRIDID、GRIDCONTENT(表单内容,以大二进制形式存储)。
6)在工作流流程的节点上配置表单,如图4所示,在房屋产权初始登记[新建房]流程的收件节点下挂有丽水市房地产业务受理单,在案例初审节点下挂有丽水市房地产登记申请书、产权房屋、申请人、房屋产权初始登记审批表等多个表单。在存储工作流流程的节点与表单的配置信息时,需记录工作流节点ID(收件ID为01900100)与其下所挂的表单ID(收件节点下的表单ID为106)。配置工作流任务节点的表单中单元格的读写权限时,按照从左至右、从上至下的顺序依次遍历表单中的单元格Grid[i,j],过滤出配置了VO字段信息的单元格并存放到带VO字段信息的单元格列表中,如图5所示,在本实例中,复选框选中的为可写字段,未选中的为可读字段,所需记录到数据库中的信息为:节点ID(如01900001)、表单ID(如107)、可写字段(如CQ_OTHERREGIST_UNCHAIN.sys_xmh,CQ_OTHERREGIST_UNCHAIN.OTHERRIGHT_NAME,CQ_OTHERREGIST_UNCHAIN.PLEDGOR_CARDTYPE,CQ_OTHERREGIST_UNCHAIN.PLEDGOR_CARDNO,CQ_OTHERREGIST_UNCHAIN.HYPOTHEC_NAME,CQ_OTHERREGIST_UNCHAIN.HYPOTHEC_CARDTYPE,CQ_OTHERREGIST_UNCHAIN.HYPOTHEC_CARDNO,CQ_OTHERREGIST_UNCHAIN.BORROWER)等。
步骤3实现基于VO的运行时表单解析与运行。基于步骤1中的VO实体类与步骤2中的设计时所存储的表单定制与配置信息,在表单运行时,表单解析引擎读取并解析表单定制及配置信息,动态生成带有权限控制的表单对象,对表单单元格中的值所做出的修改将反应到VO对象中,并通过VO对象传递到数据源中,从而实现数据的增删改。
表单的解析与显示算法流程如下:
1)根据表单ID在数据库GRID_VO_INFO表中查询为当前表单所配置的VOPATH、MAINTABLEVOLIST及SUBTABLEVOLIST;
2)为了进行基于VO的主表及子表数据查询,需实现针对VO的数据访问层,主要接口如图6所示.根据表单实例ID、MAINTABLEVOLIST及SUBTABLEVOLIST,利用接口object LoadMainTableData(object keyValue,string mainTableVO,string mainTableDLLPath)和ArrayList LoadSubTableData(objectforeignKeyValue,string subTableVO,string subTableDLLPath)查询主表及子表数据,如查询结果非空,加载到主表VO对象列表和子表VO对象列表中;
3)根据表单ID在数据库GRID_TEMPLATE表中查询表单定制信息,初始化表单。读取GRID中的行列数,初始化空白表单,依次读取每个单元格Cell的定制信息并实例化,如果当前单元格为未配置VO字段信息的单元格,且非计算字段,则只需按照该单元格的配置信息初始化单元格,如果当前单元格为配置VO字段信息的单元格,除按照该单元格的配置信息初始化单元格外,还需将所配置的VO字段信息存储到单元格标签中(如图7所示),如单元格为计算字段,则按照计算表达式计算出当前值并赋予单元格,如单元格设置了校验规则,则为该单元格添加校验事件,与校验有关的部分代码如下所示:
public bool ValidationErrorMsg(string validationtype,string
validationpattern,string cellval)
{
GridEdit.CellValidate cv=new
SourceGrid.GridEdit.CellValidate();
string errorstr=cv.CellValidation(validationtype,
validationpattern,cellval);
ValidationErrorMsgEventArgs e=new
ValidationErrorMsgEventArgs(errorstr);
OnValidationErrorMsg(e);
bool isvalidate=false;
if(errorstr==″符合要求″||errorstr==″数值符合要求″||
errorstr==″字符串符合要求″)
isvalidate=true;
return isvalidate;
}
[Browsable(true)]
public event ValidationErrorMsgEventHandler
ValidationErrorMsgEvent;
protected virtual void
OnValidationErrorMsg(ValidationErrorMsgEventArgs e)
{
if(ValidationErrorMsgEvent!=null)
{
ValidationErrorMsgEvent(this,e);
}
}
4)根据单元格标签中的VO字段信息与主表VO对象字段的匹配关系,将主表VO对象列表中的每一个主表对象的相关字段的值赋予与之对应的表单单元格。对于子表VO对象列表中的第一个VO对象,根据单元格标签中的VO字段信息与子表VO对象字段的匹配关系,将该子表VO对象的相关字段的值赋予与之对应的表单单元格,对于子表VO对象列表中的其他VO对象,依次在上一个VO对象所在行后面增加新行,并以上一行为模板设置新增行样式及相关信息,根据单元格标签中的VO字段信息与子表VO对象字段的匹配关系,将该子表VO对象的相关字段的值赋予与之对应的表单单元格,图8所示为一个加载了主表和子表数据的丽水市房产业务受理单的运行实例;
5)根据GRIDID从数据库GRID_CONFIG表中获取单元格的读写及打印权限配置信息,利用应用程序接口对相关单元格的权限信息进行设置,可通过设置单元格颜色方式以突出需要处理的业务内容。
表单定制配置与解析运行方法中表单数据增删改过程如下:
1)在用户完成某个业务表单(如丽水市房地产业务受理单)的填写工作后,提交保存请求,表单解析引擎遍历配置主表VO.FKJK字段信息的表单单元格,并将单元格值赋予相对应的VO.FKJK对象,得到更新后的主表VO对象列表;
2)遍历配置子表VO.SJCL字段信息带有子表行标识的表单单元格,遍历子表行各个单元格并将值保存到VO.SJCL对象列表;
3)基于针对VO的数据访问层接口SaveTableData(object pMainTableObj)将主表VO对象更新到数据库中;
4)获取原有子表VO对象列表并利用针对VO的数据访问层DeleTableData(ArrayList pSubTableDeleObjList)在数据库中进行删除后,利用接口SaveTableData(ArrayList pSubTableObjList)将现有子表VO对象列表保存到数据库中,主要实现代码为:
ArrayList subTableDeleObjList=
this.grid1.GetSubTableDelObjList();
if(subTableDeleObjList!=null&&subTableDeleObjList.Count>0)
dalvo.DeleTableData(subTableDeleObjList);
ArrayList subTableObjList=this.grid1.GetSubTableObjList();
if(subTableObjList!=null&&subTableObjList.Count>0)
dalvo.SaveTableData(subTableObjList);
Claims (10)
1.基于VO的表单定制配置与解析运行方法,该方法包括以下三个部分:
步骤1实现数据库表值对象实体类的自动生成;
步骤2实现基于VO的设计时表单可视化定制与配置;
步骤3实现基于VO的运行时表单解析与运行。
2.根据权利要求1所述的基于VO的表单定制配置与解析运行方法,其特征是:
所述数据库表值对象实体类的自动生成,是指读取数据库字典表,并自动生成与业务数据表对应的VO实体类,作为后续步骤实施的基础;
所述基于VO的设计时表单可视化定制与配置,是基于步骤1中的VO实体类,在表单设计时,通过表单编辑器定制页面,关联表单单元格与VO实体类中的字段,以XML文件或数据库方式存储表单定制信息,通过接口参数设置对表单单元格的读写与打印权限进行配置,并保存配置信息;
所述基于VO的运行时表单解析与运行,是基于步骤1中的VO实体类与步骤2中的表单设计时所定义的表单定制与配置信息,在表单运行时,表单解析引擎读取并解析表单定制及配置信息,动态生成带有权限控制的表单对象,表单单元格的值所做的修改将反应到VO对象中,并通过VO对象传递到数据源中,从而实现数据的增删改操作。
3.根据权利要求1所述的基于VO的表单定制配置与解析运行方法,其特征是,所述步骤2中的表单定制与配置过程包括新建表单、表单定制、表单定制信息保存、表单配置、表单配置信息保存五个部分。
4.根据权利要求3所述的基于VO的表单定制配置与解析运行方法,其特征是,所述的表单定制与配置过程,新建表单时,根据业务需求将其与业务数据主表及子表VO实体类相关联,并保存关联关系至数据库中的表单实体类关联信息表中,需保存的信息包括:GRIDID、VOPATH、MAINTABLEVOLIST及SUBTABLEVOLIST;
5.根据权利要求3所述的基于VO的表单定制配置与解析运行方法,其特征是,所述的表单定制与配置过程,表单定制的过程如下:
1)利用表单编辑器初始化基本表单定义;
2)将主表及子表VO实体类中的字段与单元格进行绑定,并设置单元格类型;
3)为有约束需求的单元格进行约束设置。
6.根据权利要求3所述的基于VO的表单定制配置与解析运行方法,其特征是,所述的表单定制与配置过程,表单定制信息的保存过程如下:
1)新建用以保存表单定制信息的数据集,读取表单的XML架构文件至该数据集中,在该架构文件中,定义了Grid与Cell两个元素,其中,Grid由多个Cell所组成;
2)获取当前表单中单元格的行数和列数并赋值予Grid的rowcount与columncount字段;
3)按照从左至右、从上至下的顺序遍历表单中的单元格Grid[i,j],读取单元格Grid[i,j]的当前值、行跨度、列跨度、字体、字号、是否斜体、是否加粗、是否有下划线、字体颜色、背景色、文本对齐方式、边框线型及线宽、单元格类型、校验模式、校验类型、计算表达式信息,并依次赋值予Cell的name、caption、rownum、columnnum、datatype、datavalue、width、height、flag、rowspan、columnspan、fontName、fontSize、fontItalic、fontBold、fontUnderline、forecolor、backColor、textAlignment、leftlinecolor、leftlineDashStyle、leftlineWidth、rightlinecolor、rightlineDashStyle、rightlineWidth、toplinecolor、toplineDashStyle、toplineWidth、bottomlinecolor、bottomlineDashStyle、bottomlineWidth、cellType、comboboxInfo、dataValueType、validationPattern、validationType、printable、comboboxEditable、cellMask、expression字段;
4)至步骤3),表单的定制信息已读取到数据集中,将数据集中的当前数据写入数据库中的表单模板表中,记录项包括:GRIDID、GRIDCONTENT,或,写入指定的XML文件;
7.根据权利要求3所述的基于VO的表单定制配置与解析运行方法,其特征是,所述的表单定制与配置过程,表单配置过程如下:
1)将表单与任务关联;
2)按照从左至右、从上至下的顺序依次遍历表单中的单元格Grid[i,j],过滤出配置了VO字段信息的单元格并存放到带VO字段信息的单元格列表中;
3)对于上述单元格列表中每个单元格,设置当前任务中其是否可读、可写及可打印。
8.根据权利要求3所述的基于VO的表单定制配置与解析运行方法,其特征是,所述的表单定制与配置过程,表单配置信息保存是记录表单与任务关联信息到表单任务关联表中,记录项包括GRIDID和TASKID;记录权限配置信息至数据库中的权限配置表中,记录项包括:GRIDID、TASKID、IsReadable、IsEditable及IsPrintable。
9.根据权利要求1所述的基于VO的表单定制配置与解析运行方法,其特征是:所述步骤3中表单的解析算法流程如下:
1)根据表单ID在数据库GRID_VO_INFO表中查询为当前表单所配置的VOPATH、MAINTABLEVOLIST及SUBTABLEVOLIST;
2)根据表单实例ID、MAINTABLEVOLIST及SUBTABLEVOLIST,利用接口objectLoadMainTableData和ArrayList LoadSubTableData查询主表及子表数据,如查询结果非空,加载到主表VO对象列表和子表VO对象列表中;
3)根据表单ID在数据库GRID_TEMPLATE表中查询表单定制信息,初始化表单;读取GRID中的行列数,初始化空白表单,依次读取每个单元格Cell的定制信息并实例化,如果当前单元格为未配置VO字段信息的单元格,且非计算字段,则只需按照该单元格的配置信息初始化单元格,如果当前单元格为配置VO字段信息的单元格,除按照该单元格的配置信息初始化单元格外,还需将所配置的VO字段信息存储到单元格标签中,如单元格设置了校验规则,则为该单元格添加校验事件,如单元格为计算字段,则按照计算表达式计算出当前值并赋予单元格;
4)根据单元格标签中的VO字段信息与主表VO对象字段的匹配关系,将主表VO对象列表中的每一个主表对象的相关字段的值赋予与之对应的表单单元格;对于子表VO对象列表中的第一个VO对象,根据单元格标签中的VO字段信息与子表VO对象字段的匹配关系,将该子表VO对象的相关字段的值赋予与之对应的表单单元格,对于子表VO对象列表中的其他VO对象,依次在上一个VO对象所在行后面增加新行,并以上一行为模板设置新增行样式及相关信息,根据单元格标签中的VO字段信息与子表VO对象字段的匹配关系,将该子表VO对象的相关字段的值赋予与之对应的表单单元格;
5)根据GRIDID从数据库GRID_CONFIG表中获取单元格的读写及打印权限配置信息,利用应用程序接口对相关单元格的权限信息进行设置,可通过设置单元格颜色方式以突出需要处理的业务内容.
10.根据权利要求1所述的基于VO的表单定制配置与解析运行方法,其特征是:所述步骤3中表单数据增删改算法流程如下:
1)遍历配置主表VO字段信息的表单单元格,并将单元格值赋予相对应的主表VO对象,得到更新后的主表VO对象列表;
2)遍历配置子表VO字段信息带有子表行标识的表单单元格,遍历子表行各个单元格并将值保存到子表VO对象列表;
3)利用数据访问层接口SaveTableData将主表VO对象更新到数据库中;
4)获取原有子表VO对象列表并利用数据访问层接口DeleTableData在数据库中进行删除后,利用接口SaveTableData将现有子表VO对象列表保存到数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910034808 CN101706716B (zh) | 2009-09-08 | 2009-09-08 | 基于vo的表单定制配置与解析运行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910034808 CN101706716B (zh) | 2009-09-08 | 2009-09-08 | 基于vo的表单定制配置与解析运行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101706716A true CN101706716A (zh) | 2010-05-12 |
CN101706716B CN101706716B (zh) | 2013-04-03 |
Family
ID=42376942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910034808 Expired - Fee Related CN101706716B (zh) | 2009-09-08 | 2009-09-08 | 基于vo的表单定制配置与解析运行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101706716B (zh) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937463A (zh) * | 2010-09-10 | 2011-01-05 | 西安交通大学 | 一种用于工作流模型的表单自动生成方法 |
CN102044019A (zh) * | 2010-12-08 | 2011-05-04 | 北京物美商业集团股份有限公司 | 一种财务凭证生成系统和方法 |
CN102682126A (zh) * | 2012-05-16 | 2012-09-19 | 深圳市凯立德科技股份有限公司 | 一种表单数据的存取方法及装置 |
CN103064831A (zh) * | 2011-10-18 | 2013-04-24 | 金蝶软件(中国)有限公司 | 产品结构表的展开方法及系统 |
CN103544006A (zh) * | 2013-09-16 | 2014-01-29 | 青岛英网资讯股份有限公司 | 自定义表单的方法及表单绘制方法 |
CN103927353A (zh) * | 2014-04-10 | 2014-07-16 | 北京网秦天下科技有限公司 | 用于生成业务表的方法和设备 |
CN104239017A (zh) * | 2013-06-19 | 2014-12-24 | 深圳联友科技有限公司 | 一种配置及调用自定义表单的规则的方法和系统 |
CN104267949A (zh) * | 2014-09-25 | 2015-01-07 | 成都国科海博信息技术股份有限公司 | 表单设计器及表单设计方法 |
CN104331290A (zh) * | 2014-10-31 | 2015-02-04 | 北京思特奇信息技术股份有限公司 | 一种资源种类管理和页面展示的方法及系统 |
CN106294389A (zh) * | 2015-05-20 | 2017-01-04 | 上海纳鑫信息科技有限公司 | 一种实现自定义表单的方法及系统 |
CN103971036B (zh) * | 2013-01-28 | 2017-03-01 | 深圳学无国界教育科技有限公司 | 页面栏位权限控制系统及方法 |
CN106776986A (zh) * | 2016-12-06 | 2017-05-31 | 浪潮通用软件有限公司 | 一种可配置的表单扩展信息传递方法 |
CN107402729A (zh) * | 2016-05-20 | 2017-11-28 | 航天信息软件技术有限公司 | 打印模板构建方法及模板打印方法 |
CN108073398A (zh) * | 2017-12-22 | 2018-05-25 | 华北计算技术研究所(中国电子科技集团公司第十五研究所) | 一种可配置的通知单实现引擎及方法 |
WO2018103109A1 (zh) * | 2016-12-05 | 2018-06-14 | 国云科技股份有限公司 | 一种web页面管理系统及其实现方法 |
CN108628603A (zh) * | 2017-03-16 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 一种提供时间设定值的方法、装置、设备、以及存储介质 |
CN108959458A (zh) * | 2018-06-15 | 2018-12-07 | 南京国通智能科技有限公司 | 数据生成和使用方法、系统、介质及计算机设备 |
CN110222236A (zh) * | 2016-06-06 | 2019-09-10 | 福建榕基软件股份有限公司 | Xml报文模板的生成及更新方法及其系统 |
CN110290135A (zh) * | 2019-06-24 | 2019-09-27 | 四川新网银行股份有限公司 | 对复杂报文统一规范化处理方的方法及请求的数据流 |
CN110704039A (zh) * | 2019-09-30 | 2020-01-17 | 北京三快在线科技有限公司 | 应用开发过程中的配置数据处理方法以及装置 |
CN110738037A (zh) * | 2019-10-15 | 2020-01-31 | 深圳逻辑汇科技有限公司 | 用于自动生成电子表格的方法、装置、设备及存储介质 |
CN111708926A (zh) * | 2020-06-12 | 2020-09-25 | 北京思特奇信息技术股份有限公司 | 数据查询的配置化实现方法及系统 |
CN111737963A (zh) * | 2020-07-21 | 2020-10-02 | 平安国际智慧城市科技股份有限公司 | 基于配置文件的表单填写方法、装置和计算机设备 |
CN112257398A (zh) * | 2020-12-22 | 2021-01-22 | 广州思迈特软件有限公司 | 数据处理方法、用户终端、服务器及电子设备 |
CN112764744A (zh) * | 2021-01-25 | 2021-05-07 | 芝麻云信(武汉)科技有限公司 | 一种面向erp系统的接口服务设计方法 |
CN113391803A (zh) * | 2021-05-19 | 2021-09-14 | 成都易达数安科技有限公司 | 创建对象管理引擎的方法、装置、终端设备以及存储介质 |
CN114047855A (zh) * | 2021-11-18 | 2022-02-15 | 北京字跳网络技术有限公司 | 一种表单编辑方法、装置及终端设备 |
CN114443751A (zh) * | 2022-04-11 | 2022-05-06 | 四川互慧软件有限公司 | 面向数据库简单接口的开发方法 |
CN114706619A (zh) * | 2020-12-16 | 2022-07-05 | 武汉斗鱼鱼乐网络科技有限公司 | 配置信息的处理方法、装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7624114B2 (en) * | 2006-06-05 | 2009-11-24 | Microsoft Corporation | Automatically generating web forms from database schema |
CN101241434A (zh) * | 2008-03-04 | 2008-08-13 | 浪潮集团山东通用软件有限公司 | 表单自定义方法 |
CN101419552A (zh) * | 2008-12-03 | 2009-04-29 | 浪潮集团山东通用软件有限公司 | 一种通用业务数据采集表单的定义与生成方法 |
-
2009
- 2009-09-08 CN CN 200910034808 patent/CN101706716B/zh not_active Expired - Fee Related
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937463B (zh) * | 2010-09-10 | 2012-09-05 | 西安交通大学 | 一种用于工作流模型的表单自动生成方法 |
CN101937463A (zh) * | 2010-09-10 | 2011-01-05 | 西安交通大学 | 一种用于工作流模型的表单自动生成方法 |
CN102044019A (zh) * | 2010-12-08 | 2011-05-04 | 北京物美商业集团股份有限公司 | 一种财务凭证生成系统和方法 |
CN103064831A (zh) * | 2011-10-18 | 2013-04-24 | 金蝶软件(中国)有限公司 | 产品结构表的展开方法及系统 |
CN103064831B (zh) * | 2011-10-18 | 2016-01-13 | 金蝶软件(中国)有限公司 | 产品结构表的展开方法及系统 |
CN102682126A (zh) * | 2012-05-16 | 2012-09-19 | 深圳市凯立德科技股份有限公司 | 一种表单数据的存取方法及装置 |
CN102682126B (zh) * | 2012-05-16 | 2016-08-03 | 深圳市凯立德科技股份有限公司 | 一种表单数据的存取方法及装置 |
CN103971036B (zh) * | 2013-01-28 | 2017-03-01 | 深圳学无国界教育科技有限公司 | 页面栏位权限控制系统及方法 |
CN104239017A (zh) * | 2013-06-19 | 2014-12-24 | 深圳联友科技有限公司 | 一种配置及调用自定义表单的规则的方法和系统 |
CN104239017B (zh) * | 2013-06-19 | 2018-09-14 | 深圳联友科技有限公司 | 一种配置及调用自定义表单的规则的方法和系统 |
CN103544006B (zh) * | 2013-09-16 | 2016-08-17 | 青岛英网资讯股份有限公司 | 自定义表单的方法及表单绘制方法 |
CN103544006A (zh) * | 2013-09-16 | 2014-01-29 | 青岛英网资讯股份有限公司 | 自定义表单的方法及表单绘制方法 |
CN103927353A (zh) * | 2014-04-10 | 2014-07-16 | 北京网秦天下科技有限公司 | 用于生成业务表的方法和设备 |
CN104267949A (zh) * | 2014-09-25 | 2015-01-07 | 成都国科海博信息技术股份有限公司 | 表单设计器及表单设计方法 |
CN104331290A (zh) * | 2014-10-31 | 2015-02-04 | 北京思特奇信息技术股份有限公司 | 一种资源种类管理和页面展示的方法及系统 |
CN104331290B (zh) * | 2014-10-31 | 2017-10-17 | 北京思特奇信息技术股份有限公司 | 一种资源种类管理和页面展示的方法及系统 |
CN106294389A (zh) * | 2015-05-20 | 2017-01-04 | 上海纳鑫信息科技有限公司 | 一种实现自定义表单的方法及系统 |
CN107402729A (zh) * | 2016-05-20 | 2017-11-28 | 航天信息软件技术有限公司 | 打印模板构建方法及模板打印方法 |
CN107402729B (zh) * | 2016-05-20 | 2020-02-14 | 航天信息软件技术有限公司 | 打印模板构建方法及模板打印方法 |
CN110222236A (zh) * | 2016-06-06 | 2019-09-10 | 福建榕基软件股份有限公司 | Xml报文模板的生成及更新方法及其系统 |
WO2018103109A1 (zh) * | 2016-12-05 | 2018-06-14 | 国云科技股份有限公司 | 一种web页面管理系统及其实现方法 |
CN106776986A (zh) * | 2016-12-06 | 2017-05-31 | 浪潮通用软件有限公司 | 一种可配置的表单扩展信息传递方法 |
CN106776986B (zh) * | 2016-12-06 | 2019-12-03 | 浪潮通用软件有限公司 | 一种可配置的表单扩展信息传递方法 |
CN108628603A (zh) * | 2017-03-16 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 一种提供时间设定值的方法、装置、设备、以及存储介质 |
CN108073398A (zh) * | 2017-12-22 | 2018-05-25 | 华北计算技术研究所(中国电子科技集团公司第十五研究所) | 一种可配置的通知单实现引擎及方法 |
CN108959458A (zh) * | 2018-06-15 | 2018-12-07 | 南京国通智能科技有限公司 | 数据生成和使用方法、系统、介质及计算机设备 |
CN108959458B (zh) * | 2018-06-15 | 2022-02-18 | 南京国通智能科技有限公司 | 数据生成和使用方法、系统、介质及计算机设备 |
CN110290135A (zh) * | 2019-06-24 | 2019-09-27 | 四川新网银行股份有限公司 | 对复杂报文统一规范化处理方的方法及请求的数据流 |
CN110290135B (zh) * | 2019-06-24 | 2021-12-07 | 四川新网银行股份有限公司 | 对复杂报文统一规范化处理的方法及请求的数据流 |
CN110704039A (zh) * | 2019-09-30 | 2020-01-17 | 北京三快在线科技有限公司 | 应用开发过程中的配置数据处理方法以及装置 |
CN110738037A (zh) * | 2019-10-15 | 2020-01-31 | 深圳逻辑汇科技有限公司 | 用于自动生成电子表格的方法、装置、设备及存储介质 |
CN111708926A (zh) * | 2020-06-12 | 2020-09-25 | 北京思特奇信息技术股份有限公司 | 数据查询的配置化实现方法及系统 |
CN111708926B (zh) * | 2020-06-12 | 2023-06-13 | 北京思特奇信息技术股份有限公司 | 数据查询的配置化实现方法及系统 |
CN111737963A (zh) * | 2020-07-21 | 2020-10-02 | 平安国际智慧城市科技股份有限公司 | 基于配置文件的表单填写方法、装置和计算机设备 |
CN111737963B (zh) * | 2020-07-21 | 2020-12-04 | 平安国际智慧城市科技股份有限公司 | 基于配置文件的表单填写方法、装置和计算机设备 |
CN114706619A (zh) * | 2020-12-16 | 2022-07-05 | 武汉斗鱼鱼乐网络科技有限公司 | 配置信息的处理方法、装置、电子设备及存储介质 |
CN112257398A (zh) * | 2020-12-22 | 2021-01-22 | 广州思迈特软件有限公司 | 数据处理方法、用户终端、服务器及电子设备 |
CN112764744A (zh) * | 2021-01-25 | 2021-05-07 | 芝麻云信(武汉)科技有限公司 | 一种面向erp系统的接口服务设计方法 |
CN113391803A (zh) * | 2021-05-19 | 2021-09-14 | 成都易达数安科技有限公司 | 创建对象管理引擎的方法、装置、终端设备以及存储介质 |
CN113391803B (zh) * | 2021-05-19 | 2023-12-05 | 成都易达数安科技有限公司 | 创建对象管理引擎的方法、装置、终端设备以及存储介质 |
CN114047855A (zh) * | 2021-11-18 | 2022-02-15 | 北京字跳网络技术有限公司 | 一种表单编辑方法、装置及终端设备 |
CN114047855B (zh) * | 2021-11-18 | 2023-11-07 | 北京字跳网络技术有限公司 | 一种表单编辑方法、装置及终端设备 |
CN114443751A (zh) * | 2022-04-11 | 2022-05-06 | 四川互慧软件有限公司 | 面向数据库简单接口的开发方法 |
CN114443751B (zh) * | 2022-04-11 | 2022-12-30 | 四川互慧软件有限公司 | 面向数据库简单接口的开发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101706716B (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101706716B (zh) | 基于vo的表单定制配置与解析运行方法 | |
US11210456B2 (en) | Method relating to preparation of a report | |
CN107145480B (zh) | 一种基于Word进行XBRL报告编制的方法 | |
US6996589B1 (en) | System and method for database conversion | |
EP1381945B1 (en) | Method and system for reporting xml data based on precomputed context and a document object model | |
US7249316B2 (en) | Importing and exporting markup language data in a spreadsheet application document | |
US5181162A (en) | Document management and production system | |
CN103246733A (zh) | 一种基于元数据的动态表单系统及其生成方法 | |
CN104881275B (zh) | 一种电子报表生成方法及装置 | |
US20050154983A1 (en) | Document creation system and method using knowledge base, precedence, and integrated rules | |
CN103778107A (zh) | 一种基于excel快速动态生成表单的方法与平台 | |
CN102214243A (zh) | Xbrl分类标准版本管理系统 | |
CN101226573A (zh) | 一种控制电子文档的访问权限的方法 | |
US20050240562A1 (en) | Method, computer program product and device for importing a plurality of data sets into a system | |
CN114443006A (zh) | 一种基于模板自适应的软件设计方法 | |
CN111752999A (zh) | 一种配置化报表生成系统及方法 | |
US20070011177A1 (en) | Metadata-based form rendering and write-back | |
US7873902B2 (en) | Transformation of versions of reports | |
CN1967580B (zh) | 电子帐单的实现方法 | |
CN112949274A (zh) | 一种文档数据录入的方法及系统 | |
CN107609155B (zh) | 一种基于xbrl标准的数据资产化模型的构建方法 | |
GB2458692A (en) | A process for generating database-backed, web-based documents | |
US20040083219A1 (en) | Method and system for reducing code in an extensible markup language program | |
CN114281331A (zh) | 一种用于访问数据库的前后端代码文件的生成方法及装置 | |
CN102831228A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130403 Termination date: 20150908 |
|
EXPY | Termination of patent right or utility model |