开发区报表系统

2024-05-02

开发区报表系统(精选七篇)

开发区报表系统 篇1

微软.NET是微软的新一代基于互联网的软件开发平台, 它是一种全新的开发平台。它能够使开发人员更容易建立各种网络环境下的应用系统。包括了可以适合多种语言编程类库。它正在对现有的软件开发产生巨大影响。

ASP.NET是用于开发基于.NET的Web应用程序的技术架构。通过使用该架构可以在服务器端创建高性能的Web应用程序。笔者爱开发开发区报表系统时, 经综合考虑, 采用了ASP.NET技术平台来完成系统开发, 采用C#作为编程语言, 最终开发成果经实际使用证明是成功, 有效的。

2、ASP.NET的技术架构

ASP.NET的技术架构主要包括ASP.NET、.NET Framework类库、通用语言运行时 (Common Language Runtime, CLR) 三部分。ASP.NET技术架构如图1所示:

2.1 通用语言运行时

通用语言运行时是位于应用程序与其所在的操作系统间的一个层面。它管理.NET代码的执行, 包括对内存和对象生存期的管理。除了这些管理服务之外, 通用语言运行时使开发人员能够进行调试和异常处理, 并使多语言之间的集成成为可能[1]。

2.2. NET Framework类库

NET Framework提供了一个包含许多高度可重用的接口、类型的类库。该类库是一个完全面向对象的类库, 所以它不仅支持面向过程语言, 还对面向对象语言提供了高度的支持。它既是.NET应用软件的开发的基础类库, 也是.NET平台本身的实现基础[2]。

2.3 ASP.NET

(1) ASP.NET概述

ASP.NET同ASP相比并不是在ASP基础上简单的升级换代, 而是一个崭新的Web开发技术架构。客户端设备 (浏览器等) 与Web服务器 (一般是IIS) 通过请求/响应模式进行交互。客户端发送一个HTTP请求 (Get/Post方式) 到Web服务器, 此时Web服务器相应的监听进程就会负责处理这个来自客户端的请求, 它有可能需要同文件系统或者数据库打交道, 以便取得客户端需要的数据, 最后Web服务器负责将处理结果返回给客户端的设备[3]。

(2) ASP.NET的几项关键技术

1) Web窗体

Web窗体主要包括3个文件:Aspx、Aspx.cs和Aspx.resx。其中, Aspx一般为一些客户端代码, Aspx.cx存放服务器端代码, Aspx.resx存放Aspx页面的资源。Aspx.cx页面对程序的运行是没有影响的, 在程序发布时可以移除。

2) Web服务

一个Web服务就是一个应用Web协议 (例如SOAP) 的可编程的应用程序逻辑。

从表面看, Web服务可以被认为是一个应用程序, 它向外界提供了一个能够通过Web进行远程过程调用 (Remote Procedure Call, RPC) 的组件。这就是说, 能够用编程的方法通过Web来调用这个组件。由于Web服务是建立在标准的Web协议上的可编程组件, 因此Web服务可以穿过防火墙, 并且可以完全将各个异构平台之间的差异忽略。即各个异构平台之间不必在意究竟是哪种操作系统, 只需暴露给外界需要的Web服务就行了。

3) ASP.NET应用程序的安全性

ASP.NET应用程序是在Windows操作系统和IIS环境下工作的。在这种环境下, 验证用户和他们对资源的请求授权是一个链状动作--当用户的请求到达服务器时, 操作系统和IIS分别扮演各自的角色进行请求验证, 如果该请求未被IIS拒绝, 则将请求传送到ASP.NET, 完成处理过程[4]。

3、开发区报表系统的设计与实现

开发区报表系统采用ASP.NET技术通过ADO.NET连结后台数据库的方式实现。系统的结构分为三层。其中 (1) 用户界面层主要由NDJH_Add.aspx、NDJH_Query.aspx、GQYB_Add Form.aspx、GQYB_TJ.aspx、YBCX.aspx等页面文件组成。完成与用户通过界面输入输出数据的工作。 (2) 业务逻辑层, 由各页面后端代码文件、类文件及第三方控件等组成。完成系统的业务数据验证, 运算等业务规则和逻辑, 在表示层和数据层间传递参数, 连接数据层, 执行数据操作, 向表示层传递数据输出结果的工作。 (3) 数据层, 由表定义、表关系、组成数据库的数据项和存储过程组成。业务层与数据层间的数据访问通过ADO.NET实现。

(1) 系统功能模块如图2所示:

(2) 系统应用的主要ASP.NET技术:

1) 利用Data Grid实现数据报表

Data Grid控件是由.NET框架类库提供的用于数据显示的控件。通过选用该控件实现了数据按用户需求排序, 分页显示数据的功能。例如, 用户点击数据报表中的任意一列的列头, 数据报表会按该列的排序结果重新显示;对于多页数据, 提供了分页显示。为用户分析决策提供了帮助。另外, 利用Data Grid的自定义表头功能实现了报表的复杂表头的设计。

2) 利用第三方控件显示图表

系统要求能够为用户分析决策提供丰富的图表分析功能。为此, 作者利用第三方为.NET提供的Dundas (下转第161页) 的操作和维护, 能够迅速执行数据的更新和检索。关系数据库采用Microsoft SQL Server, Microsoft SQL Server使用容易, 兼容性好, XML数据可在关系表中直接进行存储, 而查询则能以XML格式将有关结果返回。此外, XML支持还简化了后端系统集成, 并实现了跨防火墙的无缝数据传输。使用Hypertext Transfer Protocol (超文本传输协议HTTP) 来访问SQL Server2000, 以实现面向SQL Server2000数据库的安全Web连接和无须额外编程的联机分析处理 (OLAP) 多维数据集。B/S模式的体系结构见图1。

3.2 系统组件分层设计

系统采用基于J2EE的组件开发技术, 它支持不同协议、不同平台的使用, 能够处理企业大量动态的、大规模的、分布式的数据。由于ERP系统复杂, 在组件的设计过程中遵循了自顶向下、逐层分解的设计思想。

(1) 分系统:逻辑上称为分系统组件, 是一组完成特定功能的业务集合, 对应于图1表示层的采购、库存、人事等模块。

(2) 业务:逻辑上称为业务组件, 是一组实现分系统功能的业务逻辑, 对应于图1应用层中的工作流 (业务) 管理。企业的业务逻辑主要在这里完成, 如定单的生成和定单的下达。

(3) 基本单元构件:也称原子级组件, 是一组逻辑上不可再分的组件, 对应于应用层中的基本单元组件, 这些组件存在于组件库当中, 由工作流管理平台组合驱动生成逻辑组件, 进而配置适合企业的ERP管理系统。

3.3 程序功能参考用友ERP软件系统和ERP沙盘模拟规则设计, 力求实现界面简单, 方便好用, 角色认证, 安全可靠等设计思想。

4. 结束语

当前形势对人才培养提出了新的要求。培养集理论和技能于一身、具有市场竞争优势的人才, 是当前教学的奋斗目标。基于ERP沙盘模拟的教学通过仿真企业环境和流程、模拟职能岗位, 让学生身临其境, 真正感受到市场竞争的激烈与残酷, 体验承担经营风险和责任。学生在经营实战对抗中, 体验到团队协作的力量和优势, 掌握了管理技巧。通过基于ERP沙盘模拟的教学, 使学生足不出校就了解和掌握企业管理的综合知识和技能。通过这种基于网络技术的教学模式, 更加丰富了教授内容和教授手段, 深受学生喜爱, 提高了教学效果。

摘要:微软推出的基于ASP.NET的Web应用开发技术, 使得Web应用的开发更加简单和快捷。文中介绍了在开发一个开发区报表系统过程中, 对ASP.NET技术的实际应用情况, 描述其在系统开发中的有效应用方式和途径。

关键词:ASP.NET,开发区报表系统

参考文献

[1].ASP.NET程序设计杜西著李万伦何蕾赵海译2002年07月第1版

[2].ASP.NET专业项目实例开发巴辛 (Bhasin, H.) 著高健等译2002年07月第一版

[3].苏红超ASP.NET深入解析科学出版社2004年1月

SAP系统中报表的开发研究 篇2

S A P(S y s t e m,A p p l i c a t i o n and Products in Data Processing),即数据处理的系统、应用和产品。严格地说,SAP是一个软件公司的名字。但现在,我们都习惯地统称SAP公司的产品为SAP。

青海省电力公司从2008年4月开始运用SAP系统以来,实施了人资模块、财务模块、物资模块、设备模块、项目模块,为了满足企业需求,开发了大量的报表,但是,关于SAP系统中报表的开发的文章却很少。本文利用ABAP/4开发平台及其提供的编程语言对报表的个性化设计和开发进行讨论,介绍如何在SAP R/3系统中进行报表的开发,以满足企业特定的业务需求。

1 ABAP简介

ABAP(Advanced Business Application Programming)是SAPR/3目前唯一的系统开发工具,属4GL,目前的版本是ABAP/4。ABAP是一种高效易用的开发语言:ABAP所面对的是针对数据库的操作,因此该语言具有它的独立性,具备数据库操作语言SQL的语句以及C语言的结构;与数据库连接时不需要加载数据库驱动程序,该过程由ABAP运行时系统完成,因此,具有与数据库层的松耦合性;在定义变量的形式上类似于VB,在设计屏幕时可以通过拖拽的方式完成,实现了“所见即所得”;接近JAVA的编程思想,面向对象的开发语言实现了数据的抽象、封装等特性;debug中可以任意改变观察点的数值,可以测试任何情况下代码的执行,具有简单易用的调试环境;可以满足企业特定的需要,对通过系统配置不能实现的功能进行二次开发(LIST报表:入库单、出库单、领料单等;ALV报表:月(年)度汇总表);可以进行各种类型的程序、界面、业务流程设计,即通常意义上的增强和接口开发(企业报表、商务信函、企业特有的业务处理;屏幕选项卡的增加、修改;第三方系统的接口,如财务管控系统集成等)。

常用的ABAP开发工具技术有:REPORT(数据库中抓取数据通过整理陈列出来,给企业高层或具有相关需求的人员查看);DIALOG(属于对话型程序,提供对话框界面,方便操作人员与系统进行数据交互,这种程序会更新数据库);REPORT与DIALOG技术合并产生的程序;开发其他类型程序(非可执行程序);多系统之间数据交换技术;增强技术;数据导入导出技术等。

2 ABAP/4报表设计

报表的运行流程和输出形式为:首先初始化报表程序,在SAPGUI中显示选择屏幕,根据用户在选择屏幕的输入从数据库中选取相关数据,然后经过整理以各种形式(普通列表、交互列表、ALV等)输出列表。

2.1 报表事件

2.1.1 报表事件分类

ABAP是事件分类语言,所有代码的设计和调用过程均与处理块相关。对于不包含自定义屏幕的普通报表,其代码结构中的主要处理块为报表事件块(由报表事件关键字引导的代码块)。也就是说,事件块决定着一个报表应用程序的代码将在何时被系统调用,只有该部分代码所属的事件被触发时,代码段才被执行。因此,所有需要实现一定功能的代码都必须隶属于某个事件[1]。

报表程序常用的驱动事件有以下4种。

1)报表过程事件。过程化事件一般有3种:INITIALIZATION初始化事件,用于程序开始运行时某些变量或者参数的初始化;START-OF-SELECTION选择开始事件,若有选择屏幕,则处理完选择屏幕后触发,报表程序默认事件块,不属于其他事件的代码,则自动插入该事件块的初始部分;END-OF-SELECTION选择结束事件,在该事件后输出列表,若使用逻辑数据库,在逻辑数据库处理结束后触发。

2)选择屏幕事件。如果报表需要使用选择屏幕接受用户输入,除定义选择屏幕元素之外,还需要编辑选择屏幕事件块来对选择屏幕行进行控制,与其相关的系列事件将在INITIALIZATION之后,START-OF-SELECTION之前被触发,现分述如下:

AT SELECTION-SCREENOUTPUT,选择屏幕PBO事件,每次选择屏幕调用之前触发,在其中进行选择屏幕输出之前的准备工作(主要是做search help时使用);

AT SELECTION-SCREEN,选择屏幕PAI事件,在选择屏幕上执行某些功能后触发,可包含多个附加项,用于控制选择屏幕状态,并对用户交互进行响应,例如:当选择屏幕中输入错误时,系统会提示“输入错误值,选择可选值”等;

AT SELECTION-SCREENON field,针对某个选择字段输入的PAI事件,该字段值传给程序时触发,可用于该字段本身正确性检查,若错误,该字段可重新输入,其他元素不可输入;

AT SELECTION-SCREENON BLOCK,选择屏幕元素区域输入的PAI事件,该区域所有字段的值传递给程序时产生,错误时,该区域元素可重输,其他区域元素不可输入;

AT S E L E C T I O N-S R E E NO N R A D I O B U T T O N G R O U Pgroup1,与元素区域PAI事件类似,对象换成了单选按钮组;

AT SELECTION-SCREENO N s e l t a b;AT S E L E C T I O N-SCREEN ON END OF seltab,使用多行选择对话框时出现,前者用于输入后正确性检查;后者用于选择表输入结束后的检查;

AT SELECTION-SCREENON HELP-REQUEST FOR field;AT SELECTION-SCREEN ONVALUE-REQUEST FOR field,选择屏幕的POH和POV事件,即F1和F4事件,分别定义字段帮助和输入帮助;

用户可以通过Back、Cancel、Exit等按钮退出选择屏幕。

3)逻辑数据库事件。若程序中使用逻辑数据库,则在start-ofselection后触发,其作用也是选择并整理数据,可以看作过程事件。

逻辑数据库事件有2种:GET node选择逻辑数据库当前级别数据源中的数据;GET node LATE选择上一级别数据源中的数据。

4)列表事件。TOP-OF-PAGE页眉控制,在每个新页面开始时触发;END-OF-PAGE页脚控制,当前页面结束时触发;AT-LINE-SELECTION行选择控制,用户选择某列表行时触发,用于交互式报表;AT-USER-COMMAND用户交互控制,选择某个GUI功能出发,用于交互式报表。

2.1.2 事件的触发

一个报表程序中可能包含多个事件块,在运行期间,系统将按照一定规则进行处理。但并不能说他们之间的执行先后次序是固定的。有的事件将反复被触发,有时事件触发与用户行为相关,尤其是交互性事件(例如行选择控制事件,如果用户在列表屏幕中不选择任何特定行,则该部分代码在整个运行期间内都不被执行)。具有一般性的报表事件触发过程如图1所示。

2.1.3 事件块的中止

在事件过程块中,如果需要中途结束当前事件,需要使用STOP、EXIT和CHECK等语句。不同语句可能转向不同的后续事件,事件的中止分为无条件中止和有条件中止2种类型。STOP和EXIT属于无条件中止语句,STOP指中止当前事件块,直接转向END-OF-SELECTION,EXIT指离开任何事件块,转向列表输出屏幕;CHECK属于有条件中止语句,指离开当前事件块,转向下一事件块。

2.2 选择屏幕

选择屏幕(Selection Screen)是程序和用户之间的接口,常常作为报表运行过程中用户界面的一部分,在列表数据提取和列表输出之前出现。

1)选择屏幕参数。最简单的选择屏幕元素是选择参数,这种形式只能接受用户的单值输入,语句如下:

PARAMETERS name T Y P E|LIKE type|dobj

选择参数语句PARAMETERS是一种数据说明语句,因而其语法与DATA语句相似,可以参照数据类型或者数据对象进行参数申明,但参数变量的长度不可以超过8个字符。

2)复杂选择标准。使用SELECT-OPTIONS语句可以设定比较复杂的选择标准,选择标准是比选择参数更为复杂的一种用户输入形式。可以接收单值、多值以及各种形式的范围输入,并可以将输入的多行选择条件以内表的形式存储,利用这些选择条件的集合,可以方便对数据库的选择进行较复杂的限定。SELECT-OPTIONS语句如下:

SELECT-OPTIONS seltabFOR f

该语句将根据定义时的参照类型f(f需为程序中的全局基本类型元素,通常情况下f参照数据字典中的表字段生成,以提供各种帮助、值检查功能)在选择屏幕中生成2个字段,以供用户输入选择的范围。

3)选择标准文字。在选择屏幕中,参数和选择标准的说明文字出现在左侧,默认情况下是变量名称,该名称的长度最多8位,一般需要改为用户易于理解的说明文字。选择参数和标准的说明文字是一种文本元素,可以在文本元素设定界面中单击Selection texts标签,或者在编辑界面中选择Goto→Text elements→Selection texts菜单项设定。

4)使用选择变式。变式(Variants)是选择屏幕中各元素的值集,用户在选择屏幕中输入选择标准之后,如果认为该标准需要反复使用,则可以将其定义为一个变式,以避免下一次运行时相似元素的重复输入。变式和特定的选择屏幕相关,可以被系统中其他用户使用。

2.3 数据库表类型

通常情况下报表程序中输出的列表数据来自数据库表,在ABAP程序中,可使用Open SQL或者Native SQL读取数据库表。

SAP R/3中有3种数据库表:透明表、共享表和簇表。

1)透明表。透明表格与数据库中的表一一对应,有相同的表名、字段数、字段名。ABAP词典中透明表的定义相对数据库是独立的,定义的表与数据库中的表有相同的结构。当表被激活时,数据库中的物理表存储在ABAP词典中,透明表可以连接查询。

2)共享表。共享表格与数据库中的表是多对一的关系,表名不同,字段数不同,字段名不同。共享表是SAP的一个特有构思。在数据库中,所有共享表格被存储在一个表中,该表叫“表池(Table pool)”。SAP共享表格存储系统数据。

3)簇表。簇表与共享表格类似,也是多对一的关系。多数簇表存储在一个叫Table cluster的表中,当一些表有共用的PK,或数据被同步访问时,使用簇表。从单个表去理解与透明表没有差异,但是多个表组成簇表,它们在物理上对主键只存储一遍,故对簇表的关联查询可以极大提高访问速度。其实通俗地说,Cluster Table就是把一堆数据按一定规则以序列形式存放在某一个“特别大”的“字段”里,将来再按照这个特定规则来读取。提高性能,节省空间,捎带加强安全性,这就是Cluster Table的用途。

3 报表开发实例

本节以ALV报表为例来介绍报表程序的编写流程。

ALV报表属于报表的一种高级形式,显示出来的报表整洁美观,具有很大的交互功能,ALV报表的典型布局由3部分组成:表单快捷工具栏区;表单标题区;表单显示区。

ALV报表的编写流程一般有六步。

第一步:定义将要用到的表,即TALBES定义部分,然后定义TYPE-POOLS。

第二步:定义要用到的数据类型或者内表的实体对象。

第三步:定义一些需要用到的变量,通常定义的有:打印信息,输出格式设置,页眉设置,字段格式设置,ALV事件等。

第四步:定义自己的选择屏幕。

第五步:定义INITIALIZATION部分。

第六步:start-of-selection部分。

(1)用一个子函数完成对ALV表单标题区域的赋值。

(2)用一个子函数完成自己所需要数据的抓取。

(3)用一个子函数完成要显示列表的列名行(第一行)的相关赋值以及设置。

(4)用一个子函数完成输出格式的设置,比如双击一条记录是否弹出对话框,是用哪个功能键触发等等。

(5)用一个子函数来显示上面我们已经分别封装好的数据,需要调用2个常用的函数块,一个是FUNCTION'REUSE_ALV_GRID_DISPLAY',用来显示表单数据,另外一个是FUNCTION'REUSE_ALV_COMMENTARY_WRITE',用来显示表单标题。

系统实现示例如图2所示。

4 报表开发的意义

通过报表的开发,一方面提升了系统现有的功能,满足了企业特定的业务需求;另一方面,从数据库中抓取数据通过整理陈列出来,给企业高层或具有相关需求的人员查看,极大地提高管理人员的管理水平和工作效率,并为企业高层进行决策提供依据。例如,为了便于项目管理部门跟踪项目物料的采购、发货情况,作者开发了项目物资需求完成情况统计表,项目管理人员可随时跟踪查询项目物料的需求、采购申请、采购订单、收货、发货的进度及金额等信息,为管理人员提供了很大的便利。

5 结语

本文介绍了ABAP报表的运行流程和输出形式,以及报表开发中所要用到的报表事件、选择屏幕、数据库表类型,最后,以ALV报表为例介绍了报表程序的编写流程,指出了报表开发的现实意义。为SAP系统用户及从事ABAP开发的人员进行报表开发提供技术指导作用。

参考文献

[1]黄佳.SAP程序设计[M].北京:机械工业出版社,2005.

[2]蒋哲远.企业资源计划环境下通用报表服务构件的设计与实现[J].计算机集成制造系统,2011,17(9):2029–2034.

[3]吴桐,张学东,张疏影.一种基于JSP的报表设计方法[J].辽宁科技大学学报,2010,33(5):548–551.

[4]施权,张忠能.利用SAP ABAP语言解决客户特制要求的方法[J].计算机工程,2004,30(S1):84–86.

SSRS报表开发高级实用技巧 篇3

随着大数据时代的到来, 企业已经迫切感受到当今数据化营销所带来的变革, 都迫切地希望能够将积累的海量数据加以分析利用, 挖掘出数据之间潜藏的信息, 发挥出数据的潜在价值。企业如何在“大数据”的困境中寻找成长机遇, 构建基于商业智能的数据分析及挖掘平台无疑是其首选。然而在企业辛苦构建好数据仓库、搭建好数据模型之后, 更为重要的是如何将数据信息科学完美地多维度呈现, 微软的SSRS报表服务平台无疑是一个不二的选择。该平台能够将数据信息采用多种灵活的图形图表、仪表盘等形式加以呈现, 使企业领导、数据分析人员能够方便快捷地从多维度直观查看分析数据, 易于发现数据之间的关联关系。下面深入剖析如何灵活运用SSRS表达式来解决一些常用的报表需求。

2 报表需求

表达式通常用来解决一些自定义计算任务, 例如计算报表项的占比、同比分析等。下面要介绍的是如何运用表达式来解决一些报表呈现方面的需求。

2.1 问题提出

A集团公司是一个快消品销售跨国企业, 集团拥有3条产品线, 分别是产品A、产品B、产品C;在北京、上海、广州、深圳分别设有分公司进行销售, 重点关注的指标有销售数量、销售金额和销售容积。现在公司领导提出以下两点要求:

(1) 希望能够从城市-产品线和产品线-城市两个角度查看产品销售数据。

(2) 希望3个KPI指标可以根据各部门实际需要显示在报表上。

2.2 分析问题

本案例中公司领导提出了两个需求, 针对第一个需求, 是否要在报表中制作两种维度的交叉表呢, 即按城市-产品线制作第一张表, 然后按产品线-城市制作第二张表呢?针对第二个需求, 更是感到无从下手?这就告诉大家一个如何巧用表达式来解决这类问题的方法与技巧。

3 方案实现

重点在介绍表达式应用的技巧, 其他过程只是简略说明, 数据源直接使用XML作为演示数据源。

(1) 使用微软提供的SSRS报表制作工具Report Builder3.0, 新建一张空白报表, 在“数据源”上单击右键新建一个报表数据源, 选择“使用嵌在我的报表中的连接”, 选择连接类型为“XML”, 如图1所示。

(2) 在“数据集”上单击右键新建一个报表数据集, 选择“使用在我的报表中嵌入的数据集”, 数据源选择 (1) 中新建的数据源datasource1, 然后将本案例中的附件ssrs-demo xml中的内容复制到查询文本中, 如图2所示。

(3) 利用表向导, 插入一个表如图3所示。

(4) 此时已经可以预览报表了, 只是报表格式是固定按城市-产品线来显示, 报表指标也是默认显示全部3个报表指标, 离领导提出的要求还相差甚远, 在“参数”上单击右键新建两个参数, 一个参数叫统计方式, 添加参数值, 如图4所示。同理添加另一个参数叫指标, 添加参数值, 销售数量, 销售金额, 销售面积。

(5) 在标题栏里, 右键单击“City Name”单元格, 选择“表达式”, 在弹出的对话框中输入表达式:=Switch (Parameters!tjfs.Value=1, "城市", Parameters!tjfs.Value=“2”, "产品线") ;同样在第二个标题栏里将“Group Name”单元格的表达式修改为=Switch (Parameters!tjfs.Value=1, "产品线", Parameters!tjfs.Value=“2”, "城市") 。

(6) 采用3.5里的方式分别修改数据显示区域“City Name”和“Group Name”的表达式为=Switch (Parameters!tjfs.Value=1, Fields!City Name.Value, Parameters!tjfs.Value=2, Fields!GroupName.Value) 和=Switch (Parameters!tjfs.Value=2, Fields!CityName.Value, Parameters!tjfs.Value=1, Fields!Group Name.Value) 。

(7) 同样分别修改行组里的“City Name”和“GroupName”组属性中分组方式、排序方式为=Switch (Parameters!tjfs.Value=1, Fields!City Name.Value, Parameters!tjfs.Value=2, Fields!Group Name.Value) 和=Switch (Parameters!tjfs.Value=2, Fields!City Name.Value, Parameters!tjfs.Value=1, Fields!GroupName.Value) 。至此利用表达式已完成了报表的第一个需求。

(8) 分别右键单击标题栏“Sale Num”、“Sale Money”、“Sale Vol”单元格, 修改表达式为=Parameters!zb.Value (0) 、=Parameters!zb.Value (1) 、=Parameters!zb.Value (2) 。将明细单元格表达式的内容分别对应修改为=Switch (Parameters!zb.Value (0) ="销售数量", Val (Fields!Sale Num.Value) , Parameters!zb.Value (0) ="销售金额", Val (Fields!SaleMoney.Value) , Parameters!zb.Value (0) ="销售容积", Val (Fields!Sale Vol.Value) ) 、=Switch (Parameters!zb.Value (1) ="销售数量", Val (Fields!Sale Num.Value) , Parameters!zb.Value (1) ="销售金额", Val (Fields!Sale Money.Value) , Parameters!zb.Value (1) ="销售容积", Val (Fields!Sale Vol.Value) ) 和=Switch (Parameters!zb.Value (2) ="销售数量", Val (Fields!Sale Num.Value) , Parameters!zb.Value (2) ="销售金额", Val (Fields!Sale Money.Value) , Parameters!zb.Value (2) ="销售容积", Val (Fields!Sale Vol.Value) ) 。依次对应修改小计和总计单元格里的表达式为=Switch (Parameters!zb.Value (0) ="销售数量", sum (Val (Fields!Sale Num.Value) ) , Parameters!zb.Value (0) ="销售金额", sum (Val (Fields!Sale Money.Value) ) , Parameters!zb.Value (0) ="销售容积", sum (Val (Fields!Sale Vol.Value) ) ) 、=Switch (Parameters!zb.Value (1) ="销售数量", sum (Val (Fields!Sale Num.Value) ) , Parameters!zb.Value (1) ="销售金额", sum (Val (Fields!Sale Money.Value) ) , Parameters!zb.Value (1) ="销售容积", sum (Val (Fields!Sale Vol.Value) ) ) 和=Switch (Parameters!zb.Value (2) ="销售数量", sum (Val (Fields!Sale Num.Value) ) , Parameters!zb.Value (2) ="销售金额", sum (Val (Fields!Sale Money.Value) ) , Parameters!zb.Value (2) ="销售容积", sum (Val (Fields!Sale Vol.Value) ) ) 。

