尤物视频网站,精品国产第一国产综合精品,国产乱码精品一区二区三区中文,欧美人与zoxxxx视频

免費咨詢電話:400 180 8892

您的購物車還沒有商品,再去逛逛吧~

提示

已將 1 件商品添加到購物車

去購物車結算>>  繼續購物

您現在的位置是: 首頁 > 免費論文 > 財務管理論文 > 計算機報表指令設計新思路——數據表化指令

計算機報表指令設計新思路——數據表化指令

■ 陽 杰 黃昌勇


--------------------------------------------------------------------------------

《財會通訊》 2006年第11期

一、數據表化指令的理論基礎——三庫理論

對報表模塊而言,“三庫”即“三表”,即數據表、指令表和指標表。數據表是提供編表所需數據源的表文件,主要是中央數據表,憑證月表有時也可以作為少數報表的數據源表,報表模塊可從中采集數據編表,而不必另行加工;指令表是編制會計報表的方法,表結構固定有七個字段,其記錄就是編表指令,實現編表指令數據表化,以增強指令的可讀性和可擴充性,指令可自行定義和編輯;指標表提供報表上的指標數據,是報表模塊加工產生的目的數據,其表結構和記錄均由用戶自己定義和編輯。其中,數據表不必另行設計,只要設計指令表和指標表。為利于編表指令的定義、編輯和檢錯,每一個報表分別設計兩個表文件,即一個指令表和一個指標表。
報表指令的數據表化設計思路,就是運用“三庫理論”將編表指令存放在指令表中,使指令獨立于指標,同時又獨立于編表過程。所有報表的編制過程都是相同的,即所有報表的編制都執行一個編表程序。數據表化指令認為,各種報表結構上的差異體現在各自的指標表中,而編制方法上的差異則體現在指令上,其編制過程是完全相同的。因此,可以開發出全通用的報表模塊。

二、數據表化指令的工作原理和設計原則

指令表有七個字段,即“要求”、“類型”、“找數條件”、“源表字段”、“計算”、“報表記錄號”和“報表欄目”,分別反映打開源表、采集數據方法、運算方法和填表位置。
無論是到源表還是到指標表本身采集數據,都相當于執行了一條SUM命令,“找數條件”字段將提供SUM命令中FOR條件短語的參數,而“源表字段”則提供了SUM命令中被求和的N型字段名。即:
SUM ALL源表字段TO TBSI FOR找數條件
根據指令的填表位置參數將產生填表行動,相當于執行了一條REPLACE命令,“報表記錄號”字段提供了指標表記錄指針移動的準確位置,“報表欄目”則提供了REPLACE命令指定的N型操作字段,采集的數據還提供了REPLACE命令中的表達式。即:
GOTO報表記錄號
REPLACE報表欄目WITH TBSI
可以看出,這七個字段相互配合可實現很強的編表功能,編制高難度會計報表;可完成費用分配、成本計算等;還可配合采用表格輸入法進行憑證數據的自動錄入;上級主管部門甚至可以對所屬單位同結構的報表匯總;還可利用表中指令執行命令或運行自定義函數采集數據編表,這實際上包括了程序化指令的設計思路。數據表化指令的可讀性較強,用戶可以自行定義和編輯,自主擴充新的報表編制。相對傳統報表指令設計思路,數據表化指令在指令的可讀性、可擴充性等方面較為優越。
指令設計必須遵循三大原則:一是指令要獨立,不能與程序或函數代碼混在一起,也不能存放在其他數據表中;二是指令要有賴以表達的附著物,該附著物要十分有利于指令的定義、編輯、檢錯、執行和閱讀,憑證表、命令程序和自定義函數等都不是理想的附著物;三是指令要具有高度的可讀性,使用戶容易看懂,從而掌握靈活運用報表模塊的主動權。

三、指令表結構設計

