報表系統范文
時間: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