(9) 将“Sale Num”、“Sale Money”、“Sale Vol”单元格的Name属性依次修改为Tb Sale Num、Tb Sale Money和TbSale Vol, 依次修改后三列单元格的Hidden属性的表达式为=iif (Is Nothing (Report Items!Tb Sale Num.Value) , True, False) 、=iif (Is Nothing (Report Items!Tb Sale Money.Value) , True, False) 和=iif (Is Nothing (Report Items!Tb Sale Vol.Value) , True, False) 。至此, 利用表达式已经完成了第二个报表的需求。

最终调整一下报表格式和样式, 修改保留的小数位数等。最后来预览一下工作成果吧, 按城市-产品线来单独显示销售数量, 如图5所示。按产品线-城市来显示销售金额和销售容积。

4 结语

灵活运用了SSRS表达式实现了报表中常用的交叉分组统计方式查看报表的需求, 同时结合表达式和单元格的隐藏, 实现了指标的自定义显示功能, 开拓了灵活运用SSRS表达式的方法和技巧, 极大的拓展了报表的灵活性, 降低了报表开发的难度, 同时提高了开发效率。

摘要:SSRS报表服务是微软商业智能解决方案的重要技术平台之一, 从企业报表开发需求的实际应用出发, 提出了灵活应用表达式进行报表开发的实用方法与技巧, 极大地拓展了报表的灵活性, 降低了报表开发的难度, 同时提高了开发效率。

关键词:报表服务,报表开发,表达式

参考文献

[1]Stacia Misner.Microsoft-SQL Server 2008 Reporting Services Step by Step.Microsoft Press, February, 2009.

[2]尹相志, 胡百敬.SQL Server 2008R2 REPORTING SERVICES报表服务.水利水电, 2012.

采油工程报表信息系统建设 篇4

由于采油工程报表数量大、种类多、管理难度大, 所以对报表数据的实时性、可靠性、一致性要求较高。而目前, 大部分采油厂的报表呈报还采用人工统计、汇总的方式, 日报数据与月报数据基本是脱节的, 每到月末需要花费大量人力来根据日报数据手工计算填报月报表。为改变这一现状, 就需要建设一个覆盖全厂各开发生产部门各业务的采油工程报表信息系统, 实现采油厂台账数据库自动汇总数据, 生成所需的数据表。

1 系统设计

本系统基于J2EE开发平台, 在扩展性、健壮性、安全性等方面都有优秀的表现。采用B/S多层结构模式, 以及报表中间件、工作流构件等技术, 遵循软件项目工程方法, 自下至上分为基础平台层、资源平台层、支撑平台层、运行平台层共四大层次。

1.1 基础平台:为整个系统的运维提供数据、网络和安全支持。

1.2 资源平台:

资源平台层实现对数据的统一管理, 不仅简化了开发过程、提高了开发效率, 而且在数据需求发生变化和需要重新定制的时候, 可以通过简单地修改数据层来完成。

1.3 支撑平台:

确保系统基于数据交换、业务处理的技术支撑。多层架构业务系统的核心支撑部分, 该平台以J2EE应用服务器为核心依托, 将各系统中的共性功能抽象、封装并统一解决, 提供丰富的功能组件。

1.4 运行平台:

基于网络全面开展面向各级单位的报表统计工作, 将采集上报、数据汇总、统计分析、报表管理、系统管理集中运行在一个充分共享的信息系统中。

2 功能构成

本系统是基于工作流、智能报表等技术实现管理人员了解生产信息、掌握开发动态和协调生产。主要完成各种生产信息的统计、分析、查询。主要功能包括采集上报、数据汇总、统计分析和系统管理等。

2.1 采集上报

采集上报用于实现报表数据采集、填报、上报等功能, 并可查询本单位上报的报表。其中数据采集由开发数据库中提取报表数据, 根据油水井状态的不同分别自动生成上报报表和自留报表。

采集上报作为统计工作的第一步, 是所有后续工作的基础, 所以要求统计数据必须完整、准确、及时地逐级上报。其采集上报的方式可分为:

2.1.1 通过excel报表直接 (批量) 上传

2.1.2 在线填报

2.1.3 从开发数据库中采集数据

2.2 数据审核

数据审核可以应用于矿 (部) 级单位审核基层队上报的数据, 也可以应用于厂主管科室审核县矿 (部) 级单位上报的数据。数据审核需检查上报数据的完整性与准确性, 若无误则审核通过, 否则驳回。数据审核有两种方式:批量审核和逐一审核。

2.3 数据汇总

数据汇总是本系统的核心功能。根据不同报表各自设置的数据汇总要求, 自下而上逐级对已上报数据进行自动汇总, 操作方便快捷, 数据准确可靠。数据汇总可以大大地减轻用户的工作量。

2.4 统计分析

2.4.1 数据综合查询

该模块主要是方便用户对不同时间段的数据进行综合查询。主要功能有报送数据综合查询和下级单位上报情况查询。

2.4.2 数据对比分析

根据企业业务数据进行分析统计, 支持趋势分析和结构分析, 用于挖掘数据更大的价值, 为领导决策提供形式多样化的参考依据。

2.5 报表管理

报表管理主要包括报模板定制和报表的应用。报表定制功能可以灵活的定制各种报表格式以及运算、审核公式, 能够很好的适应业务的需求变化。

2.6 系统管理

通过系统管理相关功能进行灵活的系统权限及安全设置。主要功能包括:

2.6.1 单位管理

管理下级部门 (单位) 。以树型结构的方式对单位的基本信息进行管理, 包括单位名称、上级管理部门、排序号、单位性质等。

2.6.2 角色权限

对系统所拥有的角色进行管理, 并为角色授权。为了确保用户安全可靠的访问相应的功能和信息, 统一授权平台在用户和用户组之间定义操作权限, 定义用户可以访问哪些数据、哪些应用。

2.6.3 用户管理

用于管理操作用户的登录账号、权限等。

2.6.4 功能设置

模块化管理系统所有的功能, 主要包括添加、修改、删除、禁用或启用等功能。

2.6.5 通知公告

发布报表上报的相关通知。

2.6.6 数据安全

设置和管理系统数据字典信息, 并提供数据备份和恢复功能。还可以按日期记录每一次备份数据库的操作, 相当于建立数据库还原点。

2.6.7 系统日志

记录用户登录和操作情况。操作日志主要包括增加、删除及修改等操作的情况。

3 结论

本系统采用J2EE多层技术架构, 系统采用B/S结构模式, 支持局域网和Internet应用。可以分布式部署, 适用于多层次结构的网络部署。利用完善的计算机网络实现基层队、矿 (部) 级单位、主管部门之间的交互处理, 达到提高工作效率与管理水平、降低办公成本、确保统计工作质量的目的。S

[责任编辑:周娜]

摘要:为解决采油工程报表数量大、种类多、管理难度大, 采油厂建设了一个覆盖全厂各开发生产部门各业务的采油工程报表信息系统, 实现采油厂台账数据库自动汇总数据, 生成所需的数据表。