(1)“要求”字段。類型為N,寬度為2.0,賦值范圍是數值0到14.各數值代表的含義如下:“0”表示無要求;“1到12”是指定月份才使用的指令;“13”是每次填表都要使用的指令;“14”字段指定打開源表,表名放入“源表字段”,如源表是余額表,可放人余額樣板表“YE.DBF”,其“找數條件”字段可增加對源表進行篩選的邏輯條件;利“I”類型的Visual FoxPro的拷貝命令生成新的源表,然后再用要求14將其打開,從中取數填表,以提高編表速度。
(2)“類型”字段。類型為C,寬度為l,賦值范圍為A/B/C/D/E/F/G/H/I/J十種填表類型。各填表類型的含義如下:
A——對指標表中指定的填列字段清零,即清除表中上次填列的數值,以便本次重新填列;
B——要求14指定打開的源表中采集數據填表,主要用于指標表中那些原始填列項目;
C——到指標表本身采集數據填表,主要用于指標表中那些以表填表的填列項目;
D——將指標表中已經填上去年的數值變號,相當于乘以-1;
E——對指標表進行平衡或相等檢查;
F——對指標表的某些填列字段進行橫向求和,主要用于需要橫向計算填列的項目;
G——將數值表達式的值填到指標表的指定位置,主要用于配合調用自定義函數編表;
H——將指標表指定字段的上期數據累加本期數據,然后填入本期指標表;
I——執行Visual FoxPro命令,如GOTO、COPY等,可用該類型調用自定義函數;
J——填列指標表中的上年同期數據。
(3)“找數條件”字段。類型為C,寬度為30,賦值邏輯表達式或“*”號開頭的注釋內容。B類型的邏輯條件針對源表;A/C/D/E類的邏輯條件針對指標表本身;F類型和G類型的邏輯條件中為一個數值表達式;I類型的邏輯條件為一條VFP的命令。邏輯條件可用分號作續行標志;還可用“*”號開頭作注釋。
(4)“源表字段”字段。類型為C,寬度為12,賦值提供數據的N型字段名。B類型的源表字段是打開源表中的一個數值型字段;C類型的源表字段是指標表本身的一個數值型字段變量,其余類型可不賦值。
(5)“計算”字段。類型為C,寬度為1,賦值范圍是“+”、“-”、“*”、“/”或“=”運算符,表示上一條指令找到的數將與本指令找到的數進行計算,默認計算為“+”。上一條指令采集的數是被減數或被除數,本指令采集的數是減數或除數;或本指令找到的數要與指標表中指定的數據相等。檢查E類型指令相等用“=”。可用若干指令連續進行計算,再將最終計算結果填入表中。
(6)“報表記錄號”字段。類型為N,寬度為4.0,賦值指標表中的一個記錄號,用來指定填表的記錄號位置。當指定的報表記錄號大于零時,就產生一次填表行動,填到“報表欄目”指定的字段;等于零時則不填表,并配合“計算”進行運算,為后面的填表指令作準備。
(7)“報表欄目”字段。類型為C,寬度為12,賦值指標表中的一個數值型字段變量,用于指定填表的字段位置。“報表記錄號”和“報表欄目”相配合可唯一指定指標表中的一個填表位置。
每一個報表指令表中的記錄一般都比較多,這些指令在表中的存放位置具有一定的規則,報表項目的相互依存性決定了指令記錄的存放順序。一般而言,以“*”號開頭的注釋指令可放在表中的任意位置;要求“14”要放在有關指令之前;要求“1”到“13”一般按順序存放;在此基礎上再按A、B、C、D、E等類型指令排列。總的原則是:先填數或先操作的指令要放在先,后填數或后操作的指令要放在后,一個指令表只存放一個指標表的編表指令。

四、數據表化指令工作流程

數據表化指令在執行時一般使用三個工作區:一號工作區打開指令表,以便順序執行表中的所有指令,執行時會跳過注釋指令;根據要求“14”指令,在二號工作區打開源表,為采集數據作好準備;執行指令采集數據,填在三號工作區打開的指標表內。對某些需要填列上年同期數的報表,還可在四號工作區打開上年同期的指標表,該指標表是在編制上年同期報表時由系統自動生成,然后從中采集數據填到三號工作區的指標表中。
(編輯 熊年春)


服務熱線

400 180 8892

微信客服

<th id="q6zaz"></th>
    1. <del id="q6zaz"></del>

    2. <th id="q6zaz"></th>