スクリプト G

以下のスクリプトは「展開一番」のライブラリ(t1.rb,t1_GC.rb)には含まれていません
利用するには、スクリプトに記載してあるライブラリを利用して下さい



書式 Gen7TD12JXJ_JDate(vy,vm)301
ライブラリ t1_inside
機能 (テストデータ生成)
「JXJ_hhhh.txt」ファイル(テストデータ仮ファイル)の仕訳の会計日をランダムに書き換える
パラメタで事業年度開始年月を指定し、当該月から1年分の会計日をランダムに発生させる
閏年2月29日には対応しない
月日の作成方法は1から365の乱数を発生させ、1は1月1日、365は12月31日に対応させる
例えば、y:2012 m:4を実行すると、乱数で生成された日付の月が、m:4以降12までであれば、y:2012と連結し会計日2012mmddとする、上記以外であればyに1を加えて同様に会計日2013mmddとする

パラメタ vy:事業年度開始年
vm:事業年度開始月
In JXJ.txt
Out JXJ.txt
用例 Gen7TD12JXJ_JDate(2012,7)
「IXJ_hhhh.txt」ファイル(テストデータ仮ファイル)の仕訳の会計日を2012年7月1日から2013年6月30日までの会計日に置き換える



書式 Gen7TD12JXJ_SlipNo(vi1,vi2)302
ライブラリ t1_inside
機能 (テストデータ生成)
「JXJ_hhhh.txt」ファイル(テストデータ仮ファイル)の仕訳の伝票番号を書き換える
伝票番号が直前と同一であれば同じ番号をセットする

パラメタ vi1:初期値
vi2:増分値
In JXJ.txt
Out JXJ.txt
用例 Gen7TD12JXJ_SlipNo(1000,1)
「JXJ_hhhh.txt」ファイル(テストデータ仮ファイル)の仕訳の伝票番号を1000番から順に付け直す



書式 Gen7TD1IXJ2JXJ_Div(d,vi)304
ライブラリ t1_inside
機能 (テストデータ生成)
基本仕訳が持つ作成条件から指定フィールドの値を分割してテストデータを作成する
基本仕訳が分割されるので、テストデータの集計値(例えば試算表の金額)は基本仕訳の集計値と一致する
基本仕訳の作成方法、テストデータの生成ロジックなどは「インサイド処理1110」の「テストデータジェネレータによる仕訳の生成34」で説明しています
詳細は、こちらを参照して下さい

パラメタ d:会計日の起点となる日を4桁または6桁の数字で指定(例えば、「20090701」「210701」など)
vi:会計日の期間を日数で指定(1か月を30日とする、6か月分のデータでは「180」と指定)
In IXJ.txt
Out JXJ.txt
用例 Gen7TD1IXJ2JXJ_Div(20090701,180)
基本仕訳ファイル(IXJ.txt)からテストデータ(仕訳)を自動生成し、その結果を JXJ.txt ファイルに書き出す
テストデータに付加する会計日は、2009年7月1日から2009年12月31日までの6か月間の任意の日とする



書式 Gen7TD1IXJ2JXJ_Inc(vi1,vi2)303
ライブラリ t1_inside
機能 (テストデータ生成)
基本仕訳を指定回数整数倍して複写し「テストデータ仮ファイル」を作成する
例えば、Gen7TD1IXJ2JXJ_Inc(3,20) とすると
複写ごとに1〜20の範囲でランダムな数を求め定数とし、仕訳金額にこの定数を掛けてテストデータ仮ファイルに書き出す、この処理を3回繰り返す
基本仕訳ファイルに50行の仕訳があれば全体で150行の仕訳が生成される、1〜50行目までは当初金額のs1倍、51〜100行目までは当初金額のs2倍、101〜150行目は当初金額のs3倍の仕訳が出来上がります(s1〜s3は1〜20の任意の数)
この仕様により複数の仕訳で一つの取引を記述する仕訳にも対応できる(貸借の不一致を避けられる)
テストデータの作成手順は、「インサイド処理1110」の「テストデータの作成(仕訳を大量に作成したいとき)36」で説明しています
詳細は、こちらを参照して下さい

パラメタ vi1:基本仕訳の複写回数
vi2:基本仕訳の金額を整数倍するときの最大倍数
In IXJ.txt
Out JXJ.txt
用例 Gen7TD1IXJ2JXJ_Inc(100,80)
基本仕訳ファイル(IXJ_hhhh.txt)の仕訳を、テストデータ仮ファイル(JXJ_hhhh.txt)に100回書き出す
このとき仕訳の金額データは複写ごとに1〜80の範囲で整数倍される



書式 GS_hPst(fn,c1,sVi,eVi,c2,id,r)408
ライブラリ t1_outside
機能 (グリッドシート)
グリッドシートに「t1File」の値を転記(横展開)する、例えば試算表の流動資産の科目残高の転記
「t1File」とは、「展開一番」で使用するCSV形式のテキストファイルで、いずれかの列に「Code」を含むものです
試算表ファイル(ZTB_hhhh.txt)が典型的なものですが、「Code」列と「数値(文字列でも可)」列を含むCSV形式のテキストファイルであればどのようなファイルでも利用できます
ただし、ファイル名には法人番号hhhhを付けて「filename_hhhh.txt」とする必要があります


パラメタ fn:転記元のファイル名、「_hhhh.txt」はスクリプトが補完するので必要ありません
c1:上記ファイルのキー列、試算表ファイルであれば1列目が科目Codeなので「0」(列0)を指定
sVi:キーの範囲の最初、流動資産を転記するときは最初の「小口現金」のCodeを指定
eVi:キーの範囲の最後、流動資産を転記するときは最後の「その他流動資産」のCodeを指定
c2:転記する数値の転記元ファイルの場所(列)、試算表ファイルの繰越残高を転記するときは12列(列11)を指定
id:グリッドシートの識別番号
r:転記するグリッドシートの行、5行目に転記するときは4を指定
(註)グリッドシートで、行・列の位置を指定するときは上・左から何番目かをゼロから数えて指定します

In t1File.txt
Out GS_hid_hhhh.txt
用例 GS_hPst("ZTB",0,2000,2999,11,7,4)
試算表ファイルの1列目(列0、科目Code)の値が2000〜2999の行について、12列目(列11、繰越残高)の値をグリッドシート(識別番号7)の5行目3列目(列2・・・転記開始列は既定)から横方向に順番に転記する



書式 GS_hSum(id,c,r)409
ライブラリ t1_outside
機能 (グリッドシート)
グリッドシートに横展開された数値を集計(水平合計)する、例えば、流動資産の計算
行を指定し、横展開された数値を合計し2列目(列1)にセットします、合計する範囲は3列目(列2)から指定した列までです
行・列ともゼロからカウントします

パラメタ id:グリッドシートの識別番号
c:集計列の最後
r:合計する行
In GS_hid_hhhh.txt
Out GS_hid_hhhh.txt
用例 GS_hSum(7,22,4)
GS(識別番号7)の5行目の数値を合計します、集計範囲は3列目(列2)〜23列目(列22)までの21個の数値です



書式 GS_hSumCal(id,cm,el1,el2,r)410
ライブラリ t1_outside
機能 (グリッドシート)
グリッドシートに横展開された数値の集計値間で演算を行う、例えば、流動資産と流動負債から流動比率を計算
指定した任意の2つの行の2列目(列1)の数値で演算を行い、その結果を指定した行の2列目(列1)にセットする

計算対象、計算結果は全て2列目(列1)に固定されています

パラメタ id:グリッドシートの識別番号
cm:計算方法、1〜4の数字で指定する
1:加算 el1+el2
2:減算 el1-el2
3:乗算 el1*el2
4:除算 el1/el2
乗除算は小数点以下第3位まで求めます(小数点以下第四位を四捨五入)、除数がゼロのときはゼロを返します
el1,el2:演算使用する行
r:演算結果をセットする行

In GS_hid_hhhh.txt
Out GS_hid_hhhh.txt
用例 GS_hSumCal(7,4,1,2,3)
GS(識別番号7)の2行目(列1、値を2とする)と3行目(列1、値を3とする)を計算要素として除算し、結果(0.667)を4行目(の列1)にセットする



