科目マスタから予算実績対比表や科目残高推移表などを作成する 60






アウトサイド処理支援ライブラリに、科目マスタの仕様を拡張するスクリプトを追加しました
これにより、科目マスタから予算実績対比表や科目残高推移表などが作成できるようになりました

(註)
以下に説明するスクリプトを利用する場合は、アウトサイド処理支援ライブラリが必要です
スクリプトは Ver.7.01 以降の名前です
ユーザスクリプトの冒頭に「require "t1_outside.rb"」文を置いて、アウトサイド処理支援ライブラリの利用を宣言して下さい


科目マスタの各科目に金額を持たせ、予算実績対比表や月次損益推移表を作成する手順の概要は以下の通りです
1.科目マスタに、ユーザ定義タグ(フィールド)を設定する(科目マスタの定義ファイルに当該タグを追加します)(註1)
2.ユーザ定義タグに、予算金額や試算表残高の金額をセットします
3.必要に応じて、ユーザ定義タグ間で演算処理を行います(差異額、比率などの計算)
4.科目マスタのユーザ定義タグの金額から必要な帳票を作成する(註2)

(註1)
「展開一番」では、システムが使用する既定のタグの他に、ユーザが自由に定義できるタグを設定することができます(タグ数に制限はありません)
これらのタグは各マスタの定義ファイルに記載し、スクリプトのパラメタで指定して利用します
名前は、システムで利用していなければ自由に付けることができますが、「展開一番」では「マスタのタグ名_U_任意の名前」を推奨しています
従って、科目マスタにユーザ定義タグを追加する場合は、「MA_U_yosan」「MA_U_201404」「MA_U_diff」などとなります
(註2)
ユーザが使い慣れているツール(例えば、表計算ソフトウェアなど)に科目マスタのデータをインポートして自由に整形することになるため、ここでは説明を省略します


■Ins9Set7V12t1F(fn,vs)
指定したファイルの各レコードの末尾に任意の数字を付加するスクリプトです
fn:ファイル名(拡張子「txt」はシステムが付加するので必要ありません)
vs:付加する数字
科目マスタ「YA_96.txt」の各行の終わりにタグ(フィールド)を追加し、当該タグにゼロをセットする場合のスクリプトは以下のようになります
「Ins9Set7V12t1F("YA_96",0)」(註3)
予算実績対比表を作成するときは、少なくとも三つのタグ(予算額・実績額・演算値)を追加する必要があるので、このスクリプトを三回実行します
追加された、三つのタグ(ゼロ)は、科目定義ファイルのタグ名で識別されることになります

(註3)
スクリプトは例示です(以下の説明でも同様です)

【参考】
指定したファイルの各レコードの任意のタグを削除するスクリプト「Del7Tag12t1F(fn,vi)があります
科目マスタのタグを削除する場合、当該タグが最初からカウントして8番目の場合は、「Del7Tag12t1F("YA_96",7)」となります(ゼロからカウントするため)


■Cpy1ZTB2YA(sAC,eAC,vi,desTn)
科目マスタに試算表の金額をセットするスクリプトです
試算表ファイル〔ZTB_hhhh.txt〕が作成されていることが前提です
第一パラメタと第二パラメタで科目範囲をCodeで指定します
試算表のどの残高(金額)をセットするかを第三パラメタで指定します、開始残高は3を、期間取引高は6を、終了残高は9を指定します
指定した金額を科目マスタのどのタグ(フィールド)にセットするかを第四パラメタで指定します
試算表を作成し、損益科目(科目範囲のCodeは2010〜3999とする)の期間発生額を科目マスタの「MA_U_15Q3」タグにセットするには、
Cpy1ZTB2YA(2010,3999,6,"MA_U_15Q3") とします


■Set1FileX2YA(fn,c1,c2,tn)
科目マスタに任意のファイルの金額(例えば予算額)をセットするスクリプトです
科目Codeと金額を含むファイルが作成されていることが前提です(ファイル名は任意、以下「CAF」〔CodeAmountFile〕という)
スクリプトの第一パラメタにCAFを指定する(拡張子は不要です)
スクリプトの第二パラメタに科目Code、第三パラメタに金額の列番号(ゼロからカウント)を指定します
スクリプトの第四パラメタには、科目マスタのタグ名を指定します
CAF(XBudget.txt)のデータの並びが、科目コード・科目名・予算13・予算14・予算15・・・のとき、予算15欄の金額を科目マスタの「MA_U_15」にセットするときは、
Set1FileX2YA("XBudget",0,4,"MA_U_15") とします


■Cal7FldSum9Set12YA(sAC,eAC,sTn,eTn,desTn)
科目マスタの指定した科目コード間で、連続するタグの合計(1月から3月までの合計額)を計算し、その結果を指定タグ(第一四半期)にセットする
sAc演算対象範囲の最初の科目Code
eAc演算対象範囲の最後の科目Code
sTn:集計開始タグ名
eTn:集計終了タグ名
desTn:結果をセットするタグ名
損益科目(科目Codeの範囲は2010〜3999)について、ユーザ定義タグ1(タグ名は「MA_U_01」)からユーザ定義タグ3(タグ名は「MA_U_03」)までの合計を計算し、その結果をユーザ定義タグ13(タグ名は「MA_U_13」)にセットするには
Cal7FldSum9Set12YA(2010,3999,"MA_U_01","MA_U_03","MA_U_13") とします


■Cal9Set12YA(sAc,eAc,cm,el1,el2,desTn)
科目マスタのタグ(フィールド)間で演算を行うスクリプトです
sAc:演算対象範囲の最初の科目Code
eAc:演算対象範囲の最後の科目Code
cm:計算方法 1→減算(t1-t2), 2→除算(t1/t2), 3→加算(t1+t2)
なお、除算は小数点以下第四位を四捨五入して第三位までを計算し、除数ゼロの場合はゼロを返します
上記以外の桁数が必要な場合は、スクリプトを変更して下さい
el1,el2,:計算対象のタグ名
desTn:演算結果をセットするタグ名
予算実績対比表を作成するために、予算残高と達成率を計算させるには
Cal9Set12YA(2010,3999,1,"MA_U_yosan","MA_U_15Q3","MA_U_15Q1B") とします




Last Update 2020/02/02