CN105955680B - 一种支持动态附加扩展信息的单据打印方法 - Google Patents

一种支持动态附加扩展信息的单据打印方法 Download PDF

Info

Publication number
CN105955680B
CN105955680B CN201610260934.8A CN201610260934A CN105955680B CN 105955680 B CN105955680 B CN 105955680B CN 201610260934 A CN201610260934 A CN 201610260934A CN 105955680 B CN105955680 B CN 105955680B
Authority
CN
China
Prior art keywords
document
data
model
printing
print
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
CN201610260934.8A
Other languages
English (en)
Other versions
CN105955680A (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.)
Inspur General Software Co Ltd
Original Assignee
Inspur General Software 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 Inspur General Software Co Ltd filed Critical Inspur General Software Co Ltd
Priority to CN201610260934.8A priority Critical patent/CN105955680B/zh
Publication of CN105955680A publication Critical patent/CN105955680A/zh
Application granted granted Critical
Publication of CN105955680B publication Critical patent/CN105955680B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1242Image or content composition onto a page
    • G06F3/1243Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明公开了一种支持动态附加扩展信息的单据打印方法,其实现过程为:首先进行单据打印格式设置,基于单据本身的数据模型及其递归引用的其他模型,设置要打印的内容及其格式,并分析保存打印涉及的表及其字段信息;单据打印时,根据打印格式引用的数据,动态组织数据进行打印。本发明的一种支持动态附加扩展信息的单据打印方法与现有技术相比,无须更改或新建数据模型,可大大减少打印数据模型数量,并降低实施工作量,并且根据打印内容组织数据,从而显著提高性能,动态设置打印单据引用的字典及其他单据信息,并且根据打印内容动态组织数据进行打印,从而使软件产品更加符合使用者的要求,在一定程度上做到随需应变,实用性强,易于推广。

Description