面向计算的报表系统的实现 篇5

今天, 在这里我们仅仅提出了面向决策的报表系统, 如果说的更准确一些的话, 未来的报表系统应该是面向计算的, 所谓的计算, 就是针对数据的处理, 这将会成为未来报表的发展趋势, 这种数据处理包括:分类, 分配, 数据挖掘等等。

本文的报表系统依据模型驱动体系的原理, 模型驱动体系定义了一种IT系统描述方法, 将系统功能描述从特定技术平台的功能实现描述中分离出来。它的核心思想是抽象出与实现技术无关、完整描述业务功能的核心模型PIM, 针对不同实现技术制定多个映射规则, 然后通过这些映射规则及辅助工具将PIM转换成具体实现技术相关的应用模型PSM, 最后, 在一定程度上将PSM自动转换成代码。这种开发方式实现了模型在不同平台中的复用。在模型驱动体系中模型是生产的直接驱动力, 它是可执行的并能产生输出的。

模型驱动体系将系统的各种关键模型进行了一致性的结构划分。不同系统的所有模型都可以明确划分为两种模型, 即平台无关的模型PIM与特定平台相关的模型PSM。PIM抽象出准确的、基本的结构和行为, 没有与特定平台相关的语义信息, 从而使得模型的难工作更加容易。给出了对系统结构和功能的正规描述, 它抽象了技术细节, 通过某种映射, PIM所描述的功能可以在各种具体的平台上实现。PSM它必须使用与特定平台相关的异常机制、参数类型、组件模型结构等, 要验证模型的正确性, 复杂度将大大增加。

另外, 模型驱动体系还定义了模型间的一致性关系。对于一个特定系统而言, 在业务模型、平台无关的组件、特定平台组件之间存在着跨模型的细化关系。同样地, 在两个需要集成的不同系统之间, 可以在特定平台层、平台无关层或者业务模型层上定义交互作用, 在每个抽象层次上, 将会有或多或少的抽象模型。跨平台的集成和互操作性可以从平台无关的角度更加清晰地进行定义, 然后再通过一定的映射, 映射到特定的平台机制上。其中映射是一套规则和技术, 用于修改某个模型, 以得到另外一个模型。在模型驱动体系中, 映射将运用在以下几种模型转换关系上:1) PIM到PIM的转换。当模型在开发生命周期中得到了改进, 过滤或者特殊化, 但是不需要任何与特定平台相关的信息, 那么将使用从PIM到PIM的转换。2) PIM到PSM的转换。当PIM被细化, 对应到执行基础架构上时, 则需要执行从PIM到PSM的转换。从PIM到PSM的映射是基于平台特性的。因此, 在建模过程中需要使用UML描述来描述平台的特性。3) PSM到PSM的转换。当涉及到组件实现和部署时, 需要用到PSM到PSM的转换。PSM到PSM的转换通常与特定平台模型的细化相关。

本文的报表系统也正是应用了模型驱动体系的这种流程化的软件产品生产方式进行报表的“工业化”生产, 本报表系统的输入结构图模型分为四个部分, a:样式设计引擎, 主要负责整个报表的整体的页面布局设计, 包括报表背景, 页面的宽度和高度等等。b:元素设置引擎, 它在整个的定义态占据着举足轻重的作用, 我们正是利用这些元素或者说元模型定义我们的报表模型。这些元素包括, 报表的表头, 明细表, 表尾, 以及动态文本框。c:变量设置引擎, 如果说元素设置引擎是整个定义态的框架, 那么变量设置引擎就是它的灵魂, 因为它是报表的结构和数据相结合的中间衔接物。它定义了数据的处理方式以及展现方式。d:数据源设置引擎, 一个好的报表系统必须可以连接多种不同的数据库, 包括关系性数据库, 文档性数据库以及cvs文件等等。数据源设置引擎正是为报表系统提供一个与具体数据库平台独立的数据平台。

整个报表系统的输出架构是B/S结构的, 在服务器端存在的数据库以及报表的知识库, 数据库主要指的是各种关系性数据库以及XML, CSV Files等等, 而报表库保存的是报表模板。服务器端的主要模块是报表生成引擎, 它的作用就是用来生成报表的, 它首先要从报表的模板库中获得一个报表模板, 经过解析模块后在内存就形成一个报表模板的内存映射, 该对象经过填充调度引擎的填充会生成内存对象, 再经过不同文件格式的模型转换生成不同的磁盘外模式。

在整个的生成过程中, 还有很多辅助模块, 例如报表分类管理, 填充监视器等等。a:分类管理器的作用主要是报表的分类管理与查询, 例如在一个MIS系统中, 报表模板的数量也是大量的, 所以他们的管理也就成为了很重要的问题, 例如我们可以根据公司部门来分, 这些部门的工作职能是不一样的, 所以他们的报表模板也是不同的, 当然我们也可以同时存在多种分类标准与管理模式, 这都取决于特定情况, 为了增加了分类管理的可扩展性, 我们可以通过增加分类规则, 增加新的分类标准。为报表分类的另外一个重要原因为了可以扩展报表系统的安全性控制, 在B/S结构下, 我们不得不考虑访问控制的安全性, 通过对报表模板的级别分类, 可以有效的控制某些用户的访问权限。值得提出的是, 在本文论述以及实践的报表系统中, 并没有对报表的安全性做较深的研究与实践, 只是在某些模块的设计与实践中为以后的安全性扩展留有余地。

在这里最具有特点的就是基于事务特性的多层填充结构, 在普通的报表系统中, 他们通常是面向展现的, 仅仅是为了展现而计算, 而本文的结构特点是:我们弱化了最高层也就是展现层在整个报表系统中的的重要性 (请注意, 这里的弱化是相对的, 并不是说本系统的展现层低于其他系统的展现能力, 仅仅是说本系统的展现层与其他逻辑层重要性比重变小了) 。

整个填充模块主要分为两大部分:元素调度器和计算调度器。元素调度器和计算调度器的交互是通过传递变量名字或者一个变量表达式并且返回一个变量值进行交互的。这样做的意义在于真正把计算层和表现层分开, 同时也能更好的做好计算层的功能。下面我们重点介绍计算调度器的结构。

整个的计算调度器连接两个功能模块, 一个是数据提取模块, 另外一个是变量计算模块, 除此之外, 在调度器内部还设置了一个数据缓冲区用来存储交互数据。数据提取模块主要负责数据库的连接, 数据的查询等功能, 这里的数据库并没有规定特定的什么数据库, 整个的数据提取模块会为计算调度模块提供一个统一的数据提取平台, 这减少了模块的耦合度, 增加了数据提取模块的可扩展性。在数据提取模块当中, 为各种数据格式提供数据驱动接口。从数据提取模块中获取数据后, 就会把取到的数据放入到调度器的数据缓存区, 数据缓存区除了储存原始数据以外, 还有从上层调度器中获得元素中变量信息, 在这些变量信息中包含了变量的公式以及变量计算的时间, 这些都是计算模块所需的计算数据。经过计算模块计算后, 就会返回一个结果集合, 重新返回到调度器的数据缓存区, 以便元素调度器对变量数值的获得。