書式 GS_hTitle(id,r,vs)411
ライブラリ t1_outside
機能 (グリッドシート)
グリッドシートの指定した行にタイトルを設定する、例えば、「流動比率」を設定
GSファイル(横展開用のファイル、識別番号の前にhが付く)の指定行に標題をセットします

パラメタ id:グリッドシートの識別番号
r:タイトルをセットする行
vs:タイトル
In GS_hid_hhhh.txt
Out GS_hid_hhhh.txt
用例 GS_hTitle(2,0,"営業利益率")
「GS_h2_hhhh.txt」の1行目1列目(行0列0)に「営業利益率」がセットされます
「GS」を扱うスクリプトで、行・列の位置を指定するときは、ゼロからカウントします(全てのスクリプトで共通の仕様です)
最初の行、すなわち1行目は行0となります、なお、タイトルは2列目(列1)に固定されています



書式 GS_MkF(id,g_type,vi1,vi2)412
ライブラリ t1_outside
機能 (グリッドシート)
グリッドシートを作成する
「GS」は、試算表のデータを行に転記する(横展開する)ことを想定したものと、列に転記する(縦展開する)ことを想定したものの二種類があります
どちらの「GS」を作成するかは、第二引数の「type」で指定します、横展開は「h」、「縦展開」は「v」を指定します
横展開する「GS」には、第1列に「Title」、第2列に「Total」の文字が入ります、縦展開する「GS」は、全てブランクです

横展開用の「GS」にデータを縦展開で転記しても問題はありませんが(その逆も同じ)、横展開データの集計値や演算値は第2列にセットするため、横展開を想定している「GS」には「Title」「Total」の文字を当該列に予め書き込み、注意を促す仕様にしていますが、必要なければ、「縦展開」用の「GS」を使用してください
第一引数の id は、GSを識別する番号で、ユーザが自由に付けることができます
このスクリプト実行すると「GS_hid_hhhh.txt」または「GS_vid_hhhh.txt」というファイルが作成できます、hhhh(法人番号)「txt」はスクリプトが補完します
一つの「hhhh」(法人番号)に対して複数のGSを作成できます、このためGS操作のスクリプトではこの識別番号は必須となります


パラメタ id:グリッドシートの識別番号
g_type:h/v
vi1:行数
vi2:列数
In -
Out GS_hid_hhhh.txt/GS_vid_hhhh.txt
用例 GS_MkF(99,"h",2,6)
ファイル名「GS_h99_hhhh.txt」の内容は以下のようになります
------------------------------------------------------------------
Title,Total,,,,,
Title,Total,,,,,
------------------------------------------------------------------

2行6列の縦展開用の識別番号99のGSを作成するときは GS_MkF(99,"v",2,6) とします
ファイル名「GS_v99_hhhh.txt」の内容は以下のようになります
------------------------------------------------------------------
,,,,,,
,,,,,,
------------------------------------------------------------------




書式 GS_SetTitle(id,g_type,r,c,vs)416
ライブラリ t1_outside
機能 (グリッドシート)
グリッドシートの指定行列に指定文字列をセットする

パラメタ id:グリッドシートの識別番号
g_type:GSの種類、縦展開は v , 横展開は h を指定する
r:行(ここで指定した行に文字列をセットする、行はゼロからカウント)
c:列(ここで指定した列に文字列をセットする、列はゼロからカウント)
vs:設定する文字列("営業利益率"など)
In GS_hid_hhhh.txt/GS_vn_hhhh.txt
Out GS_hid_hhhh.txt/GS_vn_hhhh.txt
用例 GS_SetTitle(7,v,0,0,"2018年度営業利益")
GS(識別番号7)の1行目1列目に文字列「2018年度営業利益」をセットする





書式 GS_vCal(id,cm,el1,el2,sR,eR,c)413
ライブラリ t1_outside
機能 (グリッドシート)
グリッドシートの指定列間で演算を行う、例えば、販管費科目残高と予算から予算残高や予算実績比率を計算