一种支持动态附加扩展信息的单据打印方法
技术领域
本发明涉及计算机技术领域,具体地说是一种支持动态附加扩展信息的单据打印方法。
背景技术
现有的公共单据打印实现,基本上也是基于单据数据模型进行格式设置及组织打印数据进行打印。一般都存在以下两点局限:
灵活性差,不能自动设置单据的引用的其他字典或单据的信息,只能打印本单据数据模型上定义的表及字段。比如大部分单据都有审批流程,有的单位单据打印时需要打印部分单据审批过程数据。要满足这个需求,以目前主流的技术实现,需要对所有的需要打印审批过程的单据,再专门设置一个包含审批流程数据的模型,然后在新模型基础上定义打印格式,并组织数据。导致大量的数据模型定义,增加实施工作量,用户体验较差。
性能较差,组织数据时,根据表单模型取数,把不需要打印的内容也组织出来了,增加了数据库和应用服务器的压力,也增加了网络传输的压力。
基于此,本发明提供一种支持动态附加扩展信息的单据打印方法,实现更容易的打印单据引用的业务信息。
发明内容
本发明的技术任务是针对以上不足之处,提供一种支持动态附加扩展信息的单据打印方法。
一种支持动态附加扩展信息的单据打印方法,其实现过程为:
首先进行单据打印格式设置,基于单据本身的数据模型及其递归引用的其他模型,设置要打印的内容及其格式,并分析保存打印涉及的表及其字段信息;
单据打印时,根据打印格式引用的数据,动态组织数据进行打印。
还包括一单据打印数据组织单元,该单据打印数据组织单元在单据打印格式设置完成后,接收并根据传入的单据标识或条件、单据格式,组织打印数据,返回给客户端;客户端根据单据类型及单据标识或条件,提供选择打印格式、单据预览及打印服务。
所述单据打印格式设置的具体过程为:
首先,选择要进行打印格式设置的单据模型;
如果需要打印当前模型关联的其他模型,则选择关联的模型,把选择的模型自动挂接到当前模型上,通过关联的业务字段建立父子关系,重复执行该步骤,直到所有相关模型都已选择,最终形成新的完整的打印模型;
根据打印模型生成数据源,传递给打印设计器进行设计;
设计完成之后,保存格式时,分析打印内容,把其作为最终打印模型与打印格式一起保存到数据库里。
所述单据打印格式设置过程中,还附加单据数据模型的业务字段引用的字典或单据数据,并且支持继续递归引用。
附加字典或单据数据的过程为:
单据打印格式基于单据的数据模型进行设置;
单据数据模型中的数据项,使用业务字段进行描述,从而可以获取该数据项对应的字典或单据的模型;
单据打印格式设置时,选择单据数据模型中数据项对应的扩展业务信息,动态把其模型挂接到当前模型上,以便在格式上使用;
单据打印格式保存时,分析打印内容中使用的表及项目,并把结果保存到格式中,以便打印时直接使用;
单据打印格式数据以XML存放到数据库中。
单据打印服务的具体过程为:首先,根据传入格式标识,获取打印格式信息;然后,根据格式信息里的最终打印模型及传入的单据条件或单据标识,使用模型获取数据;然后,把数据以封装的打印数据源形式返回。
单据打印数据源使用封装的DataSet类型,表之间的关系使用Relation标识。
单据打印组织打印数据时,根据格式中保存的表、数据项、表之间的关系组织数据,即按打印内容组织数据。
返回的打印数据,即封装的DataSet类型中,包含的表、表之间的关系、表列信息是根据打印格式动态生成的。
本发明的一种支持动态附加扩展信息的单据打印方法和现有技术相比,具有以下有益效果:
本发明的一种支持动态附加扩展信息的单据打印方法,无须更改或新建数据模型,可大大减少打印数据模型数量,并降低实施工作量,并且根据打印内容组织数据,从而显著提高性能,动态设置打印单据引用的字典及其他单据信息,并且根据打印内容动态组织数据进行打印,从而使软件产品更加符合使用者的要求,在一定程度上做到随需应变,实用性强,易于推广。
附图说明
附图1为单据打印格式设置流程图。
附图2为单据打印数据组织过程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
如附图1、图2所示,本发明的一种支持动态附加扩展信息的单据打印方法,能够快速有效的设置打印单据引用的扩展信息,并基于此设置快速组织数据进行打印。
其实现过程为:
首先进行单据打印格式设置,基于单据本身的数据模型及其递归引用的其他模型,设置要打印的内容及其格式,并分析保存打印涉及的表及其字段信息;
单据打印时,根据打印格式引用的数据,动态组织数据进行打印。
还包括一单据打印数据组织单元,该单据打印数据组织单元在单据打印格式设置完成后,接收并根据传入的单据标识或条件、单据格式,组织打印数据,返回给客户端;客户端根据单据类型及单据标识或条件,提供选择打印格式、单据预览及打印服务。
所述单据打印格式设置的具体过程为:
首先,选择要进行打印格式设置的单据模型;
如果需要打印当前模型关联的其他模型,则选择关联的模型,把选择的模型自动挂接到当前模型上,通过关联的业务字段建立父子关系,重复执行该步骤,直到所有相关模型都已选择,最终形成新的完整的打印模型;
根据打印模型生成数据源,传递给打印设计器进行设计;
设计完成之后,保存格式时,分析打印内容,把其作为最终打印模型与打印格式一起保存到数据库里。
所述单据打印格式设置过程中,还附加单据数据模型的业务字段引用的字典或单据数据,并且支持继续递归引用。
附加字典或单据数据的过程为:
单据打印格式基于单据的数据模型进行设置;
单据数据模型中的数据项,使用业务字段进行描述,从而可以获取该数据项对应的字典或单据的模型;
单据打印格式设置时,选择单据数据模型中数据项对应的扩展业务信息,动态把其模型挂接到当前模型上,以便在格式上使用;
单据打印格式保存时,分析打印内容中使用的表及项目,并把结果保存到格式中,以便打印时直接使用;
单据打印格式数据以XML存放到数据库中。
单据打印服务的具体过程为:首先,根据传入格式标识,获取打印格式信息;然后,根据格式信息里的最终打印模型及传入的单据条件或单据标识,使用模型获取数据;然后,把数据以封装的打印数据源形式返回。
单据打印数据源使用封装的DataSet类型,表之间的关系使用Relation标识。
单据打印组织打印数据时,根据格式中保存的表、数据项、表之间的关系组织数据,即按打印内容组织数据,从而减少冗余的数据处理,并减少传输量;。
返回的打印数据,即封装的DataSet类型中,包含的表、表之间的关系、表列信息是根据打印格式动态生成的。
下边详细描述下实施本发明的技术方案:
单据打印格式设置部分。
以业务字段为基础的表单元数据模型,业务字段作为模型与模型之间关联的纽带,可通过属性组ID、属性组项目ID与其他模型建立关联,其存储结构如下:
根据模型和属性,自动挂接单据扩展信息的核心代码实现如下:
单据打印格式数据结构设计,其中打印数据模型在格式保存时进行分析动态生成(在设计模型基础上,删掉不打印的部分),用于打印时取数:
单据打印控件实现,本实施例里,继承自XtraReport控件,其主要添加方法及属性介绍如下:
单据打印数据源实现,此处使用单据数据源,在其基础上增加IDataDictionary接口实现,及部分属性方法,用于单据打印,此处仅列示打印相关部分:
单据打印数据组织单元,此处参见附图2说明,主要是根据格式保存的打印数据模型,使用公共表单的取数服务,直接取得数据。
单据打印服务,提供单据打印的公共服务,包括打印、预览、直接打印等方法,可直接集成于公共单据中,此部分与现有技术实现方案基本没有区别,不再详述。
本发明的方法可灵活附加主单据模型之外的附加信息,而不需要定义的专门用于特定打印格式的数据模型,可减少实施量,并大大减少系统中数据模型的数量。比如某军工客户需要打印全部业务单据的“审批过程”(单独模型),而挂审批流的单据模型上都有审批流程实例业务字段,其指向“审批过程”模型,则可以在打印单据设置时直接引用到“审批过程”数据(如审批人、审批时间、审批结论),而不需要每个单据再去设置一套数据模型用于打印。
打印格式保存时,分析打印内容,并与格式一起保存,组织数据时直接使用,可大大提高性能。若模型涉及多个数据库表,而实际打印只需部分表的部分列,现有的单据打印一般是根据单据模型取数,这样会把模型里的表和列都取出来,而本发明则仅需获取需要的数据,性能有显著提升。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (8)

1.一种支持动态附加扩展信息的单据打印方法,其特征在于, 其实现过程为:
首先进行单据打印格式设置,基于单据本身的数据模型及其递归引用的其他模型,设置要打印的内容及其格式,并分析保存打印涉及的表及其字段信息;
单据打印时,根据打印格式引用的数据,动态组织数据进行打印;
所述单据打印格式设置的具体过程为:
首先,选择要进行打印格式设置的单据模型;
如果需要打印当前模型关联的其他模型,则选择关联的模型,把选择的模型自动挂接到当前模型上,通过关联的业务字段建立父子关系,重复执行该步骤,直到所有相关模型都已选择,最终形成新的完整的打印模型;
根据打印模型生成数据源,传递给打印设计器进行设计;
设计完成之后,保存格式时,分析打印内容,把其作为最终打印模型与打印格式一起保存到数据库里。
2.根据权利要求1所述的一种支持动态附加扩展信息的单据打印方法,其特征在于,还包括一单据打印数据组织单元,该单据打印数据组织单元在单据打印格式设置完成后,接收并根据传入的单据标识或条件、单据格式,组织打印数据,返回给客户端;客户端根据单据类型及单据标识或条件,提供选择打印格式、单据预览及打印服务。
3.根据权利要求2所述的一种支持动态附加扩展信息的单据打印方法,其特征在于,所述单据打印格式设置过程中,还附加单据数据模型的业务字段引用的字典或单据数据,并且支持继续递归引用。
4.根据权利要求3所述的一种支持动态附加扩展信息的单据打印方法,其特征在于,附加字典或单据数据的过程为:
单据打印格式基于单据的数据模型进行设置;
单据数据模型中的数据项,使用业务字段进行描述,从而可以获取该数据项对应的字典或单据的模型;
单据打印格式设置时,选择单据数据模型中数据项对应的扩展业务信息,动态把其模型挂接到当前模型上,以便在格式上使用;
单据打印格式保存时,分析打印内容中使用的表及项目,并把结果保存到格式中,以便打印时直接使用;
单据打印格式数据以XML存放到数据库中。
5.根据权利要求2所述的一种支持动态附加扩展信息的单据打印方法,其特征在于,单据打印的具体过程为:首先,根据传入格式标识,获取打印格式信息;然后,根据格式信息里的最终打印模型及传入的单据条件或单据标识,使用模型获取数据;然后,把数据以封装的打印数据源形式返回。
6.根据权利要求5所述的一种支持动态附加扩展信息的单据打印方法,其特征在于,单据打印数据源使用封装的DataSet类型,表之间的关系使用Relation标识。
7.根据权利要求5所述的一种支持动态附加扩展信息的单据打印方法,其特征在于,单据打印组织打印数据时,根据格式中保存的表、数据项、表之间的关系组织数据,即按打印内容组织数据。
8.根据权利要求6所述的一种支持动态附加扩展信息的单据打印方法,其特征在于,返回的打印数据,即封装的DataSet类型中,包含的表、表之间的关系、表列信息是根据打印格式动态生成的。
CN201610260934.8A 2016-04-25 2016-04-25 一种支持动态附加扩展信息的单据打印方法 Active CN105955680B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610260934.8A CN105955680B (zh) 2016-04-25 2016-04-25 一种支持动态附加扩展信息的单据打印方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610260934.8A CN105955680B (zh) 2016-04-25 2016-04-25 一种支持动态附加扩展信息的单据打印方法