我们还应该注意一点, 那就是在计算调度器的数据缓存区存在两个非常重要的数据集, 一个是子变量数据集, 这里的子变量指的是从数据库中提取的字段或者XML数据中的某个元素还有就是从外部传入的参数等等。这些子变量是不需要经过计算的, 他们会在内存里形成一个原始二维数据集以供计算模块使用。另外一个数据集就是变量的二维数据集, 经过计算变量后, 我们会得到变量的值, 这些变量并不是单个值, 而是一维的值, 所以所有的变量的值集合就是一个二维集。

在这里我们特别强调的是报表的计算能力, 也就是说, 报表系统如果没有展现层, 我们完全可以把它当成一个计算器来使用, 只要给出表达式, 定义计算规则, 就可以得到我们想要的计算结果。计算模块里面有方差, 平均值, 最大值, 最小值等等计算, 由于它是一个独立的计算模块, 所以按照基于组件的开发模式, 完全可以在别的系统调用这个模块, 从而达到计算的能力。

总之, 在科学技术飞速发展的今天, 社会的需求在不断的增长, 未来的报表系统的的发展趋势是将摆脱传统的数据展现功能的限制, 数据的处理、分类, 分配, 数据挖掘与数据计算机分析等功能也将会更加的强大。

摘要:本文依据模型驱动体系的原理, 提出了面向计算的报表系统的相关结构模型及其原理与实现方法, 主要展现报表系统对数据的分析与处理能力等。

RCM决策系统的报表设计 篇6

目前, 基于.NET的报表设计与制作主要采用水晶报表技术和RDLC报表技术。由于水晶报表技术的诞生早于RDLC报表技术, 因此水晶报表的使用相对RDLC报表更加广泛, 但是随着RDLC报表技术优势的展现, 水晶报表技术的影响力正逐步衰减。

1 RDLC报表设计基础

RDLC作为微软自带的程序组件, 具有以下特点。

1) 控件简单易用, 字段排列方便。

2) 可定制性灵活, 可用XML描述。

3) 可编程性高, 通过代码直接完成报表的生成、预览和打印等操作。

4) 支持Drill Through数据钻取功能。

5) 在不安装Excel、Word、PDF的情况下直接导出并保存为Excel、Word、PDF保存格式。

RDLC报表有两种数据源, 一种是从数据库中获取数据表填充到Data Set中制成Data Table, 另一种是通过建立一个类似数据表的自定义类作为数据源。RDLC的报表设计主要是在报表的设计界面上拖拽或右键插入报表控件进行报表布局设置。报表设计界面分为三个主要区域:页眉、页脚和报表主体。RDLC报表之所以能够简化报表设计, 其主要原因在于它将报表的组成要素抽象成了几个控件, 使报表的设计趋向简单。开发人员可以将更多的精力集中在数据上, 不需要纠结于报表的格式设计。RDLC报表的主要布局控件可分为四类:Matrix类控件、Table类控件、List类控件和Chart类控件。

2 RCM决策系统的报表设计

设计一个报告模块, 模块中存在下列功能图标:【技术分级】、【执行小结1】、【执行小结2】、【风险矩阵分布】、【任务包】及【风险分析FMEA】, 点击某一功能图标, 得到相应功能格式的报告。

2.1 主界面

在Microsoft Visual Studio 2010的win Form编程中可以直接通过拖放控件来设计系统界面, 使界面的设计趋向与简单化, 节省了开发人员大量书写布局代码的时间。

2.2 技术分级报告

本任务主要关键点在于按要求理清数据分组时的父组与子组之间的包含关系, 在设计分组时需要注意分组排序问题。RDLC默认的分组方式是在表的左边添加分组, 如果希望父组在子组的上方出现, 则需要先分好组, 在按需要排列字段。

2.3 执行小结1报表

点击执行小结1按钮, 得到关于高、中、低设备项风险比例的分析报告, 要求给出五个风险等级, 分别为极高、高、中等、低极低五个风险范畴。

2.4 执行小结2报表

点击执行小结2功能按钮, 通过把自定义排列label控件可以自定义固定数据的显示方式, 使报表的数据显示更加直观。图表的使用, 是数据的统计更加具有可视性。

2.5 风险矩阵分布

报表显示的5×5矩阵用VH、H、M、L、VL来表示极高危险、高危险、中等危险、低危险和极低危险五个等级。用红、橙、黄、蓝、绿五种颜色来填充矩阵中相应的等级:当出现VH时显示红色, 出现H时, 显示橙色, 出现M时显示黄色, 出现L时显示蓝色, 出现VL时显示绿色。

自定义矩阵的设计的三个方案囊括了RDLC报表设计的大部分设计知识, 特别是参数的引入和内部属性关联变化的实现, 使报表的代码量大幅度减小。

2.6 任务包报表

点击任务包按钮会得到任务报表, Dataset之间的数据传递需要通过Adatper来完成, 将数据存入报表的数据集中, 报表执行时会自动读取存入的数据集, 自动完成数据显示操作。

2.7 风险分析FMEA

与任务包的设计思路完全和设计方法一样, 区别在于数据段与数据。点击风险FMEA按钮, 即可得到风险数据分析清单。

3 总结

RDLC报表的设计可分为两个方面:其一是可视化设计, 也是报表设计中最重要的环节。一张精致美观的报表效果如何, 除了数据以外都可以从报表设计界面上看到。另一个就是利用代码来控制报表的数据传递和显示。纵观整个报表设计的每一个模块, 报表执行的代码均是大同小异, 甚至属于同一模式的设计。

设计报表的时候主要的设计重点在于报表的界面设计, 特别是Microsoft Visual Studio 2010将RDLC报表的设计集中成多个模块之后, 报表的设计过程基本上是无需通过代码编程来完成, 所要做的就是按照设计要求拖拽报表控件, 设置相应属性和关联公式就能达到设计要求。后台执行代码只剩下简单的传值和显示操作。

参考文献

[1]张露.Visual Studio.NET 2005中RDLC报表初探[J].电脑知识与技术, 2011 (7) :7835-7847.

[2]埃斯波西托, 萨尔塔列洛.Microsoft.NET企业级应用架构设计[M].北京:人民邮电出版社, 2010.

[3]薛若雯.基于RDLC的报表生成[J].新科技论坛, 2010:179.

企业集团合并报表信息系统初探 篇7

一、人工编制合并报表的常见问题

1. 合并报表基础数据不准确

各子公司虽然实行了财务核算系统, 但国内企业集团并未真正实现财务管理完全信息化, 各子公司财务核算系统类型不尽相同, 发展水平不一, 因此, 各子公司在上报个别报表时可能会出现故意作弊行为, 对集团企业报表编制要求的可能会有不同理解, 导致有些报表项目的编制内容不准确;另外, 由于集团企业单位数量、报表种类繁多, 对基础数据的检查存在很大困难, 无法有效监督核实其数据的准确性。

