科目別損益推移表(GS:グリッドシートを利用) 25

GS(グリッドシート)を利用した科目別損益推移表を作成するユーザスクリプトの例を紹介します
GS関連のスクリプトは、「展開一番」のアウトサイド処理となるので、利用に先立ち「t1_outside.rb」ライブラリをロード(require)しておく必要があります
科目別損益推移表は試算表から作成することにし、科目別の月次推移を確認することを目的とします
したがって、販売費や管理費の合計、営業利益の計算等が必要な時は、試算表作成時に「合計科目」を利用してこれらを計算しておく必要があります〔合計科目については、Q&A1210−アウトサイド処理1210_O−3320合計科目の利用について を参照して下さい〕
スクリプトは、1.月ごとの科目発生額を計算する(試算表の「期間取引高」残高だけを利用する)、2.この試算表を別名で保存する、3.必要な月数だけ左の処理を繰り返す(ここでは第1四半期の三か月を対象とします)、4.各月の試算表の「期間取引高」残高をGSに転記する・・・という流れになります

スクリプト先頭の番号(1:など)は、説明のためのもので、実際には記述しません
GSは縦展開型(28行、18列)を利用し、識別番号として「25」を設定します
仕訳ファイル「XJ_2500.txt」には、開始残高(経過月ゼロ)から6月(経過月3)までの仕訳が記録されているものとします
試算表からGSへの転記は、Code7000(売上高)〜Code8390(その他特別損失)までとします

1.事前準備


1:require "t1.rb"
2:require "t1_outside.rb"
3:
GSMkF(25,"v",28,18)
4:MkF1YA2ZTB()

-----------------------------------------
1:「展開一番」ライブラリ(に含まれるスクリプト)を利用するための宣言
2:「展開一番アウトサイド処理」ライブラリ(に含まれるスクリプト)を利用するための宣言
3:GS(グリッドシート)を作成します
4:空の試算表ファイルを作成します、仕訳ファイルと科目マスタが整合していること

2.期間取引高残高の計算


ここからは、各月の試算表を作成する(月次の発生額を計算する)プロセスになります
パラメタに注意して複数回(この例では、4月〜6月の3回)実行します

5:Sel9MkF1XJ2WXJ("J_M",1,1)
6:MkF1WXJ2WSumDC()
7:Pst1WSumDC2ZTB(1,0)
8:Cal7Bal12ZTB(6)
9:Ren12t1F("ZTB","ZTB_4")

-----------------------------------------
10:MkF1YA2ZTB()
11:Sel9MkF1XJ2WXJ("J_M",2,2)
12:MkF1WXJ2WSumDC()
13:Pst1WSumDC2ZTB(1,0)
14:Cal7Bal12ZTB(6)
15:Ren12t1F("ZTB","ZTB_5"

-----------------------------------------
16:MkF1YA2ZTB()
17:Sel9MkF1XJ2WXJ("J_M",3,3)
18:MkF1WXJ2WSumDC()
19:Pst1WSumDC2ZTB(1,0)
20:Cal7Bal12ZTB(6)
21:Ren12t1F("ZTB","ZTB_6")
-----------------------------------------
22:MkF1YA2ZTB()
23:Sel9MkF1XJ2WXJ("J_M",1,3)
24:MkF1WXJ2WSumDC()
25:Pst1WSumDC2ZTB(1,0)
26:Cal7Bal12ZTB(6)
27:Ren12t1F("ZTB","ZTB_1Q")
-----------------------------------------

5:4月分(経過月1)の仕訳を抽出します
6:科目別に合計し、7:「期間取引高」欄に転記し、8:損益科目の残高を計算します
9:試算表ファイル(ZTB_2500.txt)をリネームして(ZTB_4_2500.txt)保存します
以下、5月分(10:〜15:)、6月分(16:〜21:)の説明は省略
なお、10:,16:,22: は、前段の試算表ファイルのリネームにより試算表ファイル「ZTB_2500.txt」が無くなったため再作成しています
22:〜27:で第一四半期合計を計算します

3.GS(グリッドシート)への転記

GS(グリッドシート)へ必要なデータを転記します
転記開始位置はゼロからカウントします、左上は0行、0列になります
「GS_vPst」スクリプトの第5パラメタが複写元開始列、第7パラメタが複写先開始行、第8パラメタが複写先開始列です
データの並びは、科目Code、科目名、貸借区分、4月発生額、5月発生額、6月発生額、第1四半期合計

28:GS_vPst("ZTB_4",0,7000,8390,0,25,0,0)
29:GS_vPst("ZTB_4",0,7000,8390,1,25,0,1)
30:GS_vPst("ZTB_4",0,7000,8390,2,25,0,2)
-----------------------------------------
31:GS_vPst("ZTB_4",0,7000,8390,8,25,0,3)
32:GS_vPst("ZTB_5",0,7000,8390,8,25,0,4)
33:GS_vPst("ZTB_6",0,7000,8390,8,25,0,5)
34:GS_vPst("ZTB_1Q",0,7000,8390,8,25,0,6)
-----------------------------------------

28:〜30:1列目に試算表(ZTB_4_2500.txt)のCode、2列目に科目名、3列目に貸借区分を転記します
31〜33:4月〜6月の発生額を転記します
34:第1四半期発生額合計を転記します

Last Update 2022/10/01