Publications (2)

Publication Number Publication Date
CN105955680A CN105955680A (zh) 2016-09-21
CN105955680B true CN105955680B (zh) 2018-09-25

Family

ID=56915690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610260934.8A Active CN105955680B (zh) 2016-04-25 2016-04-25 一种支持动态附加扩展信息的单据打印方法

Country Status (1)

Country Link
CN (1) CN105955680B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733332B (zh) * 2018-06-19 2021-04-16 浪潮通用软件有限公司 一种通用的打印模板元数据设计方法
CN111756799B (zh) * 2020-05-20 2023-04-07 拉扎斯网络科技(上海)有限公司 一种打印信息的处理方法及装置
CN112416267A (zh) * 2020-10-30 2021-02-26 山东浪潮通软信息科技有限公司 一种可配置的打印数据处理方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706720A (zh) * 2009-11-23 2010-05-12 浪潮集团山东通用软件有限公司 一种运行时根据用户自定义信息进行界面展示方法
CN103246733A (zh) * 2013-05-13 2013-08-14 浪潮集团山东通用软件有限公司 一种基于元数据的动态表单系统及其生成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5490757B2 (ja) * 2011-07-26 2014-05-14 京セラドキュメントソリューションズ株式会社 プリンタドライバ及びこれを用いた印刷方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706720A (zh) * 2009-11-23 2010-05-12 浪潮集团山东通用软件有限公司 一种运行时根据用户自定义信息进行界面展示方法
CN103246733A (zh) * 2013-05-13 2013-08-14 浪潮集团山东通用软件有限公司 一种基于元数据的动态表单系统及其生成方法

Also Published As

Publication number Publication date
CN105955680A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
CN105359144B (zh) 用于意图查询的自然语言搜索结果
JP5336391B2 (ja) 構造化された地理的なデータの検索
DE102017005963A1 (de) Bereitstellen von relevanten Videoszenen in Reaktion auf eine Videosuchabfrage
CN108463814A (zh) 一种医学图像标注方法及系统
CN105955680B (zh) 一种支持动态附加扩展信息的单据打印方法
CN105719329B (zh) 记账凭证生成方法和系统
CN110362727A (zh) 用于搜索系统的第三方搜索应用
CN107506383B (zh) 一种审计数据处理方法和计算机设备
CN107092625A (zh) 数据配置方法、数据处理方法及装置
CN101477527B (zh) 一种检索多媒体资源的方法及装置
KR101475335B1 (ko) 데이터베이스 검색에 있어 조회 향상
CN103885985B (zh) 微博实时检索方法和装置
CN107229718A (zh) 处理报表数据的方法和装置
CN110147361A (zh) 大数据环境下实现主数据编码规则维护功能的系统及其方法
KR20210000952A (ko) 지식그래프 색인 방법 및 장치
US20110184956A1 (en) Accessing digitally published content using re-indexing of search results
CN105930174B (zh) 一种图形化页面程序差异比较方法与系统
CN107766396A (zh) 资源数据管理方法及装置
CN109830285A (zh) 一种医学影像文件处理方法和装置
CN110298692A (zh) 多渠道顾客数据统一管理的方法、系统及存储介质
CN109919433A (zh) 订单信息生成方法、装置及计算机设备
CN106503038B (zh) 一种自动缓存网络请求返回数据的方法及系统
JP3683481B2 (ja) 画像検索方法および装置と画像検索プログラムを記録した記録媒体
US7953761B2 (en) System, method, and apparatus for retrieving structured document and apparatus for managing structured document
CN109117427A (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
GR01 Patent grant
GR01 Patent grant