パラメタ id:グリッドシートの識別番号
cm:計算方法、1〜4の数字で指定する
1:加算 el1+el2
2:減算 el1-el2
3:乗算 el1*el2
4:除算 el1/el2
乗除算は小数点以下第3位まで求めます(小数点以下第四位を四捨五入)、除数がゼロのときはゼロを返します

el1,el2:演算に使用する列
sR,eR:計算する範囲行
c:計算結果をセットする列

In GS_vid_hhhh.txt
Out GS_vid_hhhh.txt
用例 GS_vCal(7,1,1,2,19,39,3)
GS(識別番号7)の20行目から40行目まで2列目(列1)と3列目(列2)を計算要素として減算し、結果を4列目にセットする



書式 GS_vPst(fn,c1,sVi,eVi,c2,id,r,c)414
ライブラリ t1_outside
機能 (グリッドシート)
グリッドシートに指定ファイルの値を転記(縦展開)する、例えば、試算表の販管費科目残高の転記

パラメタ fn:転記元のファイル名、「_hhhh.txt」はスクリプトが補完するので必要ありません
c1:上記ファイルのキー列、試算表ファイルであれば1列目が科目Codeなので「0」(列0)を指定
sVi:キーの範囲の最初、流動資産を転記するときは最初の「小口現金」のCodeを指定
eVi:キーの範囲の最後、流動資産を転記するときは最後の「その他流動資産」のCodeを指定
c2:転記する数値の転記元ファイルの場所(列)、試算表ファイルの繰越残高を転記するときは12列(列11)を指定
id:グリッドシートの識別番号
r:転記するグリッドシートの行、8行目に転記するときは7を指定
c:転記するグリッドシートの列、5列目に転記するときは4を指定
(註)グリッドシートで、行・列の位置を指定するときは上・左から何番目かをゼロから数えて指定します
In GS_vid_hhhh.txt
Out GS_vid_hhhh.txt
用例 GS_vPst("ZTB",0,2000,2999,1,7,0,0)
試算表ファイルの1列目(列0、科目Code)の値が2000〜2999の行について、2列目(列1、勘定科目名)をグリッドシート(識別番号7)の1行目1列目から縦方向に順番に転記する



書式 GS_vSum(id,c,sR,eR,r)415
ライブラリ t1_outside
機能 (グリッドシート)
グリッドシートに縦展開された数値を集計(垂直合計)する、例えば、販管費科目の合計を計算
指定列のm行からn行までの数値を合計し、指定行にセットします

パラメタ id:グリッドシートの識別番号す
c:集計対象列を指定します
sR,eR:合計する行範囲
r:合計をセットする行を指定します(列は集計対象列)

In GS_vid_hhhh.txt
Out GS_vid_hhhh.txt
用例 GS_vSum(7,4,9,18,19)
GS(識別番号7)の5列目の10行目(行9)から19行目(行18)までの数値を合計し、20行目(行19)、列4)にセットする



書式 GS_vSumCal(id,cm,c,r1,r2,r3)421
ライブラリ t1_outside
機能 (グリッドシート)
グリッドシートに縦展開された数値の集計値間で演算を行う、例えば、資金収入合計額と資金支出合計額の差額を計算する
任意の列(c列)の、2つの行の数値間で演算を行い、その結果を指定行(c列)にセットする

パラメタ id:グリッドシートの識別番号す
cm:計算方法 1:加算(r1+r2)、2:減算(r1-r2)、3:乗算(r1*r2)、4:除算(r1/r2)
乗除算は小数点以下3位まで求める(小数点以下第四位を四捨五入)、除数がゼロのときはゼロを返す
c:計算対象列
r1,r2:計算対象行
r3:計算結果をセットする行(r3行c列)

In GS_vid_hhhh.txt
Out GS_vid_hhhh.txt
用例 GS_vSumCal(63,2,3,14,3,22)
GS(識別番号63)の4列目(列はゼロからカウント)の15行目(行はゼロからカウント)の値から4行目の値を減算して、結果を23行目(23行、4列のセル)にセットする

Last Update 20250415