2. 关联交易复杂多样, 数据抵销不充分

随着企业集团规模的扩大、母子公司投资结构的交错以及集团企业内部购销活动的日益增加, 往来科目变动频繁, 内部存货的抵销更为复杂, 未达账项增多等等, 如果仍然依靠人工做关联交易的抵销, 关联交易抵销的充分性将大打折扣。

3. 合并报表附注的编制难度大

合并报表不仅是合并资产负债表、利润表、现金流量表以及所有者权益变动表的编制, 而且还包括合并报表附注的编制。合并报表附注只有通过对合并报表科目明细进行分析才能编制完成, 如果仍然完全依靠手工方式编制, 需要搜集各子公司的明细账进行汇总分析, 工作量大、效率低。

4. 合并报表数据不及时

集团下属公司数量多、地域跨度大, 再加上财务部门工作日益增多, 下属公司的不配合, 基础数据上报的时间不够及时。集团抵销事项频繁复杂, 即使借助EXCEL基本功能也会影响合并报表的时效性。

二、合并报表编制向信息化转变的意义

通过合并报表信息系统代替繁琐易错的手工操作, 在提高数据可靠性的同时大大地缩短企业的合并报表周期, 可以使各级财务人员有更多的时间参与到分析和决策支持工作中, 为企业精细化管理打下坚实基础。

1. 提高合并报表基础数据的准确性

虽然有些企业集团和其各子公司目前使用的财务核算系统复杂多样, 但可以通过系统接口对接方式或者数据格式文件对接方式将各个企业的财务基础数据达到统一。而且, 合并报表信息系统中一般都有完善的报表检查功能:包括表内、表间、单个报表项目的检查, 还可以进行单元格追踪, 这样不仅可以提高基础数据的准确性, 而且合并报表附注的编制也会相对简单。

2. 使关联交易抵销更充分、更快捷

合并报表信息系统可以按照股权关系维护中的持股比例自动计算出应确认或应冲减的投资收益 (或资本公积) , 并相应的调增或调减长期股权投资;同时, 若集团内一单位发生了内部经济往来活动, 在相关凭证过账时可以自动发出往来对账单给对方企业, 并且在月底将对内部往来对账单进行核销, 核对不平时会自动分类处理, 最后按相关的规则进行批量处理, 解决了往来交易手工对账难、抵销不充分的难题。

3. 缩短合并报表编制周期

通过合并报表信息系统的数据转换功能, 各子公司的财务核算结束后能及时转换上报合并报表所需的基础数据;同时, 通过报表检查、自动对账、自动抵销等功能, 使业务量较大的合并报表工作能迅速完成, 大大缩短了合并报表的编制周期。

此外, 通过对各企业的财务核算系统统一管理, 可以加强对企业集团财务基础工作的管理, 降低内外部审计成本, 防范财务风险, 帮助管理层深入发掘企业运营中存在的问题和潜在风险。

三、合并报表信息系统实施中的关键点

1. 成本效益的核算

虽然通过合并报表财务信息系统可以提高合并报表编制工作的整体水平, 但也要综合考虑成本效益的核算。合并报表只是财务管理信息系统的模块之一, 企业集团应根据自己的规模、需求判断是否需要建立实施财务管理系统里的合并报表模块, 不要盲目的追随, 特别是目前尚未实行财务管理信息系统的企业集团。

2. 审慎选择实施方法、有效控制风险

合并报表信息系统的实施方法一般有同步实施和分布实施两种方法。同步实施的压力相对较大, 但只要做好测试及准备, 风险是可以控制的;为了降低风险, 可以选择1到2个业务全面的二级企业进行试点, 总公司同二级企业同步实施的策略。分布实施很可能会导致对之前工作的返工, 而且总公司上线越晚, 涉及到已经上线单位的调整量可能就越大, 系统风险及应用风险更加不可控。在合并报表信息系统的实施方法上, 最好的策略是集中设计、试点应用、同步实施。

3. 探索接口模式, 统一核算数据

企业集团及其子公司所使用的财务核算软件复杂多样, 需要通过系统接口对接方式或者数据格式文件对接方式, 自动对接不同财务核算系统的财务数据, 保证子财务数据自动集成到集团财务合并报表系统中, 保证子公司账表数据一致性。通过对接统一核算数据是运用信息系统编制合并报表的重要步骤及难点, 需要集团企业、各子公司大力支持, 财务人员与IT团队共同完成的一项艰巨任务。

4. 创建科目映射, 统一科目明细

将各子公司不同的财务核算系统对接或者财务数据格式对接的同时, 制定集团标准的一级会计科目, 并收集各子公司的会计明细科目, 分析两者之间的关系, 创建子公司会计明细科目与标准合并明细科目之间的映射关系, 定义映射规则, 确保子公司的财务数据均能够对应汇总至企业集团的标准合并科目上, 从而消除子公司会计明细科目不统一对合并报表信息系统基础数据采集来源定义不一致的影响。

5. 搭建对账平台, 实时完成在线对账、抵销

基于搭建的关联交易对账平台, 各子公司可以上传往来交易、相互对账并互相确认、查看对账结果、处理差额;完成对账后, 子公司把交易明细数据和差额调整数据录入抵销模板。 (当对账出现差异时, 关联交易对账一方可以在对帐结果表中看到本企业和每一个有关联交易往来的企业在各个对账科目的差异。) 待所有对账范围内企业完成合并报表所需的关联交易对账, 系统实现对关联交易数据的锁定;数据锁定之后, 系统自动计算出所需的抵销数据, 生成合并抵销分录。实现自动化的内部交易抵销将会是一项重大的挑战。

6. 设置自动催报功能, 提高工作效率

设置自动发送短信或邮件进行催报功能, 能及时提醒各子公司上报相关数据, 同时可以对整个集团的报表报送情况一目了然, 提高工作效率。

四、实施合并报表信息系统的保障措施

1. 领导高度重视, 自上而下推广

在实施方法上必须由总部牵头, 通过管理手段推广到各单位。没有主管领导的重视、集团强有力的手段、明确的管理要求是无法推进合并报表在全集团的实施及使用的。总部层级合并的实现是合并报表系统上线的关键, 合并报表无法自下而上实施, 分步实施往往会带来实施的反复和返工, 有的时候会造成无法挽回的遗憾。

2. 基层财务人员的参与

在实施过程中集团企业、各子公司财务人员应积极参与到系统设计和实施工作中去, 提出问题、解决问题, 与顾问团队一起打造一个适合本企业集团的合并报表信息系统。

3. 加强信息系统团队建设

基层财务人员的素质和业务能力是新系统不断开发和应用的保障, 只有不断加强财务人员的素质培养和业务能力训练, 让财务人员准确理解、熟练使用、不断创新, 才能保证系统终端数据的准确性和完整性, 不断完善系统功能。

4. 建立稳定的支持体系

上一篇:综合实践学校下一篇:化学法处理电镀废水