报表系统范文
时间:2023-03-27 01:38:17
导语:如何才能写好一篇报表系统,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
ATM监控系统集SNA通信技术、TCP/IP通信技术、数据库技术、数据库远程同步技术、语音卡技术、报表技术等多种技术于一体,实现了基于银行分布式网络环境下的ATM集中管理。银行需要通过ATM监控系统将总行数据分发到各地市行的数据库,各地市行通过报表及时掌握本地区ATM机的整体状态信息、局部状态信息和交易信息。同时,银行高级管理人员通过系统灵活的报表来进行科学的决策分析。所以,从用户的使用频度来说,除了交易监控之外,接下来就是报表的使用了。由此可见,报表是很重要的一项功能。相对应的,报表内容的测试在整个ATM监控系统中也就显得很重要了。
虽然所有报表测试的总体目标都是相同的,即要求生成的报表的统计结果是正确的。但是因为银行业务的独特性,所以ATM监控系统的报表测试与一般信息管理系统的报表测试,在以下三方面有所不同。
信息类型不同
ATM监控系统要处理的信息有两类:一类是管理信息,主要用于将ATM的状态告知前置服务器,如OEX信息、RWT、RDT、RTT等交易;另一类是客户交易信息。而一般信息管理系统要处理的信息则主要是交易信息。
报表统计的原始数据不同
对于ATM监控系统,每天日切时,系统将根据历史(包括当日)的交易以及状态信息进行分析统计,产生新的分析统计记录。ATM监控系统的报表统计功能使用的原始数据就是这些每日产生的新的分析统计记录(笔者在这里称为:报表中间数据)。而一般信息管理系统的原始数据,则是通过系统执行交易或操作产生的报表统计的原始数据。
测试方法不同
因为报表统计的原始数据不同,所以两类系统的报表在测试方法上也有一定的区别。对于一般的信息管理系统,可以通过在相应功能界面进行数据的增、删、改操作,然后在报表界面执行生成报表操作,就可以验证报表数据的正确性。但是ATM监控系统无法简单通过前台界面的操作来验证报表数据的正确性。
本文是笔者在某省行ATM监控系统中,对超过三十个报表进行测试的经验总结。在本项目的报表测试过程中,笔者主要通过以下六个方面进行测试:功能测试、界面测试、数据正确性测试、单设备和多设备测试、权限和访问安全性测试、报表性能情况验证。
功能测试
功能测试主要是对报表的基本功能进行测试,如正常生成报表功能、二次查询、报表导出等正常功能外,还对报表统计日期合法性控制、没有数据情况下进行生成报表等异常控制的测试。报表功能测试的主要目标是:验证报表基本功能的正确性,为后续的数据正确性测试奠定基础。
报表的功能测试是整个报表测试的基础内容。同时,通过这部分测试,测试人员可以逐步了解报表模块的需求,提高业务的熟悉程度。因为这部分内容的测试方法和其他功能的测试没有太大区别,所以这里不再详细介绍。
界面测试
报表的界面测试,也可以算是功能测试的一部分,但是由于更侧重于界面内容的正确显示验证,所以笔者将它剥离出来作为单独的一项测试内容。
界面测试的主要目的是验证界面显示的内容是否正确,是否符合软件开发规范。避免出现如表格布局不合规范、打印的硬拷贝少了表格线、界面有多余字符之类的情况。在报表测试中,界面测试的主要内容包括:报表表头信息、报表整体界面、报表导出文件的界面显示、打印预览时的界面显示、打印出的硬拷贝内容的界面显示等。
数据正确性测试
报表功能的基本要求,就是通过统计分析操作,提供给用户所需的准确数据。如果无法实现这个基本要求,则报表会完全失去意义。所以,报表测试很重要的一个内容就是对报表数据进行正确性的测试,而这部分工作也最复杂。在本文提到的某省行ATM监控系统的报表测试中,笔者主要从以下五个方面进行报表数据正确性的测试。
1.多个报表相互对照
在交易类报表中,有一些报表取的原始数据是相同的,我们可以在假设这些报表取的数据库表的数据是正确的前提下,通过对比这些报表相同列的数据,进行报表结果是否取正确数据的验证。如:交易情况明细表、金融交易统计表、它行卡、发卡机构交易分析、盈利情况表,虽然这几张报表表单不一样,但是本行卡、它行卡的交易笔数、金额却应该是相同的。在测试时,我们通过对比这几张报表同一字段的数据,发现“金融交易统计报表”中,“改密”和“缴费”这两列取了错误的数据。
这种方法是在有假设的前提下进行的,所以具有一定的局限性。假如所有报表的同一列都取错了数据的话,那么这个方法就失效了。尽管如此,这个方法还是可以帮助我们在测试初期快速发现一些简单的数据错误缺陷。
2.修改数据库数据
部分报表的数据,由于数据的验证比较烦琐,可以通过修改数据库表对应字段数据的方式,来验证报表数据是否如预期设置生成报表。
在测试“厂商服务质量报告”时,为了验证报表是否只统计“接警操作员”和“修复操作员”为同一个人对应的故障数据,我们可以在数据库中修改某一故障记录对应的“修复操作员”的数据,将它修改为和“接警操作员”不一致的数据,然后进入系统,生成对应统计条件的报表数据,验证系统是否有将这条“修复操作员”和“接警操作员”不相同的故障记录也统计出来,通过这种方式来验证数据的正确性。
3.特征数据的准备
对于有特殊计算要求的报表,我们要准备相应的特征数据。在本系统中,每台设备在省行、分行等各级机构,分别设置了直接维护人员、监护人员、督办人员三个管理员。当ATM产生故障时,这些管理员要对这些故障进行响应和处理。为了统计管理员们及时响应故障、及时处理故障的情况,系统设计了响应及时率、处理及时率之类的及时率计算数据。对于这类报表数据正确性的验证,笔者使用边界值和等价类划分的测试用例设计方法,设计了及时率测试用例。具体举例如下。
处理及时率的计算方法是:将“故障修复时间”与“故障报警时间”的差值与配置文件中的“故障处理超时时间”进行对比。当差值小于或等于配置文件的设置,则说明处理及时;反之为处理超时。在实际测试时,笔者修改配置文件中的“故障处理超时时间”为10秒,然后修改某故障记录的“故障修复时间”与“故障报警时间”的差值分别等于9秒、10秒、11秒,然后执行报表生成操作,验证系统是否正确统计及时和超时的数据。
通过这个例子说明,在进行类似需要进行类比操作后才能得到的统计数据,可以考虑将测试用例设计方法融入测试设计中,设计特征数据来进行测试,避免测试的盲目性。
4.报表数据的正确性验证
ATM监控系统的报表统计的“原始数据”是通过后台程序在指定时间,对日常交易数据、管理数据进行统计、分析后生成的,所以在进行ATM监控系统的报表测试时,还需要对生成的报表中间数据的正确性进行测试。这部分测试的重点是,验证后台程序是否将符合条件的交易数据、管理数据生成报表中间数据,即验证报表中间数据的正确性。
例如,在进行生成故障报表数据的测试时,为了验证系统没有将“维护结果”为“尚未处理”的报警记录生成报表中间数据,但是“维护结果”为“成功”和“失败”的报警记录可以生成报表中间数据的功能。笔者特意设计了三笔不同“维护结果”(成功、失败、尚未处理)的报警记录,执行生成报表中间数据的脚本,然后到“故障统计分析”报表中,验证生成的报表数据是否正确(如果报表中间数据生成有误,这里得到的报表是错误的)。采用这种方式间接验证程序是否如预期的要求生成了正确的报表中间数据。
5.留意四舍五入对报表数据的影响
在生成的统计报表中,报表数据不可避免的会发生四舍五入的情况。对于普通比例列的计算,只需验证是否正确四舍五入即可。这里提到要留意四舍五入对报表数据的影响,主要是指四舍五入对于合计列的影响。如:对于合计列,要注意百分比的合计结果应为100%,合计列的数值要等于所有统计列之和。
单设备与多设备测试
为了验证程序在选择单设备和多设备时处理是否都正确,笔者特意对报表模块,在选择单设备和多设备的两种情况下分别进行测试。这部分测试,可以说是功能测试中的一项边界测试。由于测试目的明确,所以笔者将它单独出来说明。通过这部分测试,笔者发现了部分报表在单设备情况下,处理有误的缺陷。
权限和访问安全性测试
在报表测试中,除了功能测试、数据正确性测试外,我们不要遗漏权限控制和访问安全性的测试。为了验证报表在权限控制和访问安全性的控制,笔者使用不同机构的用户对报表模块的所有报表进行测试,验证权限控制,以及报表正确筛选数据的功能。指定机构级别的用户只能看到指定机构级别的数据和设备。例如:使用三级机构的用户登录系统,进入某个报表界面,即使是直接选中“省行”执行生成报表操作,也只能列出该机构所属设备对应的信息。
报表性能情况验证
篇2
关键词:中资银行;境外分行;报表系统
中图分类号:
F83
文献标识码:A
文章编号:1672.3198(2013)03.0117.02
在中国加入世贸组织的十余年间,伴随着金融业几次开放扩大,和外资银行的大量涌入,我国银行也在积极的探索着海外经营之路。一个国家的银行境外分支机构是是该国金融业在国际竞争中的桥头堡,是提高国家银行业整体水平的重要形式。目前,我国银行业发展势头良好,各大银行持续进军海外,截至2011年末,中国工商银行(ICBC)在33个国家和地区设立了239个境外分支机构,中国银行(BOC)在海外36个国家开办了600多个分支机构,中国在海外的两大龙头银行已经与遍布136个国家和地区的近2000个境外银行建立了行关系,全面覆盖了亚、非、欧、美、澳五大洲和主要国际金融中心。渠道多样、层次分明、定位合理、运营高效的全球金融服务平台基本建成。同时,建设银行、交通银行、农业银行等这几年也都在大刀阔斧的实施国际化战略。可以看到的是,未来10年,中国商业银行将在海外走得更远。
在境外银行业业务发展突发猛进的局面下,我们也要发现,由于大部分中资银行境外机构都地处其他国家的金融中心,为了更好地规范行业行为,有效地监督国内金融机构所从事开展的各项业务,各国都有一套符合自己国家特色和国际形势的金融监管体系。目前,国内各大银行对其境外银行分支机构的监管报表体系还是简单移植境内的报表体系,这种做法已经无法应对新时代的监管需要了,为此,我们需要结合中资银行境外机构银行报表系统的实际需求,设计能满足我国银行业务发展、经营管理、战略决策、信息披露、外部监管与审计等需求的境外机构报表系统。
在设计中资银行境外机构报表系统时,我们主要从两个维度进行分析:既要对境外机构监管报表的业务种类进行划分和确认,又要主要到境内外监管制度和规范的差异。
1报表业务种类分析
按照分行的报表管理目的来分,可分为三类,(1)总行布置的统一报表;(2)分行内部管理的特色报表;(3)分行报送银监会或央行的监管报表。从时间维度可以分为:日报、月报、季报、半年报、年报、周期报等。从业务分类来看,监管报表可以分为资产负债(Balance Sheet)类报表、损益(Income Statement)类报表、现金流量(Cash Flow)类报表等3大类报表。
资产负债(Balance Sheet)类报表:反映某一特定日期财务状况的报表,反映了在某一特定日期所拥有或控制的经济资源、所承担的现时义务和所有者对净资产的要求权。通过资产负债表,可以提供某一日期资产的总额及其结构,以及所拥有或控制的资源及其分布情况。资产负债表是进行财务分析的基本资料,有助于报表使用者做出经济决策。
损益(Income Statement)类报表:反映在一定会计期间银行的经营成果的会计报表,反映了经营业绩的主要来源和构成,有助于使用者判断净利润的质量及其风险,有助于报表使用者判断企业未来的发展趋势,做出正确的经济决策。
现金流量(Cash Flow)类报表:反映在一定会计期间现金和现金等价物流入和流出的情况,现金流量表主要划分为经营活动、投资活动和筹资活动3个部分,从不同角度反映了现金的流入和流出,弥补了资产负债表和损益表提供信息的不足。通过现金流量表,能够了解现金流量的映像因素,评价支付能力、偿债能力和周转能力,预测企业未来现金流量,为其决策提供有力依据。
由于监管报表分类比较繁多,下面主要以国内某大型商业银行在境外某国的境外机构监管报表为例,对涉及的几个重要业务领域的报表进行简要介绍:
DEPOSIT (存款)类报表:
DEPOSITS OF NON-BANK CUSTOMERS BY SIZE:该类报表主要描述了非同业存款情况,以存款客户为基础,按存款金额等值新币(按上报月月末汇率)按金额区间进行分类,分别对各个区间的存款客户数目及金额进行统计。按DBU/ACU进行分别统计,提供总表及明细表,明细表中需给出客户代码、客户名称、国籍、居住地、原币种、原金额、等值新元、核算网点号等详细信息。
TOP TWENTY DEPOSITORS OF NON-BANK DEPOSIT CUSTOMERS:该类报表主要描述了前20名非同业存款客户的存款情况。
DEPOSITS OF NON-BANK CUSTOMERS BY TYPE:该类报表主要描述了非同业存款按照分行当地监管要求进行TYPE分类的情况,由于分类比较复杂,不详述。按照具体分类对非同业存款客户的存款情况进行统计。
DEPOSITS OF NON-BANK CUSTOMERS BY SOURCE:该类报表主要描述了非同业存款按照分行当地监管要求进行分类的情况,由于分类比较复杂,不详述。按照具体分类对非同业存款客户的存款情况进行统计。
INTERBANK INDEBTEDNESS(同业间)类报表:
INTERBANK INDEBTEDNESS BY COUNTERPARTY IN SINGAPORE:该类报表主要描述了同业间拆借拆放的具体情况,主要涉及在分行当地注册的银行,按同业间客户为基础进行统计。
INTERBANK INDEBTEDNESS BY COUNTERPARTY OF OTHERS:该类报表主要描述了同业间拆借拆放的具体情况,主要涉及在其他国家注册的银行,包括离岸银行,按同业间客户为基础进行统计。
LOAN(贷款)类报表:
LOANS AND ADVANCES INCLUDING BILLS AND CONTINGENT ITEMS BY SIZE:该类报表主要描述了贷款、贸易融资等情况,以贷款客户为基础,按贷款金额等值新币(按上报月月末汇率)按金额区间进行分类,分别对各个区间的贷款客户数目及金额进行统计。须提供对应客户的额度统计,提供总表及明细表,明细表中需给出客户代码、客户名称、国籍、居住地、原币种、原金额、等值新元、核算网点号等详细信息。
LOANS AND ADVANCES INCLUDING BILLS AND CONTINGENT ITEMS BY TYPE:该类报表主要描述了贷款、贸易融资等情况,以贷款客户为基础,按监管当局提供的贷款、贸易融资分类进行分类统计。提供总表及明细表,明细表中需给出客户代码、客户名称、国籍、居住地、原币种、原金额、等值新元、核算网点号等详细信息。
LOANS AND ADVANCES INCLUDING BILLS AND CONTINGENT ITEMS BY INDUSTRY:该类报表主要描述了贷款、贸易融资等情况,以贷款客户为基础,按行业对贷款以及贸易融资进行分类统计,行业划分参照新加坡的行业划分标准。提供总表及明细表,明细表中需给出客户代码、客户名称、国籍、居住地、原币种、原金额、等值新元、核算网点号等详细信息。
PORTFILIO(资产组合)类报表:
PORTFILIO REPORT FOR DEPOSITS:该类报表描述了存款资产组合的基本情况,需要按照国家、居住地、行业等要素进行资产组合划分,并进行分类统计。
PORTFILIO REPORT FOR LOANS:该类报表描述了贷款资产组合的基本情况,需要按照国家、行业,品种等要素进行资产组合划分,并进行分类统计。
PORTFILIO REPORT FOR INTERBANK INDEBTEDNESS:该类报表描述了同业间拆借拆放资产组合的基本情况,需要按照国家、行业、品种等要素进行资产组合划分,并进行分类统计。
DERIVATIVE(衍生物)类报表:
DERIVATIVE CONTRACTS BY TYPE:该类报表主要描述了本行进行金融衍生物投资的基本情况,主要按照种类进行划分(大致包括Futures/Forwards、Swaps、Option Bought、Option Sold等4类),并进行分类统计核算。
DERIVATIVE CONTRACTS BY RISK CATEGORY:该类报表主要描述了本行进行金融衍生物投资的基本情况,主要按照风险类别进行划分(大致包括Interest Rates、Foreign Exchange、Equity、Credit、Others等5类),并进行分类统计核算。
MATURITY(到期日)类报表:
ASSETS AND LIABILITIES BY MATURITY (BY RESIDUAL MATURITY):该类报表主要描述了资产负债到期日的大致情况,需要对各项资产、负债按照月末报表日至到期日的期间段进行划分,并按照区间进行分类统计。
ASSETS AND LIABILITIES BY MATURITY (BY MATURITY TO NEXT ROLLOVER / RATE RESET):该类报表主要描述了下一个ROLLOVER资产负债到期日的大致情况,需要对各项资产、负债按照月末报表日至到期日的期间段进行划分,并按照区间进行分类统计。
INTEREST OF LOAN BY MATURITY (BY RESIDUAL MATURITY):主要对贷款在到期日前的利息按照区间进行了分类统计。
2境内外报表系统需求差异
目前,国内各大银行的境外分支机构均面临着机构员工人数较少、业务种类相对国内差异较大、远离本土、受到总行与当地央行双重监管等与国内不同的因素。因此,我们在设计海外分行的报表系统时,应当考虑到该报表系统的本地化。这种本地化是将一个软件产品按特定国家、地区或语言市场的需要进行加工,使之满足特定市场上的用户对语言和文化的特殊要求,是一项复杂的系统工程。并针对国外产品操作界面与国内风格的不同,通过进行适当修改、界面简化或进一步细化成一个容易使用的操作系统,实现系统对应内容的差异最小化。
同时,由于监管环境和相关法规是核心约束,无法进行改动,为适应其他国家的财会准则以及人民银行、银监会等监管机构的监管要求,我们的开发人员需要对系统进行一定程度上的修改,此类差异主要体现在以下几方面:
(1)国内外利息率监管制度不同。利率以其多维、立体的参数设置和组合,在打通银行及相关混业领域、联贯各产品方面发挥着灵活的作用。国内现阶段金融市场尚未完全放开,利率很大程度上是金融监管当局的管理工具。而在国外发达的金融市场环境中,利率作为最核心、最重要的交易要素主要体现在价格功能。各国监管部门对利率规定繁多,利息计算方法复杂,因此产生很多差异。
(2)国内外对外汇交易监管程度的不同。在外汇管制的背景下,结售汇是我国监管框架下的特殊业务。根据我国外汇局外汇管理的有关规定,需要对其每一笔交易进行逐笔、逐级进行审批;还要进行询价、头寸申报、买卖外汇、结算、售汇报表等。国外由于外汇自由兑换,没有哪个模块有类似功能。因此在设计时不能直接套用国内的规定。
(3)国内外会计制度及财务管理理念的不同。需要重新构架会计体制,实现会计管理的全面转型。并针对国外核心业务系统的会计核算功能,靠交易驱动来实现系统自动化处理。会计核算不仅要跨越管理理念的差距,而且要把大量的制度创新和方案设计的工作想在前头和做在前头。如果会计核算结果的准确性、效率性及安全性缺乏保障或受到置疑,就会动摇整个核心业务系统的根基。
篇3
关键词:现场录井;报表;自动生成;模版;数据检查
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)12-2735-02
An Improvement Method of Logging Statements Automatic Generation System
TIAN Xiang-zhai
(Geological Logging Company of Shengli Oil Field, Dongying 257064,China)
Abstract: According to the application inconvenience of logging statements automatic generation system which is widely used for scene squad currently, an improvement method is proposed to achieve greater execution efficiency of the logging statements automatic generation system and meet the traditional work requirements. This method combines with the enterprise standards and considers the practical facts in line with the experience of on-site staffs, finally finds the bonding point of professional knowledge, practical experience and computer pro gram to achieve technological progress. The method proposed in this paper achieves the perfect combination of efficiency and application flexibility through the enhancements of on-site logging technology.
Key words: on-site logging;logging statements;automatic generation; masterplate;data checking
录井报表自动生成系统主要用来实现现场存档录井资料报表、报告的自动生成。由于地质录井专业的特殊性,几乎每一张报表都有自己完全独立的格式,并且根据实际情况同一张表也会有不同的显示和排版方式,因此,录井报表自动生成系统是一个非常复杂并且专业性极强的系统。根据井型、录井仪的不同,录井生产报表可分为很多格式,在应用过程中不断出现许多有待提高和改进的地方,这其中包括软件本身功能不完善的地方、由于现场的复杂性导致标准的不完全确定性、软件操作的不方便性、由于操作人员对软件掌握不够引起的不便等等原因。
1目标的确定
录井报表自动生成系统自开始试验应用以来,取得了较好的应用,但也暴露出了许许多多的问题甚至错误,通过大家的努力,与地质专家一起反复的确定标准,反复的修改模版,该系统的功能越来越完善了,也越来越灵活了,但是随着应用的推广以及进一步的深入,还是有提高发展的余地,我们作了大量的调查研究工作,确定了一些有待改进的项目,以下就是有代表性的几个方面。
1.1大文本字段固定宽度在报表和绘图中的实现
例如观察记录表,由于“观察内容”是一个大文本字段,根据排版的要求需要将输出的word文档按照录入时的排版格式进行打印,但录入时是将数据存入数据库,而输出的word文档又是自动生成,排版困难。如果按照生成报表的排版格式的要求,需要直接在数据库中确定每一行的宽度,为了达到这个目的,我们先前的设计是在录入界面上设定好每一行的宽度,在向数据库中保存的时候程序自动在每一行的后面加上一个硬回车符号,这样在输出报表的时候就会自动换行了,但是这样本质上就对数据库中的数据进行了改动,是不符合要求的。
1.2按不同井型、不同录井仪等参数选择不同的模版的实现
录井报表依据不同的实际情况要求极高的灵活性,根据现场情况的复杂性,报表输出时选择模版是不确定的。如井型、录井仪等各种参数的不同,输出报表的格式是不同的,完井报告中,一定情况下需要打印某张表,而在另一种情况下就可能不需要打印这张表。如何依据各种参数的来自动确定报表输出的不同就是要实现的目标。
1.3数据检查功能的实现
完井报告内容较多,涉及到了大部分数据表,而这些表又不一定是与录入界面的表一一对应的,操作人员由于操作的不够熟练很有可能输错或者漏输了一些数据,而且我们要求不能在报告的word文档中直接修改数据,那么即使知道数据输错或输漏有时操作人员也不知道在哪里进行纠正,这就需要数据检查功能的实现来帮助操作员清楚的认识到错误所在。
2解决方案
为了尽量避免这种中看不中用的软件产品的产生,更好的提升软件的质量和易用性,我们从地质专业和计算机专业的每一个细节入手,制定了以下较为理想的解决方案。
2.1大文本字段解决方案
要实现现场数据录入人员在录入界面中设置的宽度和格式就是自动生成的报表的宽度和排版格式,那么就必须依据录入界面的排版宽度保存每一行的宽度,此前的方法是程序在每一行文字的后面自动加入了一个回车符号保存到数据库中,但这样数据库里的数据就发生了改变,如果今后的输出报表格式发生变化,比如宽度增加或减少,那么自动生成后显示的报表内容就会出现很多不必要的回车符了。
为了解决这个问题,我们考虑在程序中创建一个隐含的“textbox”控件,保存录入人员设定的固定宽度,在打印报表时调用“text box”中保存的该字段内容的每一行的宽度从而输出每一行。处理流程如图1。
图1大文本字段处理流程
2.2参数选择解决方案
完井报告的打印输出是非常灵活的,它根据各种参数的不同会有不同的模版。比如“井型”,在数据录入时,录入人员可能根据实际情况录入各种各样的不同的井型名称,没有一个统一的标准;但是当生成完井报告时,只有“直井”、“一般斜井”、“水平井”、“开窗侧钻井”四种不同的模版,这是比较标准的。所以程序没有办法从数据库中提取相关的字段内容进行自动生成,因此我们定义了一个参数选择的模块。
在输出解释成果表时,依据录井仪的型号有三种不同的模版,但是数据录入过程中操作员可能会填写更加具体的仪器型号,因此程序无法自动调用哪一个模版,也需要手动进行参数的选择。
另外有几个字段是程序中不好确定的。比如“套管名称”列只有5列,那么若本口井有5种以上的套管该怎么办呢?如何选择或者说哪个重要,程序就不能自动判断了,原始设计时想从后面往前选择5种,但是有些是不用打印的,比如“尾管”,那么就在初始打印时作了一个参数的选择,在“套管打印顺序”栏中程序从数据库中取出所有套管类型,可以通过上下箭头选择打印的顺序,若多于5个,只打印前5种。“统计不同壁厚下深套管”的选择和“井斜打印顺序”的选择也都是基于这种原因。
以上所述都是系统在推广过程中遇到问题以后通过分析总结进行了参数的选择与确定,是为了适应现场报表自动生成的灵活性和精确性的要求,利用计算机程序设计理论进行了模块设计而实现的。随着今后录井技术的发展、录井范围的不断扩大、报表生成标准的进一步改进,也许会有更多的需要人工干预的地方出现,那么我们就可以利用这种思想设计出更多的参数提供选择,从而生成正确的报告报表。
2.3数据检查功能解决方案
形象的说,目前按照录入系统,数据是一张一张表进行的存储,但是在报表生成系统中,报表是从不同的数据表中抽取的数据生成的。那么小队发现问题时有时不知需要从哪里进行更改,为了提高资料整理、检验的速度,我们开发了数据检查功能,对每个字段的内容快速进行检验,并提示用户报表中目前缺少的内容。
数据检查模块将会按进程检查每一张数据表,如果任何表中有空数据或错误的数据,这个文本框都会给出提示意见。它在检查每一张表时,会把报表里缺的字段与数据库里的字段一一对应起来进行提示,使现场操作人员一目了然,可以轻松的选准数据项进行修改。
上述的数据检查是在生成报表之前,我们称之为“事前检查”,相对于这个功能,我们还设计了“事后检查”的功能。“事后检查”就是当我们选择生成任意一个表时,在自动生成完这个数据表后如果有错误,会立即弹出一个IE浏览器窗口,用来提示错误信息,这个错误信息暂存在安装目录下的temp文件夹下。
“数据检查”模块通过计算机程序检查数据库中每一个字段的填写内容,提高了资料整理、检查的速度,保证了数据的正确性,告诉操作人员出现问题的所在地,减轻了操作人员的劳动程度。因此“数据检查”模块可以形象地称之为“会说话的模块”。
3遗留问题及今后打算
现场存在的问题是多种多样的,它会随着时间的发展表现的越来越复杂,这就要求我们时刻以生产为重,密切关注软件运行的情况,努力学习多方面的理论知识,成为现场资料整理软件运行的守护员,出现问题及时解决,出现需求及时满足。
参考文献:
篇4
[关键词]基于组件;报表自动生成;系统;实现
中图分类号:TP311.52 文献标识码:A 文章编号:1009-914X(2017)13-0161-01
1 前言
现有的大多数企业信息管理系统中的报表系统大多存有以下局限和不足:不能实现报表的自动生成,报表格式和数据内容都需要人工输入、校正;只能满足单一类型或格式的报表生成、处理功能,一旦要增加其它的报表类型(如增加一个财务报表、统计报表等)则必须重新改写系统代码,带来系统扩充困难、成本大等问题;报表定义的工作非常繁琐,且不直观;缺少灵活性,不能很好地实现报表重用。为解决上述问题,研究设计一种应用于企业信息化管理系统集成环境下的报表自动生成系统具有十分重要的理论和实际意义。
2 报表自动生成系统的设计
2.1 报表自动生成的流程
根据以往设计开发ERP系统中报表处理系统的经验和对各种不同类型报表的分析结果,我们归纳出报表自动生成流程基本上是这样的:①用户提出需要生成的报表需求(包括报表类型、样式、属性特征和数据源等);②描述用户需求使其成为报表系统能够识别的语言格式(图形或文本);③根据用户需求,系统定义好表头和报表格式等参数;④根据用户需求,系统自动从应用数据库取出相关报表数据源并自动填充到报表中的相应位置;⑤系统自动生成报表并输出(包括打印输出和集成输出到常见办公软件如Word等)。
2.2 对报表的划分处理
通过对各种不同的报表进行分析,我们发现无论什么类型的报表,无非是由文字、图片、数据、线段和表格等元素组成。因此,为便于系统处理报表,我们将一张报表的各部分元素进行划分处理,使其成为数据格式存在数据库中。
2.2.1 表头区:任何一张报表都包含表头和表底端部分,其内容主要是报表标题、制表部门、日期、备注等报表相关的文字或图片说明信息。我们统一把这些相应内容划分为表头区。
2.2.2 表格线区:即线段区,报表中的表格可以拆分为一条条的线段,可以是横线、竖线或者斜线等。一条条线段组合起来构成了报表的框架。
2.2.3 域区:我们把横线段和竖线段的交点及边界连线围起来的区域称作“域”(即我们常说的表格中的单元格)。域中所包含的内容可以是多种格式,如文本、图片和从数据库中取出的数据,甚至可以是子表。域和域的数据之间还可以互相关联,可以有着计算或者平衡等相互关系。
2.2.4 报表数据区:是从相应用户数据库中取出的自动填充到相对应的域中的报表数据。通过这样的划分处理,任何一张报表都可以由这样几个区域来表示,只需要分别定义描述这几个区域的各种属性,就可以达到对整个报表进行处理、自动生成的目的。
2.3 基于组件技术的系统开发设计思想
在分析报表自动生成的流程特点和对具体报表进行划分处理的基础上,我们觉得,采用基于组件技术的开发模式来设计实现报表自动生成系统,是一个比较方便可行而且符合系统集成需要的途径。组件技术不但能够简单实现不同组件之间的互相调用,而且能够在最大程度上实现组件重用,提高系统的效率和代码利用率。利用组件技术,需要实现的报表自动生成系统的功能,则可以通过调用报表定义、报表生成、报表数据运算、报表输出等组件从而轻松完成。
3 基于组件的报表自动生成系统的实现框架
3.1 数据库
数据库用来存储整个系统需要用到的各种数据,其中包括:应用数据库:主要用来存储应用系统有关的各种数据,如库存数据库、销售数据库等,是各种报表的直接和间接数据源。
报表数据库:通过对报表的划分处理将报表存成数据库格式,报表各部分属性特征存入相应的各种数据库,如表头特征库、运算公式库、线段特征库等。
报表模板库:对于一些格式固定或者变化很小的报表,系统可以将其报表格式做成报表模板存入模板库中,已备下次直接调用。
3.2 底层组件
报表自动生成系统的底层组件是封装实现报表自动生成功能的最基本的功能组件,报表的定义、生成、修改以及相应的公式运算都是通过高层组件调用这些基本底层组件来实现的。主要包括报表格式、表头定义组件:用以实现报表格式和报表表头的用户定义,做成一个可视化图形界面,以方便用户任意定义报表格式和报表表头的样式,包括表头字体大小、颜色、粗细等属性。
报表属性特征定义组件:主要用来定义描述报表划分后域的相关属性以及线段的相关属性。域的相关属性特征包括域中的字体特征、对齐方式、域中内容的起点和终点坐标(x,y)、数据类型等属性;线段的相关属性特征包括线段的起点和终点坐标(x,y)、线段的粗细、颜色、虚实等属性。
3.3 高层组件
用户通过用户端向系统发出报表需求,用户端组件再进一步调用高层组件,而高层组件则通过集成底层组件所提供的各N功能来满足用户的需求,从而达到报表自动生成的目的。由于高层组件可以根据用户的需求来修改和定制,并且又可以随意调用基本的底层组件,所以在最大限度上实现了代码重用,保证了系统的灵活性和重构功能。高层组件主要包括报表定义组件、报表生成组件、数据运算组件和异常处理组件。
4 结束语
无论是在报表系统还是在其它企业信息管理系统、ERP系统的设计开发中,如何降低重复编码的工作量、尽量实现系统重构和再生功能无疑都是一个倍受关注的问题,而基于组件技术的开发模式则为我们解决这一难题提供了一个新思路。组件技术的灵活性、重用性和可集成性都为其使用前景提供了有利的条件。如何将组件技术更广泛地应用到各种集成系统中,从而提高整个系统的扩展性和可维护性,值得进一步的研究。
参考文献
[1] 刘艳平,俞海英,戎沁.Python模拟登录网站并抓取网页的方法[J].微电脑应用.2015(1):58-60.
篇5
关键词:组态软件IFIX;ODBC;ADO;数据库管理系统;API
中图分类号:TP29文献标识码:A文章编号:1009-3044(2008)31-0892-04
Data Report and Realization of in Automation of Coal Blending System
ZHU Hui1, HAN Fang-fang2
(1. Shandong Province Sanhekou Mining Co., Ltd., Jining 277600, China; 2. College of Information and Electrical Engineering of CUMT., Xuzhou 221008, China)
Abstract: Related information collection,processing and storage plays a more important role in automation of coal blending system. This paper Statements the process of data reports making and the realization of the sound alarm function,and described the key technologies,principles and methods in detail.
Key words: IFIX; ODBC; ADO; database management system; API
1 引言
计算机自动配煤系统的原理是基于装车皮带末端的灰分仪给出的实时在线灰分数据和皮带秤的流量,根据约束条件和目标灰分,建立合理的数学模型,动态优化配比,闭环控制,用开给煤机的台数进行粗调,变频调速技术来进行细调,使实际灰分和目标灰分最大限度接近,从而使配煤更加稳定、可靠和准确。配煤系统的自动运行,减少人员的参与,提高装车的速度和可靠性,改变过去人工配煤装车的落后方式,并且计算机自动配煤装车系统的实施要在最大化的利用原有生产设备的基础上进行,充分利用现有资源,节省成本。
本文章所依据的某矿的自动配煤系统由可编程逻辑控制器PLC、组态软件ifix以及工控机等设备组成,该自动配煤系统不仅能够让操作员控制现场设备,查看设备当前的状态信息以及相关的配煤数据如皮带上的煤流量、各皮带的实时灰份、配煤的目标灰分等,还可以对之前的数据进行查询、打印等,当相关的参数超出要求范围发出相关的报警信息。其结构和相关数据,如图1示。我们主要针对该系统中报表的制作和声音报警的实现进行阐述。
2 数据采集方案研究与确定
IFIX中也有历史数据库和实时数据库,但所能存储的时间和数据量是有限的,并且对相关数据的处理也不太方便,因此我们需要将我们所需要的一些关键数据转存至专业的数据库管理系统中,以备我们制作报表[1]以及查询等相关的数据操作。IFIX使用VBA(Visual Basic for Applications)作为其脚本语言。脚本在iFIX 中许多地方都有应用。VBA面向对象和事件驱动的开发环境,支持Microsoft 窗体和ActiveX,可以使用命令专家或使用VB编辑器VBE编写IFIX中对象的VBA脚本。
IFIX过程数据库中的数据存储时间和存储容量有限且不方便我们对数据进行相关的操作,为此我们一般要将过程数据库中的数据首先转存到关系数据库如Access[3]或Sql server[2]数据库中,以便于我们对数据进行相关的管理和分析以及报表的制作。将这些数据转存至关系数据库可以通过两种方式进行,一种是利用ODBC接口,另一种是通过ADO接口,下面我们分别讨论对两种方式实现的方法。
2.1 利用ODBC接口实现数据转存
在本工程应用中数据库管理软件可采用ACCESS或SQL SERVER,由于iFIX和这两种数据库管理软件都支持ODBC标准,可以通过ODBC接口实现SCADA节点和数据库服务器之间的数据通讯。开放式数据库互连(ODBC)是Microsoft建议并开发的数据库访问API标准,它是建立在各种数据库管理系统底层驱动程序之上的一个标准层,对数据库的底层作了封装,允许应用程序用统一的访问数据标准:结构化查询语言(SQL)来访问数据库管理系统中的数据。ODBC技术的最大优势是开放的互操作性,通过安装多种ODBC驱动程序,可实现同一应用程序对不同数据库的访问。
通过在iFIX端安装数据库客户端程序,把SQL SERVER/Access数据库作为数据源来实现连接。在iFIX中可通过两种ODBC结构(多层ODBC结构和单层ODBC结构)来实现通讯。单层结构,如Access驱动器,通常直接在数据库文件上运行。单层ODBC结构可以处理ODBC调用和实际SQL命令。多数情况下,数据库文件和应用存在于同一台计算机上。但数据库文件也可以通过网络像共享文件一样位于另外一台计算机上。多层结构更为普遍,通常与远程数据库服务器如SQL和Oracle等一起使用。多层结构处理由应用层引起的ODBC呼叫,传递实际SQL命令到数据库系统。Ifix数据库管理系统建立ODBC连接的过程如图2所示。首先数据库客户端程序向IFIX系统发出请求建立ODBC连接,然后IFIX响应请求并通过ODBC接口与数据库客户端程序进行数据通讯,再由数据库引擎实现数据的操作。
2.2 通过ADO接口实现数据的转存
ADO是ActiveX数据对象(ActiveX Data Objects),这是Microsoft开发数据库应用程序的面向对象的新接口。ADO访问数据库是通过访问OLE DB数据提供程序来进行的,提供了一种对OLE DB数据提供程序的简单高层访问接口。ADO技术简化了OLE DB的操作,OLE DB的程序中使用了大量的COM接口,而ADO封装了这些接口,它是一种高层的访问技术。它具有功能较强、通用性好、效率高、占空间少等特点。随着信息网络化的发展,对数据库的访问宜采用ADO对象模型,以获得更好的性能和更大的灵活性。Ifix中的数据通过ADO接口转存至关系数据库中的流程如图3所示。具体的实现步骤如下:
1) 引用
在使用ADO前,必须做一定的准备工作,如进行声明,指定各自的版本,这项工作,称为引用。IFIX软件是基于VBA语言的,在IFIX中,ADO的引用是通过代码编辑界面中的工具/引用菜单,然后在相应的对话框中选择需要版本的microsoft activex data objects选项即可。
2) 建立连接和动态记录集
建立与数据源的连接,创建动态记录集,连接成功后不需要将数据移动和转换,而是根据需要选择相应的字段或记录形成动态记录集,这样能有效控制数据的流量。程序中可能有很多模块需要数据库连接的操作,因此我们在公用模块project_user的通用部分声明这段代码以使各个模块均可以调用该子程序,以连接access数据库为例,这部分语句如下:
Public con As New ADODB.connection
Public rst As New ADODB.Recordset
Public sql As String%对数据库进行操作的sql语句
Public Sub connection()
Dim strcon As String
strcon="Provider=Microsoft.Jet.OLEDB.4.0;Data Source= :\data\lqdata.mdb ;Persist Security Info=False;Jet OLEDB:SFP=True"
con.Open strcon
End Sub
当连接sql sever数据库时,要改变其中的连接字符串:
strcon ="Provider=SQLOLEDB.1;PersistSecurityInfo=False;User &_ ID=sa;PassWord=123;Initial Catalog=ifixdata;Data Source=192.168.0.4"
以上几句是用ADO建立联接。
下面是建立动态记录集的程序:
Public Sub Record()
Call connection
Set rst = New Recordset
With rst.CursorLocation = adUseClient
.CursorType = adOpenStatic
.Open sql, con
Set .ActiveConnection = Nothing
End With
完成了与数据库的连接,建立相应的动态数据集后便可以对关系数据库的数据进行相关的操作了。
3) 对记录进行操作
第二步完成后,就可以开始对数据库进行一系列操作,如查询记录、更新记录、删除记录等,一般通过Recordset对象的方法或属性进行。如AddNew方法用于增加一条新记录;Delete方法用于删除一条记录;Update方法用于更新记录;Find方法用于搜索Recordset中满足指定条件的记录;Filter属性用于为Recordset中的数据指定筛选条件。
将数据从IFIX中转存至关系数据库中后,我们是通过基于时间或事件的调度来进行的,基于时间的调度项是依据设定的扫描周期执行调度中的代码,基于事件的调度项是按照设定的周期对事件的条件进行判定,符合条件则执行调度中的代码,否则不执行。基于时间和事件的调度流程分别如图4和图5。
3 数据的存储和报表制作
我们要创建查询界面,和相应的报表,对于相关数据的存储,配煤系统中我们要进行存储的数据主要有煤的目标灰分、实际灰分、皮带上的煤流量等数据,我们针对这些要观察的数据进行分析,制作相应的查询界面以及可打印的报表,我们采用比较简单的EXCEL报表。
查询界面的实现是利用IFIX中的VXData控件通过ODBC接口与相应的数据源建立连接以及对数据源中的数据进行相关的筛选,再将Data Grid控件绑定到VXData所对应的数据表中,即实现了将数据源快速的连接到到可视的查询界面上,界面以实现在ifix软件中对相关数据的查询等相关操作。界面如图所示:
■
图6 数据查询界面图7 可打印的EXCEL报表
但利用VXData、Data Grid控件实现的查询界面可以很方便的实现按时间段对数据进行查询,及删除不需要的数据,但不可以对查询得到的数据进行打印,因此我们还要利用水晶报表、或其他报表控件实现对所查询数据的可打印功能,我们可以将这些查询的数据导入相应的控件即可,实现可打印的报表,这里我们简单介绍将数据导入EXCEL表单中,以实现相关数据的打印功能。
下面的语句是将数据导入建立的EXCEL表myrtp.xls中,数据库的连接及数据的查询部分省略。
Set xlapp = CreateObject("Excel.Application")
xlapp.Workbooks.Open Filename:="c:\myrtp.xls"
Set exBook = xlapp.Workbooks(1)
Set exsheet = exBook.Worksheets("sheet1")
With exsheet
.Cells(1, 1) = "自动配煤装车系统日报表"
For bi = 0 To rst.Fields.CountC1%统计数据的数目
.Cells(2, bi+1) = rst.Fields(bi).Name
Next
For bi = 0 To rst.RecordCount - 1
For br = 0 To rst.Fields.Count - 1
.Cells(bi + 3, br + 1) = rst.Fields(br).Value%数据导入
Next br
rst.MoveNext
Next bi
End With
xlapp.Visible = True
可以看到数据的查询界面如图6,将数据导入EXCEL表中生成的可打印报表的效果如图7所示。
4 声音报警的实现
在自动配煤的过程中,我们主要是根据灰分仪和核子秤提供的数据对相应的给煤机频率进行调整,调节不同媒质的煤的流量,从而达到要求的目标灰分。在这个过程中,我们不仅要保证灰分达到要求还要保证皮带上的煤流量。当实际的灰分确实达不到要求的时候我们要给出报警信息,以备操作人员进行相关的操作。我们利用API函数实现在ifix中的声音报警,首先制作所需的WAV格式的声音文件,再通过调用API函数实现声音文件的播放。
API[4]的英文全称(Application Programming Interface),简单来说,API就是应用程序接口), API 函数在使用时必须先声明, 未经声明的API 函数是不能调用的, VBA 提供了API 文本浏览器简化了声明过程。在VBA中声明API函数的语法格式是:
[ Public | Private ] Declare Function name " libname" [ Alias " aliasname" ] [ (list) ] [ as type ]
调用API 函数时必须明白所调用函数的作用, 以及List 参数列表各参数的意义,我们用到的函数名称是winmm.dll库中的函数sndPlaySound,下面是在通用部分对API函数的声明语句:
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
我们在调度里实现对相关参数的循环检测,按照设定时间对相关参数进行扫描判定是否发出声音报警,并存储相关的报警数据,对API函数的调用如下程序。
Dim filename As String
If(……)Then %判定是否满足报警条件
sflags = snd_async
filename = "文件路径+文件名.wav"
Call sndPlaySound(filename, snd_async)%调用API函数
End If
在满足声音报警的条件下便可以听到相应的声音报警。
5 总结
文章针对某矿自动配煤系统中的数据的查询、打印及相关的声音报警的实现进行了探讨,用比较简单的方法实现了自动配煤系统中的相关数据的可打印报表以及声音报警。
参考文献:
[1] IFIX.154 Student guide 2001,intellution,inc.chapter 23.
[2] Mike Gunderloy Joseph.SQL Server 2000 从入门到精通[M].北京:人民邮电出版社,2001,3.
篇6
关键词:会计监督;会计报表管理系统;系统设计
改革开放以来,随着我国经济社会的不断发展,国家经济总量的不断膨胀,给国内企业的财务工作带来了一定的挑战。在对私营经济体的发展问题进行管理的过程能中,企业的财务会计信息体系的发展问题已经得到了有关部门的关注。在国有企业的改革措施的执行过程中,国有企业的财务信息管理问题,也是国家有关部门所无法忽视的问题。在会计信息出现问题的情况下,财务腐败问题会对国企在百姓心目中的形象带来不利的影响,非国有企业的管理者在制定企业发展决策的过程中也无法对企业的实际财务状况进行把握。针对会计信息在经济领域所表现出的客观性特征,会计报表管理系统的构建,成为了增强会计信息真实性的一个重要措施。
一、会计报表管理系统的逻辑架构设计
从国家的经济发展现状来看,对会计监督工作的监督力度的强化,是国家在构建社会主义市场经济体系的过程中需要采取的一项重要措施。在对会计监督机制进行强化的过程中,会计报表管理系统的逻辑架构问题,是影响系统的稳定性和监督机制的有效性的一个重要因素。从一些学者所构建的会计报表管理系统的运行机制来看,系统的逻辑架构主要由门户层、业务层、应用组件层、公共组建层和基础技术层五部分组成[1]。在这一系统的实际应用过程中,门户层在系统的运作过程中发挥的是一种基础性的作用,应用组件层是借助功能扩展机制的发挥来维系系统运转的。业务层是从应用组件层的自身功能出发,帮助用户满足自身需求的系统软件。公共组件层是对系统的个进行定制的重要工具。基础技术是为系统提供基础运行服务的重要工具。这种彼此间的相辅相成的作用,是为系统在实际应用中所发挥出来的实效性特征进行保障的重要因素。
二、会计报表管理系统的功能模块设计
(一)数据管理模块
在会计报表管理系统的实际应用过程中,数据管理模块主要涉及到了报表数据的提取工作、会计报表的表单数据信息的录入工作、审核工作、数据运算工作、信息接受工作,汇总工作和存储工作等一系列的工作。这样,在这一模块之中,信息提取功能和表单信息的导入功能的发挥,就成为这一模块在日常工作开展过程中所要注意的问题。在数据管理模块的设计过程中,对其利用总系统进行总账上传的功能的发挥,也是不可忽视的一个问题。
(二)报表应用模块
在会计报表管理系统的应用过程中,报表应用模块是通过对企业往来的数据报表进行查询的基础上,对企业在自身发展过程中所生成的报表进行科学分析的管理模块。报表预警功能也会在这一系统的实际应用过程中发挥一定的作用。在报表应用模块的构建过程中,设计人员主要是通过对系统的分析表功能进行发挥的方式,来保证系统的运营稳定性的,但是在对这种分析表功能进行发挥的过程中,系统的使用者可以通过对系统的想到功能进行发挥的方式,来让系统的分析表功能得以充分发挥[2]。在构建这一系统的过程中,数据的更新功能和数据的修改功能的发挥,是设计者在设计这一模块的过程中需要注意的问题。针对系统在实际应用过程中所要面对的数据版本更新问题。数据修改记录的存储工作和与数据修改工作有关的工作日志的存储工作也是不可缺少的重要环节,针对一些企业在会计管理工作中采用单机版报表管理系统进行管理的问题,在会计报表管理系统的设计过程中,系统所设计的报表与单机管理系统所导出的报表之间的兼容性问题,也需要引起设计者的关注。
(三)短信通知模块
在会计报表管理系统模块中,信息的传递功能是短信通知模块所要发挥的重要功能。为了让报表信息的更新问题与改动问题在第一时间传递给财务人员。设计人员在设计这一系统的过程中,需要对系统的实时性和企业财务工作的保密性问题进行充分的发挥,这样,在构建具体工作模式的过程中,信息编辑统一模式的构建,就成为了提升信息传递有效性的一个重要措施。
(四)系统登录模块
从企业财务工作的自身特点来看,财务工作中出现的任何一点疏忽,都有可能让企业陷入到巨大的经济风险之中。在构建报表管理系统的过程中,登录模块的优化,也是系统设计人员所要关注的一个重要问题。在处理这一问题的过程中,设计人员首先需要从与操作系统有关的工作人员的工作职能入手,对从事不同职业的工作人员对系统的管理权限进行设计。为了对数据的安全性进行保证,在构建系统的过程中,数据库的备份功能是设计者需要关注的问题。在构建这一管理系统的过程中,一些设计人员通过对微软数据库系统进行应用的方式,来对系统的备份功能进行完善,这就可以通过对这一数据库系统的备份功能进行充分发挥的方式,来对系统的安全保护模式进行优化。
三、会计报表管理系统的数据库设计
(一)数据库的设计要求
在构建会计报表管理系统的过程中,数据库在实际应用过程中所表现出来的数据独立性原则,也是设计人员在系统设计过程中不可忽视的原则。在会计报表系统的数据库设计工作中。数据对象命名过程中需要遵循和一种规范性的原则[3]。这一规范的制定,可以通过对系统程序的可读性因素进行强化的方式,对程序管理的便利性进行强化。为了对系统的工作性能进行有效的提升,数据冗余的设计,可以让系统在实际应用过程中获得更多适合额外工作的空间。除此以外,在数据库的设计过程中,外键操作等关联性操作的应用,也是保障数据完整性的有效方式。
(二)数据库的结构设计
从会计报表数据管理系统的设计要求来看,为了让系统在实际应用过程中构建一种清晰的数据结构,对数据表结构中的字段与数据表自身因素之间的关系的充分发挥,是让系统表示业务数据的准确性得以提升的有效方式。在这一系统的构建过程和事务功能的发挥,是数据库结构进行优化的有效措施。从系统的应用效果来看,索引功能的应用,对系统的检索效率的提升,具有一定的促进作用。事务功能的应用,可以通过对用户编号、用户全名等信息进行优化的方式来保障系统的运转。
四、会计报表管理系统的系统实现
(一)系统登录模块的系统实现
从系统的实现问题来看,控制层在表现层向其发出登录请求以后,对系统所输入的登录信息的验证,是系统登录模块的主要实现方式。在这一模块中,验证逻辑的应用,是对这一功能进行优化的重要保障。持久层对经过验证逻辑检验的用户信息的检索与反馈,是系统为用户提供权限的重要保障。在验证功能的发挥过程中身份类型的确认工作也是系统的一种保障,用户信息与数据库之间的有效连接,在功能的实现过程中发挥了较为重要的作用。
(二)报表应用模块的系统实现
报表新增、报表保存、报表删除和报表的公式配置和维度配置等功能是报表设计模块中涉及到的主要功能。addO函数、queryO函数、updateO函数、delete0函数和dlookup函数的应用,是保证系统实现的重要因素。
(三)短信通知模块的系统实现
在系统的实际应用过程中,短信通知模块涉及到了短信的单发问题和群发问题等多个方面,从系统信息单发问题的处理来看,系统中所涉及到的信息发送性是涉及到了文本短信发送和彩信发送这两大问题。在发送短信的过程中,用户需要对短些接收方的手机号码和短信内容进行了解,在用户对短信发送方的手机号码缺乏了解的情况下,用户可以借助客户列表和分组列表,对短信发送对象的相关信息进行了解。在处理短信群发问题的过程中,试发射功能和短信发射判断功能的应用,可以通过对系统的人性化功能进行发挥的方式,橄低车脑诵刑峁┍U稀
五、结论
备份功能、索引功能和事务功能是与会计核算管理系统的自身功能进行发挥的重要因素。性能优良,安全稳定的计算机网络系统的构建,是对会计监督体系机制进行优化的重要措施。
参考文献:
[1]郭瑞霞.企业会计核算管理系统的设计与实现[D].山东大学,2015.
[2]刘洋.会计监督中的会计报表管理系统的设计与实现[D].电子科技大学,2015.
篇7
关键词:监管报表;大数据;数据仓库;数据模型
中图分类号:TP392文献标识码:A文章编号:16727800(2013)004013705
0引言
面对当前错综复杂、各种因素相互交织、相互演变的国内外经济金融发展形势,商业银行进行战略转型、业务规划、风险管控需要依靠完备、持续性的数据体系才能进行科学决策,数据质量已成为银行可持续性发展的生命线。中国银监会在2011年下发了《银行监管统计数据质量管理良好标准》\[1\],督促各银行进一步提高监管统计数据质量,夯实监管基础,建立适应监管统计工作需要的、完善的监管统计系统。
随着监管部门对商业银行的监管要求不断提高,报表越来越多、数据内容越来越细、审核越来越严格,如银监会在2010年创立“腕骨”(CARPALs)监管指标体系,其中的资本充足率、流动性覆盖率、净稳定融资比例等指标,不仅需要专业解析,还涉及压力场景设置和对未来的判断,加工规则非常复杂。这些数据无法像以往一样依靠手工填报,或简单逐级汇总得来,必须采用全行监管数据大集中的模式统一加工生成,否则就违背了指标的内在业务逻辑,其结果也必然经不起监管检查。
数据仓库是一个面向主题的、集成的、非易失的、随时间变化的用来支持管理人员决策的数据集合\[2\]。它为有效地支持企业经营管理决策提供了全局一致的数据环境,也为历史数据综合数据的处理提出了一种行之有效的解决方法。数据仓库的兴起,使其成为了当前普遍流行的决策支持系统解决方案。它应用于决策支持系统中,能够增强决策的客观性和实用性、提高数据查询分析的效率、具有强大的数据分析工具、具有动态扩展能力。许多学者对基于数据仓库的信息系统建设进行了研究。文献\[3\]\[4\]讨论了数据仓库在银行绩效考核领域的应用,实现对全行考核对象的全面科学考核;文献\[5\]研究了银行数据仓库系统及非现场稽核监控平台和监控后分析的实现方式;文献\[6\]\[7\]\[8\]开展了数据仓库在银行个人信贷、银行卡、中间业务等不同业务领域中的应用研究。
这些研究虽然对数据仓库的应用进行了探讨,都没有讨论如何在银行信息披露领域应用,提出构建银行监管报表系统的完整解决方案。本文结合监管数据大集中模式的特点,不仅给出了全面的系统架构方案,还探讨了数据模型及关键技术,并测试验证了系统具备良好的可行性、可用性和可靠性,为银行落实数据标准、保证数据质量、固化管理流程提供了重要的科技支撑。
1问题描述与系统架构
1.1问题描述
为适应新形势下监管报送的工作要求,在监管数据大集中模式下建设监管报表系统,满足监管报表的时效性、准确性等要求,面临着架构、数据、功能等多个层面的巨大挑战。在架构层面,系统具有数据存储量大(年增量达数十TB),数据加工任务繁重(数十亿条记录的加工)、处理时间有限(8h内完成)等特点。因此,架构设计需要考虑如何实现性能的提升,如何保证系统的安全可靠。在数据层面,由于数据自动加工率是衡量报表质量状况(完整、准确、一致)的重要指标,为提高监管报表自动化加工水平,需要考虑如何实现更全面的数据采集能力,更有效的数据清洗方法,更科学的数据模型设计,更准确的数据质量监测分析;在功能层面,为实现监管报表的统一开发、统一运行、统一展现、集中管理,需要提供完善的报表设计、生成、展现、管理功能,特别是要满足全国所有支行、分行、总行用户在月初2h内完成数十张报表的补录工作,支持用户高并发场景,实现监管报表的按时报送。
因此,银行监管报表系统的建设,既需要考虑功能性需求,实现各项业务功能,又需要数据需求,灵活响应监管报表需求,更需要关注非功能性需求,保证系统的高可用性、可靠性及可扩展性。
1.2系统架构
1.2.1逻辑架构
银行监管报表系统的逻辑架构如图1所示。整个架构由3部分组成:源系统、数据仓库和监管报表系统。其中,源系统是数据仓库的数据来源,包括银行的各类业务源系统;数据仓库是监管报表系统的基础,全面采集银行的业务源数据,进行数据的集中加工处理、存储,形成全行级的统一数据视图,通过建立监管数据集市,支持系统进行数据查询、分析、监测等;监管报表系统则为满足外部监管报送的具体需求,提供了报表配置、报表填报、报表查询、报表生成、报表组装、监测预警及系统管理等功能。
1.2.2数据架构
为了建立全行统一的监管统计数据架构,实现客户、机构、账户等基础信息的口径一致,以及不同主题业务应用的数据共享,同时可灵活定制指标以应对报表需求变化,银行监管报表系统数据架构如图2所示。
(1)操作数据层:对于加载的源系统文件进行简单的清洗处理,尽量保持业务数据原貌,保留源系统的原始和历史数据,基本上直接按照源系统数据结构建模。
(2)基础数据层:基于第三范式规范,按客户、产品等主题进行数据建模,形成企业级的统一数据视图。
(3)汇总数据层:对来自操作数据层和基础数据层的基础明细数据进行预关联、预计算、预汇总,形成数据元模型,同时提炼不同应用的共性需求,形成标准统一、口径一致、可复用的基础指标。
(4)数据集市层:面向具体应用需求,按需进行模型设计,形成应用指标模型。
(5)报表数据层:针对不同的报表需求,解析报表维度、度量及包含的指标项,形成报表数据模型。
1.2.3物理架构
银行监管报表系统物理架构如图3所示。其中,数据仓库的组成主要包括ETL服务器、数据仓库处理服务器、备份服务器与磁带库、数据管控服务器和调度服务器;监管报表系统自身包括数据库服务器、Web应用服务器集群和负载均衡设备。在此架构方案中,充分考虑系统的高可用性,监管报表系统与数据仓库所使用的数据库服务器互相独立,由此保证二者在加工处理时不会相互影响。各数据库服务器均采取双机热备份机制,Web应用服务器采取集群架构,确保系统稳定运行,关键数据不丢失。为应对全行用户高并发访问的压力,使用负载均衡设备,将用户访问压力均匀分配到每台应用服务器上,提高系统整体并发能力及平均响应时间。此外,在可扩展性方面,可以通过增加系统的CPU、内存提升处理能力,通过增加服务节点扩充Web应用服务器集群架构。
2数据仓库及报表数据模型
2.1多维数据模型
数据仓库的数据主要有两种组织方式:一是基于关系数据库的维表-事实表结构的多维表形式;另外一种是基于多维数据库的超立方体结构形式\[9\]。考虑数据处理的性能及数据集成的方便,这里采用维表-事实表结构来实现多维数据模型。多维数据模型由事实表和维表组成\[10\],事实表存储实际的数据,维表存储事实表中对象的属性,事实表和维表的关联关系,呈星型结构。一个多维数据模型的事实表数据是经过机构、币种等维度汇总之后的标准数据,具有通用性。而维度通常分为固定维度和自定义维度,时间、机构和币种是固定维度,其它如贷款分类等维度是自定义维度。在数据仓库中,数据是面向主题进行组织的。主题是在较高层次上将企业信息源中的数据综合、归类并分析利用的抽象。在监管报表系统中,共建立了总账类、存款类、贷款类、流动性风险类、假币类、支付结算类、最大类等七大类业务主题的多维数据模型。以贷款余额为例,其多维数据模型如图4所示。
2.2监管报表数据模型
银监会、人民银行、外汇管理局等监管部门的报表需求各异、表样不一,例如按展现方式可分为行列固定报表、行固定列不固定报表、列固定行不固定报表等。对于这些纷繁复杂的报表需求,通过建立报表数据模型,对报表进行层层解析,从而明确报表含义、加工规划及数据来源,最终完成报表的加工实现。
在报表数据建模过程中,报表可视为由一个个应用指标组成。应用指标一般是指对一类统计对象,按照一定维度进行分类之后的计算加工结果。在指标定义过程中,业务人员可以根据业务相似或应用相同数据字典等因素,选择报表表样填报区中的一项、一列、一行,或者一个矩形框范围内的所有项定义为一个指标,该指标是用户想最终应用的数据,即应用指标。典型的监管报表数据模型如图5所示。
在明确应用指标后,可以进一步进行应用指标解析。每个应用指标由基本指标和基本维度组合而成,基本指标是最小的业务含义度量单位,不包含信息的类别、类型、状态、标识、分层等性质的描述性语言,例如贷款余额。基本维度是最小的业务加工和汇总规则,例如风险分类、资产类别等。
通过对报表及应用指标的解析,可以获得应用指标的编号、名称、定义等基本属性,以及应用指标所包含的基本指标、基础维度在银行信息系统中所对应的信息项(字段)及信息项取值规则,最终完成报表的加工实现。报表数据建模流程如图6所示。
3系统关键技术
3.1智能化公式解析引擎
监管报表中普遍存在勾稽关系。所谓勾稽关系,是指某个报表和另一报表之间以及本报表项目的内在逻辑对应关系,一般通过设置报表公式来体现。由于监管报表规则的复杂性,公式类型十分繁多,可分为计算公式、校验公式、预警公式,还可分为行公式、列公式、单元格公式、要素公式等。为此,通过体系化地提炼不同公式的语法规则,构建了监管报表公式体系。公式体系由标识符、运算符和函数库组成。例如,公式C1=C2~C4,其中,C是列标识符,“=”是运算符,“~”是连加函数,该公式表示将报表的第2、3、4列分别汇总后相加并赋值到第1列。对用户定义的公式,利用词法分析器Lex、语法解析器Yacc等技术开发了智能化公式解析引擎,可实现对公式的词法、语法、语义的自动化分析,并最终生成数据库可执行的SQL代码。例如,公式C1=C2~C4,经解析之后得到的数据库SQL语句为:UPDATE目标表SET列1=SUM(列2)+SUM(列3)+SUM(列4)。在此过程中,整个报表的加工处理实现了自动化、无人工干预,从而也提高了报表数据的准确性。图7所示是公式解析引擎技术架构。
公式引擎主要由4部分组成:①词法分析:主要负责接收用户输入的公式字符串,通过定义正则表达式的切分规则,将公式拆解成若干个子token,通过Lex和Yacc的接口共用体,将词法分析的结果返回给语法分析器,再做进一步的语法解析;②语法分析:主要负责接收词法分析处理之后的token标识符,通过定义语法的归约移入规则,完成公式的语法检查,最终为语义分析程序生成语法分析树;③语义分析:主要负责接收语法分析以及性能优化之后的语法分析树,自顶向下递归地遍历整棵语法分析树,获取各分支节点以及叶子节点的信息,形成存储语义信息的结构体,语义信息结构体中包含了拼接SQL语句中各组成部分的基本信息;④目标代码生成:主要是以语义分析阶段的语义信息结构体作为输入,生成最终数据库中可以执行的SQL语句。
3.2主从式报表填报模式
根据监管部门要求,每月月初会集中开展监管报表报送工作。因此,月初报表手工填报和报表展现查询的用户数量庞大,要求系统能够在用户高并发访问时,仍然保证所有功能均能流畅、正常使用。面对全行用户集中填报的压力,系统采用了基于C/S的主从式报表分布式处理方案,利用ActiveX控件技术及轻量级嵌入式数据库SQLite,开发了一个可安装于客户端浏览器的报表填报插件。通过该插件,可以将监管报表系统数据库服务器(主数据库)中已加工完成的报表铺底数据下载到用户主机,用户在铺底数据的基础上开展报表补录、调整等操作,之后利用用户本地的数据库资源(从属数据库)完成补录调整数据的计算、校验、折算等功能。Web应用服务器主要提供版本验证、报表信息下载、文件上传等服务。该方案减少了用户客户端与应用服务器、应用服务器与数据库服务器之间的数据交互,极大减轻了数据库服务器的资源消耗,提高了用户补录的效率。图8所示是报表填报插件技术框架。
3.3动态化作业调度管理
在监管报表数据加工过程中,为提高报表处理性能,缩短报表加工时间,通过对报表数据的依赖关系分析,即以公式为处理单元,利用公式拆分、字符串匹配、去重等方法确定公式之间报表之间的依赖关系,再采用层次化拓扑排序算法,构建公式的依赖关系图,自适应地调整公式计算顺序,实现动态化作业调度管理。该模式下,系统能够自动判断作业之间的依赖关系,并行执行公式计算任务,改变了以往公式只能串行计算、很多公式都在盲目等待的模式,极大提高了作业链的处理效率以及资源利用率,使报表总加工时间缩短了约1/3,为后续的报表填报工作争取了更多宝贵的时间。图9示意了以9个公式为例子的公式计算在串行及并行计算模式下的时间对比情况。
4系统实证分析
为验证系统性能,采取实验模拟实际业务处理情况的方法,选取交易量最大、最集中的高峰时间段支行填报场景进行测试。具体测试场景为:模拟系统访问总用户数为10 000人,用户数总并发为500人,在1h内完成登陆、报表填报、报表查询、报表汇总等所有交易。测试采用专业负载测试工具LoadRunner,测试环境包括4台PC服务器作为Web应用服务器集群、1台小型机作为数据库服务器。测试结果如图10所示,该图记录了支行填报场景下系统各交易的TPS(Transaction Per Second)。从图10中可看出,所有的交易跑完用时55min左右,符合业务提出的在1h之内完成所有支行填报交易的性能要求。在约20min左右,一部分交易的TPS降下来,经分析系统处理没有出现异常,是有些处理速度快的交易先完成所致。
为验证系统的稳定性,仍然选取高峰时间段支行填报场景进行测试:系统持续运行8h。测试结果如图11所示。从图中可以看出在系统持续运行期间,各业务TPS曲线波动不大,TPS数值比较稳定,系统运行8h期间无宕机和内存泄露等现象。
5结语
监管报表内容广泛,涵盖财务、会计、风险等银行经营管理
各方面信息,需要及时、准确、真实地报送给外部监管单位。 本文提出了基于数据仓库技术的银行监管报表系统,通过合理的架构设计、科学的数据建模,实现对监管数据的集中存储、加工,以及监管报表的生成、组装、审核、报送。实验结果表明,该系统能够有效满足新形势下的业务发展需求,对于促进银行监管报送和数据集约化管理水平的提升,搭建数据统筹管理和决策支持服务的长效机制框架具有十分重要的意义。
参考文献:
\[1\]中国银监会.银行监管统计数据质量管理良好标准\[EB/OL\].,2012.
\[2\]William H. 数据仓库 \[M\].第4版.王志海,等,译.北京:机械工业出版社,2006.
\[3\]仇焕之.基于数据仓库的银行绩效考核系统的研究及应用\[D\].广州:中山大学,2010.
\[4\]姜亦忠.基于数据仓库的银行绩效考核系统\[D\].大连:大连海事大学,2009.
\[5\]余宝娟,潘维民,赵峻岭,等.基于数据仓库的银行非现场稽核监控系统设计与实现\[J\].计算机与现代化,2006(8).
\[6\]宋培钟,陆敬筠.基于数据仓库的银行个人信贷系统的分析与设计\[J\].金融理论与实践,2011(1).
\[7\]熊齐,潘梅森.基于数据仓库的银行卡统计系统\[J\].微计算机信息,2006(12).
\[8\]李佳航.基于数据仓库的银行中间业务系统研究\[D\].厦门:厦门大学,2008.
篇8
【关键词】手工记录;自动记录;数据分析;功能软件
现使用的设备运行记录的记录方式大多为手工记录,提前确定需要记录的数据名称、格式等,按照此格式用纸张打印大量的预制好的设备运行记录表格,然后在需要记录的时间观察工业监控(HMI)上的需要记录的各个数据,逐个用笔填写在打印好的设备运行记录表格上。每天对当天或当班的生产数据进行统计分析,人工计算相应数据(介质用量等),二次手工记录进行填表。此种记录方式造成给运行人员带来巨大的额外工作量,且还需人工计算当天或当班的产品产量、原料用量等也要占用不少时间。其次是造成了大量的纸张浪费。针对此情况经过学习研究,利用以太HMI SQL SERVER数据库、VB、上位机组态软件编程后设计开发了一种可摆脱手工记录,实现自动记录、查询以及数据分析的功能软件。
一、软件实现
(1)网络基础。以太网是当今现有局域网采用的最通用的通信协议标准。该标准定义了在局域网(LAN)中采用的电缆类型和信号处理方法。以太网在互联设备之间以(10~100)Mbps的速率传送信息包,双绞线电缆100Base T以太网由于其低成本、高可靠性以及100Mbps的速率而成为应用最为广泛的以太网技术。近年来为了实现生产数据的共享及自动传输搭建了以思科6569为核心的以太网网络,网络采用双链路双核心的构架,用一台IMB服务器作为数据库。可以利用此以太网网络作为要设计的功能软件的网络基础。(2)软件基础。HMI是Hu
man Machine Interface的缩写,“人机接口”,也叫人机界面。人机界面是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。凡参与人机信息交流的领域都存在着人机界面。使用者都必须先使用HMI的画面组态软件制作“工程文件”,再通过PC机和HMI产品的串行通讯口,把编制好的“工程文件”下载到HMI的处理器中运行。此功能软件设计通过HMI组态软件将DCS或PLC系统生产运行过程中的各种参数保存在Microsoft SQL Server数据库中,通过VB编程实现对系统中各关键设备的运行数据的自动记录和查询并进行数据分析等。通过开发生产报表系统对采集到的运行数据进行汇总分析,按照工艺已确定的数据格式、表格内容自动生成报表,同时实现了报表的打印及导出,并添加设备运行记事功能。
二、特点介绍
篇9
关键词:工业报表;历史曲线;数据库交互
1 概述
一套成熟的数据报表系统可以通过与各种过程自动化控制系统对接,自动采集历史数据库中的各种原始生产数据,并按照规定的格式编排,形成报表,方便管理决策人员获得各类统计信息。文章将详细探讨丹霞冶炼厂工业数据报表自动统计分析系统的开发与应用实践。
2 系统架构设计及工作原理
2.1 架构设计
丹霞冶炼厂工业数据报表自动统计分析系统采用C/S结构模式,C/S结构即大家熟知的客户机和服务器结构。该结构可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。该系统设计整体架构图见图1。
底层数据库主要基于GE的iHistorian历史数据库和SQLserver2008关系数据库两种,iHistorian企业级实时历史数据库主要存储全厂工业原始数据,每100ms采集一次数据,供生成历史曲线和报表数据采集用,SQlserver2008存储报表历史数据;展示平台开发主要基于微软visual studio 2012,开发语言为c#和vba。
2.2 系统工作原理
丹霞冶炼厂浸出车间工业数据报表自动统计分析系统的原始数据来自西门子s7-400工业控制系统,本系统采用IFix opc客户端软件采集PCS7中OPCserver中原始工业数据数据,iHistorian数据库会自动收集并压缩存储工业原始记录值。SQLserver与iHistorian的数据交互采用结构化查询语言以及标准的ODBC通信接口实现,iHistorian中的数据通过脚本定时写入或者查询语句按需写入两种方式将数据写入SQLserver供上层应用平台调用。展示平台设计主要包括报表系统和历史曲线两个模块,报表系统依据实际需求分析实现报表自动生成、分析计算、查询、excel导出等功能,历史曲线模块实现按工序、类型、工位号查询至少3个月内历史曲线。
3 功能模块的实现
3.1 SQLserver和iHistorian的数据通信模块
SQLserver和iHistorian的数据通信互模块是本系统底层数据库设计的一个重要组成部分,iHistorian提供了多种种方法与关系型数据库交互,本系统根据实际需要选用是iFIX SQL ODBC接口选项进行通信。
日常数据报表例如班次报表以及各种设备的运行日志报表等采集数据的时间间隔固定,都采用此种方式通信,由ifix SQL触发块按固定的时间写入SQLserver,其具体的工作流程:(1)当SQL触发块(SQT)由时间或事件触发时,把要执行的SQL 命令的名称和数据源的名称DSN一起传给SQL任务;(2)SQL任务根据接收到的信息到关系数据库的SQL库表检索与命令名对应的SQL命令。数据库引擎以字符串的形式返回SQL命令;(3)SQL任务把从SQL库表获得的SQL命令和SQL数据块(SQD)中列出的数据块中的数据结合,形成完整的命令;(4)SQL任务用该命令对关系数据库进行操作,由数据库引擎把数据写入数据表中。
3.2 历史曲线模块的实现
3.2.1 模块设计
丹霞冶炼厂工业数据报表自动统计分析系统的历史曲线模块设计主要包括:(1)添加删除历史笔;(2)更改图表持续时间(1小时、1天、7天、等);(3)设定图表显示的开始时间和结束时间;(4)滚动历史数据;(5)切换多坐标轴显示;(6)依据工序类型对位号的选取等;(7)打印;(8)曲线放大。
3.2.2 实现单个画笔的关键代码
单个画笔的实现主要在于工序位点的选择、时间范围的选择,然后根据用户的选择对数据库数据进行筛选展示。其关键代码如下:
Dim rssomething As Recordset
Set rssomething = New Recordset
Dim strSQL As String
strSQL = "SELECT * FROM ihTags where ihTags.Description = " & "’" & vxcmbHistPens1.Text & "’"
rssomething.Open strSQL, cnsomething’ On Error GoTo HandleError
If vxcmbHistPens1.Text "" Then
sNodeName = "Hist."
sPenSource = "’" & Trim(vxcmbHistPens1.Text) & "’"
rssomething.Find " Description=" & sPenSource
3.3 报表展示模块的设计
3.3.1 模块设计
报表是企业对数据进行管理和分析的重要工具,该系统报表展示模块采用模块化组件式的c/s架构设计,语言采用C#基于.net开发,通过和OLEdb对实现数据库层访问。系统接口层是该系统与其他应用程序进行交换共享的部分,主要完成EXCEL完整格式化的数据导出。
3.3.2 实现报表交互的关键代码
string strTemplate = "../../Template.xml";
string strReport = "../../Report.xml";
XmlDocument doc = new XmlDocument();
doc.Load(strTemplate);
XmlNode sheet = doc.GetElementsByTagName("Worksheet")[0];
XmlNode Title = sheet.FirstChild.FirstChild;//
XmlNode Row = Title.FirstChild.Clone();
Title.RemoveChild(Title.FirstChild);
foreach (DataColumn c in tb.Columns)
{
Row.FirstChild.FirstChild.InnerText = c.ColumnName;
Title.AppendChild(Row.Clone());
}
sheet.FirstChild.Attributes["ss:ExpandedColumnCount"].Value = tb.Columns.Count.ToString();
4 结束语
文章按结构按模块详细介绍了丹霞冶炼厂工业数据报表自动统计分析系统的开发与实践,并对iHistorian实时数据库和关系数据库的交互、历史曲线画笔的实现、报表数据交互做了详细探讨,本系统的设计理念及技术实现对广大开发人员具有重大借鉴意义。
参考文献
[1]C#高级编程(第9版) C# 5.0 & .NET 4.5.1 [Professional C# 5.0 and .NET 4.5.1] [M].
[2]GE Fanuc iHistorian 培训手册[Z].
篇10
关键词:交通投资企业 财务报表分析 局限性 建议
一、交通投资企业财务报表分析的必要性
财务报表分析顾名思义,即是采用规范的分析方法和评价标准,以财务报表为依托,对企业的财务状况、经营成果和现金流量等信息进行分析和比较,从而有助于财务报表信息使用者做出客观的评价、判断预测。
交通投资企业在当前进行财务分析,有着极大的必要性。首先,财务工作是对企业经济事项的一种选择性反应和记录。无论对任何企业而言,最足以提供财务信息的工具就是财务报表。财务报表对企业债权人、外部投资者、内部管理者都有着及其重要的作用,可以向信息使用者提供企业的财务状况、经营成果和现金流量等信息。其次,基础的财务核算只是统计和汇总已经发生的信息,核算对象是过去的财务信息,不具有现实性和未来时效性。再者,虽然我国重新编制了《企业会计准则》,并于2006年开始执行,但是并不代表新编制的企业会计准则就科学全面,其自身依然存在一定的不完善性。最后,无论是财务报表的编制过程还是最终对其的审计,都参杂着一定的人员主观性。正是因为上述四点原因,使得财务分析变得尤为重要。
随着市场经济的逐步发展和现代企业制度的逐步完善,交通投资企业开始面临着越来越大的竞争和来自市场的风险,在这种情况下,只有根据财务报表做好财务分析,才能结合过去、立足现在,预测企业未来发展前景。促进交通投资企业在当前的市场竞争中,站稳脚步并逐渐发展壮大。
交通投资企业在财务分析方法的具体运用中,要依据分析对象和分析目的选择最合宜的方法。虽然方法不同,但是无论哪种方法都无法避免其自身的局限性。再加之交通投资企业所处的行业和企业所拥有的自身特点,对上述三者方法在择优选择的同时,也要注意彼此间的结合利用,以提高交通投资企业竞争力为最终目的。
二、当前交通投资企业财务报表分析的局限性
财务报表数据不仅是一个企业经济活动和财务状况最直观有效的反映,也是财务分析时的重要数字依据。通过利用财务报表数据进行财务分析、汇总、计算等工作,可以有效而快速的获知企业经营业绩和运营状况以及未来前景。财务报表分析的重要性不言而喻。然而,与此同时,其局限性和潜在问题也不容忽视。据笔者分析,主要存在以下五点问题。
(一)财务报表本身过于注重个体性
财务报表本身其实仅是对企业自身财务状况的一种数字化反映。而在现代企业产权制度的逐渐完善尤其是激烈的市场竞争中,只关注企业自身难以求得长久发展。尤其是对交通投资企业这种高风险又特殊的行业类型,更不能将视角和眼光局限在企业自身财务报表的基础上。要在分析自身企业财务数据的基础上,不忽视对行业和竞争对手的财务分析,真正做到知己知彼,百战不殆。
(二)财务报表分析的结果只能提供有限的信息
在实际工作中,企业真正所需要的信息是复杂的,而且信息量很大。相较于此,仅依靠财务报表分析所获得的信息量其实要有限的多,而且形式多是以“货币的形式”。结果也仅是侧重于回答“是什么”,而无法向信息使用者解释“为什么”。单凭结论性的分析结果,难以对企业实际经营状况做出准确评估。因此,交通投资企业在日常的财务分析中,还是要在财务报表分析的基础上适当关注非财务分析。
(三)财务报表分析所依照的数据多是“过去式”
财务报表分析的数据基础是财务核算数据,是对过去已发生的经济事项所做的核算和分析。其好处是可以对企业过去情况进行良好的汇总、分析和评价。交通投资企业是更侧重于获知未来事项和投资发展前景如何以有助于企业做出未来决策的企业类型,其特殊性决定了其更关注如何能够对现在进行更好的控制,对未来交通业的投资情况、投资项目等如何能够更好地把握。过去经济事项的财务分析结果对其只有参考价值。
(四)具体财务分析中考虑欠全面
在实际情况中,即使企业类型相同,其财务核算也可能不会完全相同。这是因为会计计算方法等在具体选择上存在着很大的人员主观性。不同的操作人员,可能存在着不同的计算方法(比如资产摊销方法)。计算方法不同,所产生的数据结果不同;而不同结果的数据,解释也就不同。在现实的财务报表分析中,分析人员很少会关注到此点,往往仅将分析停留在报表数据本身,分析过程难免不会沦为“死”分析。
(五)在人为粉饰报表的情况下容易形成假报表真分析
虽然从2006年国家颁布新会计准则以来,对企业财务报表的编制进行了详细规定,但是“人为粉饰财务报表”,依然是我国企业财务管理中一个比较严重的问题。那么以这些报表资料为依据所进行的财务分析,可想而知其结果难免不会客观和真实。整个财务报表分析过程也成为“假报表真分析”的过程。因此,财务人员在具体的财务报表分析中,不能过于绝对化,要及时掌握数据变化趋势和勾稽关系,具体问题具体分析。
三、交通投资企业财务报表分析方法
当前,交通投资企业进行财务报表分析的主要方法主要有四种,即比较分析法、比率分析法、因素分析法、趋势分析法。其中,比较分析法又分为横向比较法和纵向比较法。因素分析法又分为差额分析法和连环替代法。具体参见表1-1。
四、对交通投资企业财务报表分析的几点建议
(一)运用新的财务分析方法
公司管理者可以通过对同行业同类产品的科学比较,结合公司的财务现状,利用科学的财务综合分析法——多元分析法,全面、系统的分析企业财务状况。
进入WTO 以后,我国在财务管理特别是在财务制度方面,与国际会计准则存在较大的分歧。所以,企业只有不断加强学习,一步步完善的财务制度,才能实现我国入世的顺利过渡。
(二)建立全面立体的财务报告系统
在现如今的信息时代,企业对机遇和风险的把握都以信息为基础。这就要求企业要建立科学的适时报告系统,及时准确的反应企业的生产经营活动。
(三)建立完善的财务监督机制
无论任何类型的企业,财务监督机制对于企业的内部财务管理尤为重要。而且,财务监督机制还是企业财务制度得以贯彻实施的保障。首先,监督机制是财务分析目的的保障,严格的监督保证了分析的求真性,万事以事实为依据,加强了财务分析的说服力,避免了形式主义的发生;其次,监督机制是财务分析过程的保障,财务分析发现的问题只有通过严格的监督才能得到妥善的解决,才能发挥财务分析的效用,从而保证财务分析人员的工作积极性;再者,交通投资企业相关财务人员可以通过对事件的事前监督、事中监督、事后监督分别对财务分析的基础、方法和结果进行针对性的实施。
参考文献:
[1]中华人民共和国财政部.中华人民共和国会计法[S].2008
[2]中华人民共和国财政部.企业会计制度[S].2009
[3]中华人民共和国财政部.金融企业会计制度[S].2010
[4]张先治.财务分析[M].大连.东北财经大学出版社,2003
[5]肖序.成本会计学[M].长沙.中南大学出版社, 2004
[6]贾春林.技术经济学[M].长沙.中南工业大学出版社,2003
[7]黄渝祥,刑爱芳等.工程经济学[M].上海.同济大学出版社,2005
[8]李海林,企业财务报表共享平台构建探讨,财会通讯,2008
[9]金中泉.财务报表分析[M].中国财政经济出版社,2008