年次繰越処理 90

年次繰越処理については、個別問題の「年次繰越処理」を最初にお読み下さい
スクリプトは「#---」で挟まれた部分です(「#」以降は、Rubyではコメントとして処理されます)
スクリプト先頭の番号(1:など)は、説明のためのもので、実際には記述しません
年次繰越処理の前に、当年度のデータのバックアップが必要になります
これについては、個別問題の「バックアップとリストア」を参考にしてください
年次繰越処理は、会計単位別の試算表の作成から始まりますが、試算表作成のスクリプトについては、ユーザスクリプトの「試算表」で解説しているので、ここでは詳しい説明は行いません


1.会計単位が一つの場合

#---------------------
1:require "t1"
2:
MkJ1ZTB2CGF(9999,"20200401")
3:Set7V12CGF_Tag("J_SlipNo",99)
4:
Ren12t1F("CgFXJ","XJ")
5:
Cls7BusinessYear12XK()
#------------------------

1:「展開一番」のスクリプトを利用するためのおまじない
2:試算表ファイル(ZTB_hhhh.txt)から繰越仕訳を生成します、繰越仕訳は「CgFXJ.txt」ファイルとして個別データを置くフォルダに作成されます
第一パラメタは繰越仕訳の相手科目Codeで、この例では「9999」の諸口を指定しています
第二パラメタは繰越仕訳の会計日で、この例では、2020年4月1日を指定しています
3:繰越仕訳ファイルの「J_SlipNo」タグに「99」をセットします-例示です、別のタグに任意の値をセットすることもできます-
4:繰越仕訳ファイルを仕訳ファイルに名称を変更します、同名のファイル(XJ_hhhh)があるときは変更時の年月日時間が付加されて保存されます
5:基本マスタの事業年度、開始事業年度、終了事業年度をインクリメントします


2.会計単位が二つ(複数)の場合

会計単位が複数ある場合は、「会計単位が一つの場合」の処理を繰り返すことになりますが、その手順は少し複雑になります
例として、会計単位が二つの場合のフローを紹介します("J_AU"タグの値が100と200の場合を想定します)
なお、文中の「hhhh」は「t1_Profile.txt」(「展開一番」必須ファイル)に登録している法人番号です
---------------------------------------------------------------------------------
a1:仕訳ファイルから会計単位が100の仕訳を抽出し仕訳抽出ファイルWXJ_hhhhを作成する
a2:仕訳抽出ファイルから試算表ファイルZTB_hhhhを作成する
a3:試算表ファイルから繰越仕訳ファイルCgFXJ_hhhhを作成する
a4:繰越仕訳ファイルに会計単位や勘定科目名などをセットする
a5:繰越仕訳ファイルを例えば仕訳ファイルXJ_100_hhhhにリネームする
b1:仕訳ファイルから会計単位が200の仕訳を抽出し仕訳抽出ファイルWXJ_hhhhを作成する
b2:仕訳抽出ファイルから試算表ファイルZTB_hhhhを作成する
b3:試算表ファイルから繰越仕訳ファイルCgFXJ_hhhhを作成する
b4:繰越仕訳ファイルに会計単位や勘定科目名などをセットする
b5:繰越仕訳ファイルを例えば仕訳ファイルXJ_200_hhhhにリネームする
c1:仕訳ファイルXJ_100_hhhhを仕訳ファイルXJ_hhhhにリネームする
c2:仕訳ファイルXJ_200_hhhhを仕訳抽出ファイルWXJ_hhhhにリネームする
c3:仕訳抽出ファイルの仕訳を仕訳ファイルに追加する
---------------------------------------------------------------------------------

a1〜a5で会計単位100の繰越仕訳ファイル(XJ_hhhh_100)を作成し、b1〜b5で会計単位200の繰越仕訳ファイル(XJ_hhhh_200)を作成し、c1〜c3で二つの仕訳を一つに纏めるという流れになります

上記の処理を「展開一番」スクリプトにすると以下のようになります
なお、ファイルのリネームやレコードの追加等の処理は、OS付属のファイルマネージャやフリーソフトウェアで簡単に行うことができます
ユーザの好みで使い分けて下さい
#
------------------------------------
0:require "t1"(註1)
a1:Sel9MA1XJ2WXJ_SetV("J_AU",100,100)
a2:会計単位100の
試算表ファイル作成スクリプト(註2)
a3:MkJ1ZTB2CGF(9999,"20211231")
a
4:Set7V12CGF_Tag("J_AU",100)
a4:Set7ActN12XJQ_RYA(2,"J_DA","J_U_DAName")
a4:Set7ActN12XJQ_RYA(2,"J_CA","J_U_CAName")
a5:
Ren12t1F("CgFXJ","XJ_100")
b1:Sel9MA1XJ2WXJ_SetV("J_AU",200,200)
b2::会計単位200の試算表ファイル作成スクリプト(註2)
b3:
MkJ1ZTB2CGF(9999,"20211231")
b4:Set7V12CGF_Tag("J_AU",200)
b4:Set7ActN12XJQ_RYA(2,"J_DA","J_U_DAName")
b4:Set7ActN12XJQ_RYA(2,"J_CA","J_U_CAName")
b5:Ren12t1F("CgFXJ","XJ_200")
c1:Ren12t1F("XJ_hhhh_100","XJ")
c2:Ren12t1F("XJ_hhhh_200","WXJ")
c3:Apd1WXJ2XJ(hhhh)
#-----------------------------------------

(註1)
「展開一番」スクリプトを利用するおまじない
(註2)
通常の運用では、試算表作成スクリプトは作成済みのはずです
作成済のスクリプトを利用すれば、この部分は簡単に記述することができます
スクリプトから他のスクリプトを呼び出して利用する方法は、ユーザスクリプトの「作成」に説明してあります、参考にしてください



Last Update 2021/10/29