CN114722790B - 一种非嵌入式的全面预算管理方法和系统 - Google Patents
一种非嵌入式的全面预算管理方法和系统 Download PDFInfo
- Publication number
- CN114722790B CN114722790B CN202210449331.8A CN202210449331A CN114722790B CN 114722790 B CN114722790 B CN 114722790B CN 202210449331 A CN202210449331 A CN 202210449331A CN 114722790 B CN114722790 B CN 114722790B
- Authority
- CN
- China
- Prior art keywords
- dimension
- report
- data
- axis
- filling
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Abstract
本发明涉及一种非嵌入式的全面预算管理方法和系统,属于信息管理技术领域,解决了现有功能实现对浏览器依赖大且操作不灵活的问题。包括接收全面预算的命令,获取参数信息,打开WPS客户端并在全面预算功能区中显示对应的按钮;接收新建报表的命令,获取页轴起始位置和列轴起始位置,以及基于选择的数据立方体,配置的页轴、列轴和行轴的维度和各维度成员,生成布局模板信息,获取各维度填充起始位置,填充新建的报表;接收保存报表的命令,上传报表文件;接收刷新数据的命令,校验实际布局数据与布局模板信息是否一致,如果一致,获取报表数据并将报表数据批量赋值在数据区域中;接收保存数据的命令,获取报表数据进行保存。实现了灵活的预算管理。
Description
技术领域
本发明涉及信息管理技术领域,尤其涉及一种非嵌入式的全面预算管理方法和系统。
背景技术
随着预算报表样式越来越复杂,以及预算管理涉及的组织和业务越来越多,各企业对全面预算管理的需求也越来越难满足。
现有可采用套装软件进行预算管理,有研发中心的企业多选择自主研发预算管理系统,对于预算报表的实现有基于开源报表组件,或者购买成熟的报表产品实现复杂的预算报表编制。
但是,成熟的套装软件和报表产品很难结合业务需求的变化扩展开发,通常以自定义功能开发的形式代替原软件功能,面临集成和维护困难的问题,界面风格也很难统一;而且对于保密级别较高的企业在国产化的要求下对套装软件和报表软件的选择也存在很大的限制;另外,采用开源报表组件自研,需要花费很多时间和人力成本学习,修复其中的技术缺陷,同时还要解决各种浏览器的支持问题,开发周期长;系统用户也需要学习不断升级的报表功能的操作方法。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种非嵌入式的全面预算管理方法和系统,用以解决现有功能实现对浏览器依赖大且操作不灵活的问题。
一方面,本发明实施例提供了一种非嵌入式的全面预算管理方法,包括如下步骤:
接收全面预算的命令,获取参数信息,打开WPS客户端并在其中的全面预算功能区中显示与参数信息中的用户权限对应的按钮;
接收按钮中新建报表的命令,在报表布局配置界面中,获取配置的页轴起始位置和列轴起始位置,以及,基于选择的数据立方体,配置的页轴、列轴和行轴的维度和各维度成员,生成布局模板信息;根据布局模板信息,获取各维度填充起始位置,填充新建的报表;接收按钮中保存报表的命令,上传当前报表的报表文件;
接收按钮中刷新数据的命令,校验当前报表的实际布局数据与布局模板信息是否一致,如果一致,基于布局模板信息中的数据立方体,获取报表数据,并将报表数据批量赋值在当前报表的数据区域中;接收按钮中保存数据的命令,获取当前报表的报表数据进行保存。
基于上述方法的进一步改进,全面预算功能区是通过集成全面预算管理对应的WPS加载项而扩展的自定义功能区,其中的按钮包括:新建报表、保存报表、刷新数据和保存数据。
基于上述方法的进一步改进,打开WPS客户端并在其中的全面预算功能区中显示与参数信息中的用户权限对应的按钮,包括:
启动本地WPS客户端,读取本地WPS客户端的publish.xml文件,加载所有WPS加载项,获取全面预算功能区的按钮;
调用参数信息中的加载项函数,根据用户权限中用户角色被授予的预算按钮权限,设置全面预算功能区中对应的按钮可用,并将用户权限保存至WPS的存储对象中。
基于上述方法的进一步改进,根据布局模板信息,获取各维度填充起始位置,包括:
以页轴起始位置的单元格,作为页轴的维度名称填充起始位置;以页轴起始位置向右移动1列的单元格,作为页轴的维度成员填充起始位置;
以列轴起始位置为起点,向下移动与列轴维度数量相同的单元格之后得到的单元格,作为行轴的维度成员填充起始位置;
以列轴起始位置为起点,向右移动与行轴维度数量相同的单元格后得到的单元格,作为列轴的维度成员填充起始位置。
基于上述方法的进一步改进,填充新建的报表,包括:
分别根据预设的单元格位置,填充报表ID和数据立方体ID;
根据页轴的维度名称填充起始位置和页轴的维度数量,逐个向下填充页轴的维度名称,根据页轴的维度成员填充起始位置,以[页轴的维度ID].[页轴的维度成员ID]的格式,逐个向下填充页轴维度的维度成员;
根据行轴的维度成员填充起始位置,依次向右作为每个行轴维度的填充列,其中每一列以[行轴的维度ID].[行轴维度的维度成员ID]的格式,逐个向下填充当前行轴维度的维度成员;
组合各列轴维度的维度成员,得到多组不同的维度成员组合,作为待填充维度成员,根据列轴的维度成员填充起始位置,依次向下作为每个列轴维度的填充行,其中每一行以[列轴的维度ID].[列轴维度的待填充维度成员ID]的格式,逐个向右填充当前列轴维度的待填充维度成员,最终使得每一列对应一个维度成员组合。
基于上述方法的进一步改进,上传当前报表的报表文件,是以当前报表的报表ID作为报表文件名,以xls作为报表文件的后缀名,上传至服务器预置目录中。
基于上述方法的进一步改进,当前报表的实际布局数据根据如下方法获取:
根据各维度填充起始位置,按照填充新建的报表的方式,依次获取单元格的值,直至单元格的值为空,将获取到的单元格的值作为各维度成员的参数值,得到当前报表的实际布局数据。
基于上述方法的进一步改进,校验当前报表的实际布局数据与布局模板信息是否一致,包括:
对实际布局数据中各维度成员的参数值去重,得到各维度的实际参数值;
校验各维度实际的参数值的数量,与布局模板信息中各维度成员的数量是否一致,以及,
分别校验各维度的实际参数值,是否存在于布局模板信息中各维度成员中。
基于上述方法的进一步改进,基于布局模板信息中的数据立方体,获取报表数据,并将报表数据批量赋值在当前报表的数据区域中,包括:
基于布局模板信息中的数据立方体,以当前报表实际布局数据中每行的行轴维度成员和每列的列轴维度成员以及页轴的各维度成员的参数值作为每个单元格的筛选条件进行查询,将查询结果作为单元格的数据,得到报表数据;
根据列轴的维度成员填充起始位置,以及报表数据的行数和列数,得到报表的数据区域,批量赋值报表数据。
另一方面,本发明实施例提供了一种非嵌入式的全面预算管理系统,包括:
全面预算启动模块,用于接收全面预算的命令,获取参数信息,打开WPS客户端并在其中的全面预算功能区中显示与参数信息中的用户权限对应的按钮;
报表布局设计模块,用于接收按钮中新建报表的命令,在报表布局配置界面中,获取配置的页轴起始位置和列轴起始位置,以及,基于选择的数据立方体,配置的页轴、列轴和行轴的维度和各维度成员,生成布局模板信息;根据布局模板信息,获取各维度填充起始位置,填充新建的报表;接收按钮中保存报表的命令,上传当前报表的报表文件;
报表数据管理模块,用于接收按钮中刷新数据的命令,校验当前报表的实际布局数据与布局模板信息是否一致,如果一致,基于布局模板信息中的数据立方体,获取报表数据,并将报表数据批量赋值在当前报表的数据区域中;接收按钮中保存数据的命令,获取当前报表的报表数据进行保存。
与现有技术相比,本发明至少可实现如下有益效果之一:
1、使用户以熟悉的电子表格操作方式完成预算报表的布局设计和预算数据填报,无缝集成EXCEL的文本格式及快捷键的处理,通过WPS加载项扩展全面预算管理功能区,集成在WPS客户端的菜单栏,仅需对扩展功能进行培训,极大地减少培训时间,降低了实施难度;
2、无需关注浏览器兼容问题,采用WPS电子表格自带的保存方式,将预算报表暂存至本地,全程无需同数据库及应用服务器进行交互,编制完成后,再保存至服务器中,提高了整体的编制效率;
3、通过页轴、行轴和列轴的配置,将数据立方体的维度和成员渲染在报表中,便于用户在一个报表文件既可配置报表布局,也可展示出实际数据,提高了配置和调整效率。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例1中非嵌入式的全面预算管理方法流程图;
图2为本发明实施例1中报表布局设计示例图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
实施例1
本发明的一个具体实施例,公开了一种非嵌入式的全面预算管理方法,通过在本地WPS客户端集成全面预算功能,使用户以熟悉的电子表格操作方式完成预算报表的布局设计和预算数据填报。如图1所示,该方法包括如下步骤:
S11:接收全面预算的命令,获取参数信息,打开WPS客户端并在其中的全面预算功能区中显示与参数信息中的用户权限对应的按钮;
需要说明的是,在进行全面预算之前,需要开发和部署全面预算管理对应的WPS加载项,并集成至WPS客户端。
具体来说,通过自定义WPS加载项的方法,开发全面预算管理的WPS加载项,扩展出全面预算功能区,其中的按钮包括:新建报表、保存报表、刷新数据和保存数据。
示例性地,在WPS的ribbon.xml文件中,采用通用的CustomUI标准,以tab标签设置自定义功能区为“全面预算”,以button标签设置其中的每个按钮,并通过按钮的onAction属性调用javaScript的触发事件,实现对应的按钮功能。
通过wpsjs工具包的wpsjs publish命令,对开发的全面预算管理的WPS加载项目录打包,将生成的文件夹下的所有文件部署到打包时填写服务器地址中。提供给用户对应的publish.html地址,用户在浏览器中打开publish.html文件,安装和启用全面预算管理的WPS加载项,在本地WPS客户端目录中自动生成publish.xml文件,完成全面预算功能与WPS客户端的集成。
在进行全面预算管理时,用户登录进入可进行预算管理的系统,登录成功后获取用户ID、用户名等用户基础信息,并根据用户ID获取用户所属岗位和角色,以及各角色可访问的权限,放入缓存中的用户权限信息中。
当需要进行全面预算时,从当前已登录系统中通过HTTP协议发送请求,调用WPS的WpsInvoke.InvokeAsHttp接口方法,传入的参数信息包括:加载项类型、加载项名称、加载项函数和加载项函数所需要的参数。其中,加载项类型和加载项名称与步骤S10中部署时指定的类型与名称一致,加载项函数所需要的参数是缓存中的用户权限信息。
那么,打开WPS客户端并在其中的全面预算功能区中显示与参数信息中的用户权限对应的按钮,包括:
启动本地WPS客户端,读取本地WPS客户端的publish.xml文件,加载所有WPS加载项,获取全面预算功能区的按钮;
调用参数信息中的加载项函数,根据用户权限中用户角色被授予的预算按钮权限,设置全面预算功能区中对应的按钮可用,并将用户权限保存至WPS的存储对象中。
示例性地,有些用户只有设计角色,那么登录后打开的WPS客户端中只有新建报表和保存报表的按钮可用,刷新数据和保存数据的按钮不可用。
需要说明的是,WPS的存储对象即为PluginStorage对象,每一个WPS加载项都只有一个PluginStorage实例对象,以键值对的形式在PluginStorage中存储用户权限,便于在全面预算功能区中各按钮的Web页面之间共享用户权限信息。
优选地,通过定时器检测全面预算管理的WPS加载项的静默时间,如果达到30分钟,则清空PluginStorage中存储的用户权限信息,并将全面预算功能区中的按钮置灰不可用。需要用户重新登录到原系统中,再从原系统打开WPS客户端操作全面预算的功能,提高操作的安全性。
S12:接收按钮中新建报表的命令,在报表布局配置界面中,获取配置的页轴起始位置和列轴起始位置,以及,基于选择的数据立方体,配置的页轴、列轴和行轴的维度和各维度成员,生成布局模板信息;根据布局模板信息,获取各维度填充起始位置,填充新建的报表;接收按钮中保存报表的命令,上传当前报表的报表文件;
需要说明的是,接收按钮中新建报表的命令,弹出报表布局配置界面,填写报表名称,选择报表分组,并根据用户权限中的岗位,获取有权限操作的数据立方体作为选择列表,若用户所属岗位未授予数据立方体,则获取所有数据立方体作为选择列表,从选择列表中选择1个数据立方体关联当前新建的报表。
需要说明的是,数据立方体包括数据的多个维度,每个维度包括1个或多个维度成员,根据1个或多个维度成员可查询到每个数据立方体中固定字段的数值。报表分组是从业务角度对报表进行分类。
选择数据立方体后,数据立方体的维度以及每个维度下的成员以列表形式展示,分别选择维度和成员添加到页轴、行轴和列轴中。需要注意的是,数据立方体的所有维度都需要被选择,但是各维度下的成员可以根据业务需要进行选择。
示例性地,配置行轴的维度为预算科目,其成员是与当前报表需求对应的科目项目;配置列轴的维度为审计线索和时间,审计线索维度的成员是实际金额和预算金额,时间维度的成员是2020年和2021年;数据立方体的其它维度配置为页轴,每个页轴维度选择1个成员。
同时,在报表布局配置界面中,配置页轴起始位置和列轴起始位置。示例性地,页轴起始位置为B2,列轴起始位置为E21。
配置完成后,生成布局模板信息存储至数据库中,包括:唯一的报表ID,数据立方体ID,报表分组ID,页轴起始位置,列轴起始位置,页轴、列轴和行轴的维度和各维度成员。
根据布局模板信息,获取各维度填充起始位置,包括:
以页轴起始位置的单元格,作为页轴的维度名称填充起始位置;以页轴起始位置向右移动1列的单元格,作为页轴的维度成员填充起始位置;
以列轴起始位置为起点,向下移动与列轴维度数量相同的单元格之后得到的单元格,作为行轴的维度成员填充起始位置;
以列轴起始位置为起点,向右移动与行轴维度数量相同的单元格后得到的单元格,作为列轴的维度成员填充起始位置。
示例性地,配置的页轴起始位置为B2,列轴起始位置为E21,从数据立方体中选择了2个维度作为列轴维度,选择了1个维度作为行轴维度,那么页轴的维度名称填充起始位置为B2,页轴的维度成员填充起始位置为C2,行轴的维度成员填充起始位置为E23,列轴的维度成员填充起始位置为F21。
根据获取的各维度填充起始位置,填充新建的报表,包括:
①分别根据预设的单元格位置,填充报表ID和数据立方体ID;
示例性地,通过wps.EtApplication().ActiveSheet.Range(“A1”).Value,在当前报表的A1单元格中填充数据立方体ID,同理,在B1单元格中填充报表ID。
②根据页轴的维度名称填充起始位置和页轴的维度数量,逐个向下填充页轴的维度名称,根据页轴的维度成员填充起始位置,以[页轴的维度ID].[页轴的维度成员ID]的格式,逐个向下填充页轴维度的维度成员;
示例性地,页轴起始位置为B2,页轴维度数量是10,则从B2开始向下到B11填充页轴的维度名称,从C2开始向下到C11填充页轴维度的维度成员。
③根据行轴的维度成员填充起始位置,依次向右作为每个行轴维度的填充列,其中每一列以[行轴的维度ID].[行轴维度的维度成员ID]的格式,逐个向下填充当前行轴维度的维度成员;
示例性地,行轴的维度成员填充起始位置为E23,行轴的维度数量是1,每个行轴维度的维度成员数量是20,则从E23开始向下到E42逐个填充20个行轴维度的维度成员:[99793].[CA365001],[99793].[CA365014],[99793].[CA365015],……,[99793].[CA333004]。
④组合各列轴维度的维度成员,得到多组不同的维度成员组合,作为待填充维度成员,根据列轴的维度成员填充起始位置,依次向下作为每个列轴维度的填充行,其中每一行以[列轴的维度ID].[列轴维度的待填充维度成员ID]的格式,逐个向右填充当前列轴维度的待填充维度成员,最终使得每一列对应一个维度成员组合。
需要说明的是,根据配置的列轴的维度和维度成员,互相组合得到多组不同的维度成员组合,使填充后每一列的维度成员对应不同的组合。如表1所示,列轴的维度为审计线索(维度ID是[82491])和时间(维度ID是[29458]),则分为两行填充,其中审计线索维度的成员是实际金额(维度成员ID是[PFJE])和预算金额(维度成员ID是[BUDGET]),时间维度的成员是2020年(维度成员ID是[2020.INP])和2021年(维度成员ID是[2021.INP]),则组合得到4列,逐个向右填充在每个列轴所在行中。
表1列轴的维度和待填充维度成员示例表
[82491].[PFJE] | [82491].[PFJE] | [82491].[BUDGET] | [82491].[BUDGET] |
[29458].[2020.INP] | [29458].[2021.INP] | [29458].[2020.INP] | [29458].[2021.INP] |
示例性地,列轴的维度成员填充起始位置为F21,列轴的维度数量是2,每个列轴维度的维度成员是2,则从F21开始向右到I21填充第1个列轴维度的维度成员,从F22开始向右到I22填充第2个列轴维度的维度成员。
优选地,在报表数据中除了在列轴的维度成员下面显示数值之外,还会在数值的左侧显示出行轴维度成员的中文信息,因此根据配置的行轴维度数量,在填充每个列轴维度的待填充维度成员时,会留出对应的列,用于显示行轴维度成员的中文信息。本实施例不限制具体的实现方式,可以在获取各列轴维度的待填充维度成员时,增加组合,其中以预设的列轴维度成员ID表示该列对应的是行轴维度成员的中文信息,也可以右移对应的列后,再进行填充。
自动填充完新建的报表后,用户再增加标题、表格、表头等静态文字信息和样式,也可以对自动填充的行轴和列轴维度成员单元格的位置进行调整。
图2是一个根据配置生成的报表文件示例图,在图中标注了页轴起始位置、列轴起始位置、页轴、行轴和列轴的显示区域,以及初始的数据区域。列轴中第一列的维度成员组合中以[name]作为预设的列轴维度成员ID,在获取报表数据时,当识别到包含[name]将获取行轴维度成员的中文信息作为该列单元格的数据。图2中的报表标题和表头是手工配置,用户也可以增加其它信息,使用WPS自带公式和样式。
当用户确定了报表布局后,点击按钮中的保存报表按钮,WPS客户端接收按钮中保存报表的命令,上传当前报表的报表文件,以报表ID作为报表文件名,以xls作为报表文件的后缀,存储至服务器预置目录中。
本实施例中也可以采用WPS表格自带的保存方式,将预算报表暂存至本地,全程无需同数据库及应用服务器进行交互,编制完成后,再保存至服务器中,提高了整体的编制效率。
S13:接收按钮中刷新数据的命令,校验当前报表的实际布局数据与布局模板信息是否一致,如果一致,基于布局模板信息中的数据立方体,获取报表数据,并将报表数据批量赋值在当前报表的数据区域中;接收按钮中保存数据的命令,获取当前报表的报表数据进行保存。
需要说明的是,在获取报表数据之前,为了避免用户在调整报表布局和样式时对各维度成员的错误修改,确保数据获取的准确性,会校验当前报表的实际布局数据与配置时的布局模板信息是否一致。
具体来说,当前报表的实际布局数据根据如下方法获取:
根据各维度填充起始位置,按照填充新建的报表的方式,依次获取单元格的值,直至单元格的值为空,将获取到的单元格的值作为各维度成员的参数值,得到当前报表的实际布局数据。
校验当前报表的实际布局数据与布局模板信息是否一致,包括:
①对实际布局数据中各维度成员的参数值去重,得到各维度的实际参数值;
需要说明的是,从表1中可知,当配置了多个列轴维度成员,因维度成员间的组合,使得报表中列轴维度的维度成员的参数值存在重复,因此,在校验时需要去重后再比对。
②校验各维度的实际参数值的数量,与布局模板信息中各维度成员的数量是否一致,以及,
③分别校验各维度的实际参数值,是否存在于布局模板信息中各维度成员中。
如果校验失败,返回异常提醒,如果校验通过,则基于布局模板信息中的数据立方体,获取报表数据,并将报表数据批量赋值在当前报表的数据区域中。具体来说,包括:
基于布局模板信息中的数据立方体,以当前报表实际布局数据中每行的行轴维度成员和每列的列轴维度成员以及页轴的各维度成员的参数值作为每个单元格的筛选条件进行查询,将查询结果作为单元格的数据,得到报表数据;
具体来说,每个行轴与每个列轴交叉对应的单元格的数据,是以页轴的各维度成员的参数值作为基础的筛选条件,再加上当前行轴的维度成员的参数值,和当前列轴维度成员的参数值,一起作为筛选条件进行查询,查询字段对应数据立方体中的固定字段,查询结果为单元格的数据。
根据列轴的维度成员填充起始位置,以及报表数据的行数和列数,得到报表的数据区域,批量赋值报表数据。
与现有技术相比,本实施例中页轴、行轴和列轴维度的维度成员用于查询报表数据,查询出来的报表数据并不会覆盖各维度成员,用户可通过隐藏行列的方式,将各维度和维度成员隐藏不显示。这种方式便于用户在一个报表文件既可配置报表布局,也可展示出实际数据,提高了配置和调整效率。
需要说明的是,基于行轴的维度成员填充起始位置,根据行轴的维度数量,向右移动得到的单元格,作为报表的数据区域的起始位置;根据报表数据的列数和行数,分别向右和向下移动报表明细数据区域的起始位置,得到报表的数据区域的结束位置。
示例性地,行轴的维度成员填充起始位置是E23,行轴的维度数量是1,则报表的数据区域的起始位置是F23,报表数据有5列20行,则报表的数据区域的结束位置是J42,将得到的报表数据赋值给wps.EtApplication().ActiveSheet.Range(“F23:J42”).Value实现批量赋值。
优选地,为了提高数据区域的样式配置,自定义了批量样式设置公式HTCopyRange,只需在一个单元格中使用批量样式配置公式,就可以根据公式中指定区域的样式,渲染报表的数据区域。具体来说,包括:
接收按钮中刷新数据的命令,在报表文件的预置范围内获取单元格的公式,并识别是否为HTCopyRange公式;如果是HTCopyRange公式,则在批量赋值报表数据后,将公式中配置的区域的样式复制到数据区域中,否则,不进行样式复制。其中,样式包括字体、字体颜色、背景色、边框和WPS公式。
示例性地,公式的预置范围是报表文件的第2行到第7行,调用wps的wps.EtApplication().ActiveSheet.Range().Formula方法依次循环,获取每个单元格的公式,如果获取到公式,则识别是否为HTCopyRange公式,如果是,则进行复制。比如,在E3单元格中使用了批量样式配置公式“=HTCopyRange(F3,J3)”,表示将{F3:J3}区域的样式复制到数据区域中。则在批量赋值报表数据时,通过调用wps.EtApplication().ActiveSheet.Range(“F3:J3”).Copy(ActiveSheet.Range(“F23:J42”))将{F3:J3}区域的样式的复制到{F23:J42}数据区域中。
保存数据时,获取当前报表的报表数据进行保存,在保存前同样可以先校验当前报表的实际布局数据与布局模板信息是否一致,如果一致,再进行数据保存,否则返回异常提醒。
优选地,扩展的全面预算功能区中的按钮还包括:编辑报表和报表库。具体来说,包括:
接收按钮中编辑报表的命令,根据当前报表的布局模板信息,在报表布局配置界面中显示出所配置的页轴起始位置和列轴起始位置,以及页轴、列轴和行轴的维度和各维度成员,根据编辑后的信息更新布局模板信息,并重新填充当前报表;
接收按钮中报表库的命令,在报表库界面中,根据用户权限获取并显示报表文件列表和报表分组信息,根据选择的报表文件的报表ID,打开报表文件。
示例性地,根据报表文件上传的服务器访问地址,拼接报表ID,得到报表文件对应的下载地址,再传入wps.EtApplication().Workbooks.openFromUrl()方法中,将下载的报表文件加载至WPS客户端中。
与现有技术相比,本实施例提供的非嵌入式的全面预算管理方法使用户以熟悉的电子表格操作方式完成预算报表的布局设计和预算数据填报,无缝集成EXCEL的文本格式及快捷键的处理,通过WPS加载项扩展全面预算管理功能区,集成在WPS客户端的菜单栏,仅需对扩展功能进行培训,极大地减少培训时间,降低了实施难度;无需关注浏览器兼容问题,采用WPS电子表格自带的保存方式,将预算报表暂存至本地,全程无需同数据库及应用服务器进行交互,编制完成后,再保存至服务器中,提高了整体的编制效率;通过页轴、行轴和列轴的配置,将数据立方体的维度和成员渲染在报表中,便于用户在一个报表文件既可配置报表布局,也可展示出实际数据,提高了配置和调整效率。
实施例2
本发明的一个具体实施例2,公开了一种非嵌入式的全面预算管理系统,从而实现实施例1中的全面预算管理方法。各模块的具体实现方式参照实施例1中的相应描述。该系统包括:
全面预算启动模块,用于接收全面预算的命令,获取参数信息,打开WPS客户端并在其中的全面预算功能区中显示与参数信息中的用户权限对应的按钮;
报表布局设计模块,用于接收按钮中新建报表的命令,在报表布局配置界面中,获取配置的页轴起始位置和列轴起始位置,以及,基于选择的数据立方体,配置的页轴、列轴和行轴的维度和各维度成员,生成布局模板信息;根据布局模板信息,获取各维度填充起始位置,填充新建的报表;接收按钮中保存报表的命令,上传当前报表的报表文件;
报表数据管理模块,用于接收按钮中刷新数据的命令,校验当前报表的实际布局数据与布局模板信息是否一致,如果一致,基于布局模板信息中的数据立方体,获取报表数据,并将报表数据批量赋值在当前报表的数据区域中;接收按钮中保存数据的命令,获取当前报表的报表数据进行保存。
优选地,报表布局设计模块还包括:用于接收按钮中编辑报表的命令,根据当前报表的布局模板信息,在报表布局配置界面中显示出所配置的页轴起始位置和列轴起始位置,以及页轴、列轴和行轴的维度和各维度成员,根据编辑后的信息更新布局模板信息,并重新填充当前报表。
进一步地,本实施例的系统还包括报表库模块,该模块用于接收按钮中报表库的命令,在报表库界面中,根据用户权限获取并显示报表文件列表和报表分组信息,根据选择的报表文件的报表ID,打开报表文件。
由于本实施例非嵌入式的全面预算管理系统与前述全面预算管理方法相关之处可相互借鉴,此处为重复描述,故这里不再赘述。由于本系统实施例与上述方法实施例原理相同,所以本系统也具有上述方法实施例相应的技术效果。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种非嵌入式的全面预算管理方法,其特征在于,包括如下步骤:
接收全面预算的命令,获取参数信息,打开WPS客户端并在其中的全面预算功能区中显示与所述参数信息中的用户权限对应的按钮;
接收所述按钮中新建报表的命令,在报表布局配置界面中,获取配置的页轴起始位置和列轴起始位置,以及,基于选择的数据立方体,配置的页轴、列轴和行轴的维度和各维度成员,生成布局模板信息;根据所述布局模板信息,获取各维度填充起始位置,填充新建的报表;采用WPS客户端自带的保存方式,将报表暂存至本地;接收所述按钮中保存报表的命令,上传当前报表的报表文件;
接收所述按钮中刷新数据的命令,校验当前报表的实际布局数据与布局模板信息是否一致,如果一致,基于布局模板信息中的数据立方体,获取报表数据,并将所述报表数据批量赋值在当前报表的数据区域中;接收所述按钮中保存数据的命令,获取当前报表的报表数据进行保存;
所述布局模板信息包括:唯一的报表ID,数据立方体ID,报表分组ID,页轴起始位置,列轴起始位置,页轴、列轴和行轴的维度和各维度成员;
所述填充新建的报表,包括:分别根据预设的单元格位置,填充报表ID和数据立方体ID;根据所述页轴的维度名称填充起始位置和页轴的维度数量,逐个向下填充页轴的维度名称,根据所述页轴的维度成员填充起始位置,以[页轴的维度ID].[页轴的维度成员ID]的格式,逐个向下填充页轴维度的维度成员;根据所述行轴的维度成员填充起始位置,依次向右作为每个行轴维度的填充列,其中每一列以[行轴的维度ID].[行轴维度的维度成员ID]的格式,逐个向下填充当前行轴维度的维度成员;组合各列轴维度的维度成员,得到多组不同的维度成员组合,作为待填充维度成员,根据所述列轴的维度成员填充起始位置,依次向下作为每个列轴维度的填充行,其中每一行以[列轴的维度ID].[列轴维度的待填充维度成员ID]的格式,逐个向右填充当前列轴维度的待填充维度成员,最终使得每一列对应一个维度成员组合。
2.根据权利要求1所述的非嵌入式的全面预算管理方法,其特征在于,所述全面预算功能区是通过集成全面预算管理对应的WPS加载项而扩展的自定义功能区,其中的按钮包括:新建报表、保存报表、刷新数据和保存数据。
3.根据权利要求2所述的非嵌入式的全面预算管理方法,其特征在于,所述打开WPS客户端并在其中的全面预算功能区中显示与所述参数信息中的用户权限对应的按钮,包括:
启动本地WPS客户端,读取本地WPS客户端的publish.xml文件,加载所有WPS加载项,获取全面预算功能区的按钮;
调用所述参数信息中的加载项函数,根据所述用户权限中用户角色被授予的预算按钮权限,设置所述全面预算功能区中对应的按钮可用,并将所述用户权限保存至WPS的存储对象中。
4.根据权利要求3所述的非嵌入式的全面预算管理方法,其特征在于,所述根据所述布局模板信息,获取各维度填充起始位置,包括:
以所述页轴起始位置的单元格,作为页轴的维度名称填充起始位置;以所述页轴起始位置向右移动1列的单元格,作为页轴的维度成员填充起始位置;
以列轴起始位置为起点,向下移动与列轴维度数量相同的单元格之后得到的单元格,作为行轴的维度成员填充起始位置;
以列轴起始位置为起点,向右移动与行轴维度数量相同的单元格后得到的单元格,作为列轴的维度成员填充起始位置。
5.根据权利要求4所述的非嵌入式的全面预算管理方法,其特征在于,所述上传当前报表的报表文件,是以当前报表的报表ID作为报表文件名,以xls作为报表文件的后缀名,上传至服务器预置目录中。
6.根据权利要求4所述的非嵌入式的全面预算管理方法,其特征在于,所述当前报表的实际布局数据根据如下方法获取:
根据所述各维度填充起始位置,按照填充新建的报表的方式,依次获取单元格的值,直至单元格的值为空,将获取到的单元格的值作为各维度成员的参数值,得到当前报表的实际布局数据。
7.根据权利要求6所述的非嵌入式的全面预算管理方法,其特征在于,所述校验当前报表的实际布局数据与布局模板信息是否一致,包括:
对所述实际布局数据中各维度成员的参数值去重,得到各维度的实际参数值;
校验所述各维度实际的参数值的数量,与布局模板信息中各维度成员的数量是否一致,以及,
分别校验所述各维度的实际参数值,是否存在于所述布局模板信息中各维度成员中。
8.根据权利要求7所述的非嵌入式的全面预算管理方法,其特征在于,所述基于布局模板信息中的数据立方体,获取报表数据,并将所述报表数据批量赋值在当前报表的数据区域中,包括:
基于布局模板信息中的数据立方体,以当前报表实际布局数据中每行的行轴维度成员和每列的列轴维度成员以及页轴的各维度成员的参数值作为每个单元格的筛选条件进行查询,将查询结果作为所述单元格的数据,得到报表数据;
根据所述列轴的维度成员填充起始位置,以及报表数据的行数和列数,得到报表的数据区域,批量赋值所述报表数据。
9.一种非嵌入式的全面预算管理系统,其特征在于,包括:
全面预算启动模块,用于接收全面预算的命令,获取参数信息,打开WPS客户端并在其中的全面预算功能区中显示与所述参数信息中的用户权限对应的按钮;
报表布局设计模块,用于接收所述按钮中新建报表的命令,在报表布局配置界面中,获取配置的页轴起始位置和列轴起始位置,以及,基于选择的数据立方体,配置的页轴、列轴和行轴的维度和各维度成员,生成布局模板信息;根据所述布局模板信息,获取各维度填充起始位置,填充新建的报表;采用WPS客户端自带的保存方式,将报表暂存至本地;接收所述按钮中保存报表的命令,上传当前报表的报表文件;所述布局模板信息包括:唯一的报表ID,数据立方体ID,报表分组ID,页轴起始位置,列轴起始位置,页轴、列轴和行轴的维度和各维度成员;所述填充新建的报表,包括:分别根据预设的单元格位置,填充报表ID和数据立方体ID;根据所述页轴的维度名称填充起始位置和页轴的维度数量,逐个向下填充页轴的维度名称,根据所述页轴的维度成员填充起始位置,以[页轴的维度ID].[页轴的维度成员ID]的格式,逐个向下填充页轴维度的维度成员;根据所述行轴的维度成员填充起始位置,依次向右作为每个行轴维度的填充列,其中每一列以[行轴的维度ID].[行轴维度的维度成员ID]的格式,逐个向下填充当前行轴维度的维度成员;组合各列轴维度的维度成员,得到多组不同的维度成员组合,作为待填充维度成员,根据所述列轴的维度成员填充起始位置,依次向下作为每个列轴维度的填充行,其中每一行以[列轴的维度ID].[列轴维度的待填充维度成员ID]的格式,逐个向右填充当前列轴维度的待填充维度成员,最终使得每一列对应一个维度成员组合;
报表数据管理模块,用于接收所述按钮中刷新数据的命令,校验当前报表的实际布局数据与布局模板信息是否一致,如果一致,基于布局模板信息中的数据立方体,获取报表数据,并将所述报表数据批量赋值在当前报表的数据区域中;接收所述按钮中保存数据的命令,获取当前报表的报表数据进行保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210449331.8A CN114722790B (zh) | 2022-04-24 | 2022-04-24 | 一种非嵌入式的全面预算管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210449331.8A CN114722790B (zh) | 2022-04-24 | 2022-04-24 | 一种非嵌入式的全面预算管理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114722790A CN114722790A (zh) | 2022-07-08 |
CN114722790B true CN114722790B (zh) | 2023-09-05 |
Family
ID=82246471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210449331.8A Active CN114722790B (zh) | 2022-04-24 | 2022-04-24 | 一种非嵌入式的全面预算管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114722790B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004953A (zh) * | 2010-11-09 | 2011-04-06 | 浪潮集团山东通用软件有限公司 | 多维度全面预算的实现方法 |
CN102682360A (zh) * | 2012-04-17 | 2012-09-19 | 北京智达方通科技有限公司 | 一种企业预算管理系统及方法 |
CN104036040A (zh) * | 2014-06-30 | 2014-09-10 | 贝壳网际(北京)安全技术有限公司 | 报表生成方法及装置 |
CN104850940A (zh) * | 2015-04-29 | 2015-08-19 | 国网辽宁省电力有限公司鞍山供电公司 | 基于工程全过程管理的竣工决算编制方法及系统 |
CN105138501A (zh) * | 2015-08-10 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种可配置的动态报表生成方法及系统 |
WO2016041373A1 (zh) * | 2014-09-16 | 2016-03-24 | 中兴通讯股份有限公司 | 一种数据查询的方法及装置 |
CN113487279A (zh) * | 2021-07-02 | 2021-10-08 | 外交部机关及驻外机构服务中心(外交部机关及驻外机构服务局) | 一种业财融合的财务集中管理系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7093194B2 (en) * | 2000-10-27 | 2006-08-15 | Swiftknowledge, Inc. | Data access system |
-
2022
- 2022-04-24 CN CN202210449331.8A patent/CN114722790B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004953A (zh) * | 2010-11-09 | 2011-04-06 | 浪潮集团山东通用软件有限公司 | 多维度全面预算的实现方法 |
CN102682360A (zh) * | 2012-04-17 | 2012-09-19 | 北京智达方通科技有限公司 | 一种企业预算管理系统及方法 |
CN104036040A (zh) * | 2014-06-30 | 2014-09-10 | 贝壳网际(北京)安全技术有限公司 | 报表生成方法及装置 |
WO2016041373A1 (zh) * | 2014-09-16 | 2016-03-24 | 中兴通讯股份有限公司 | 一种数据查询的方法及装置 |
CN104850940A (zh) * | 2015-04-29 | 2015-08-19 | 国网辽宁省电力有限公司鞍山供电公司 | 基于工程全过程管理的竣工决算编制方法及系统 |
CN105138501A (zh) * | 2015-08-10 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种可配置的动态报表生成方法及系统 |
CN113487279A (zh) * | 2021-07-02 | 2021-10-08 | 外交部机关及驻外机构服务中心(外交部机关及驻外机构服务局) | 一种业财融合的财务集中管理系统 |
Non-Patent Citations (1)
Title |
---|
基于ERP的全面预算管理系统设计与实施;裴奇等;《中国管理信息化》(第13期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114722790A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10929116B2 (en) | Generation of dynamic software models using input mapping with feature definitions | |
US7496890B2 (en) | Generation of configuration instructions using an abstraction technique | |
US7165073B2 (en) | Dynamic, hierarchical data exchange system | |
US20130055071A1 (en) | Systems and methods for creating a customized website | |
US7720814B2 (en) | Repopulating a database with document content | |
US20110055066A1 (en) | System and Method for Enabling Financial Planning | |
CN112463124B (zh) | 一种基于元数据模型实现一次设计千面展示的系统 | |
CN104321743A (zh) | 用于开发在通信网络上查询内容和服务的应用程序的方法和系统 | |
US20080263142A1 (en) | Meta Data Driven User Interface System and Method | |
WO2020100081A1 (en) | System and method for creation and handling of configurable applications for website building systems | |
WO2009022337A2 (en) | Introducing a form instance into an information container | |
CN111784108A (zh) | 一种主数据管理平台的建模方法和装置 | |
KR100567390B1 (ko) | 군수지원분석 자료를 이용한 전자식 기술교범 및 종이교범 통합 저작 방법 | |
CN114461209A (zh) | 页面配置与切换方法、装置、设备及存储介质 | |
US20080263018A1 (en) | Method and System for Mapping Business Objects to Relational Database Tables | |
CN114722790B (zh) | 一种非嵌入式的全面预算管理方法和系统 | |
CN114943213A (zh) | 一种非嵌入式的全面预算查询方法和系统 | |
JP2006330819A (ja) | 文書管理装置、制御方法、及びプログラム | |
CN115617338A (zh) | 一种业务页面快速生成方法、装置及可读存储介质 | |
CN114037493A (zh) | 一种招标文件的生成方法和系统 | |
CN112632930A (zh) | 表格数据控制方法及装置 | |
US20030126157A1 (en) | Method for automatically organizing template files in a web-based file retrieval sytstem | |
Hillier | Advanced SharePoint Services Solutions | |
Lengstorf et al. | Databases, MVC, and Data Objects | |
Pouzar | Informační systém pro veletrh JobChallenge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |