基本構造 10


「展開一番」は、仕訳データを加工して帳票データを作成します

【ファイル】
データ処理の基本になるファイルは仕訳ファイル(データ)です、これを処理加工して帳票ファイル(データ)を作成します
仕訳データ、帳票データ以外に、データ処理に必要な幾つかのマスタファイルを使用しますが、これらもすべてテキストファイル(CSV)です
ファイルには、一定の規則に従って名前が付けられ、その末尾には類型番号または法人番号が付きます
類型番号は科目や消費税の汎用ファイルに、法人番号は仕訳や帳票などの個別ファイルに付きます
汎用ファイルは、複数の法人(または、複数の事業年度など)で共通して利用されるファイルで、当該法人(または会計主体)がどの汎用ファイルを利用するかは、基本マスタ(個別ファイル)に記録されます
ファイルに記録できるデータの種類(会計日・金額・摘要・・・)は「タグ名」としてファイルごとに定義し、その並びを「定義ファイル」として記述します
「タグ名」はファイルごとに既定されていますが(例えば、仕訳ファイルの会計日は「J_Date」など)、これ以外はユーザが自由に決めることができます、登録数や桁数にも制限はありません


【プログラム】
「展開一番」のプログラム(以後、スクリプトという)は原則として単一の機能ごとに作成されています
「展開一番」をダウンロードすると、「t1.rb」ファイルが落ちてきます(圧縮ファイルなので解凍処理が必要です)、テキストエディターでその内容を確認できます
スクリプトはテキストで記述されていて、一つのスクリプトの平均は60行(註)程度ですから、ユーザがその内容を理解することも容易です(多少のプログラミング経験があればという限定は付きますが)、また、改変することも自由です
(註) 「展開一番」Ver.4.03に含まれているスクリプトは90個で、総行数が6,680行です
各スクリプトに14行のコメント文があるとして計算すると、スクリプトの平均は60行となります

「展開一番」Ver.8.0ではスクリプトが108個、総行数が8409行なので、同じ条件で計算すると64行となります
スクリプトを組み合わせて帳票作成の台本(以後、ユーザスクリプトという)を作成し、ファイルとして保存します
Rubyからユーザスクリプトを実行して、帳票ファイルを作成します
コマンドプロンプト画面から、以下のように入力すると帳票(試算表)が作成できます(「Ruby」の実行はコマンドプロンプト以外からも可能です、「1140フリーソフトウェア」なども参考にして下さい)
>ruby TB_1.rb
「TB_1.rb」がユーザスクリプト(テキスト)です
スクリプトは以下の通りです
註)以下のスクリプトは「展開一番」Ver.7 以降のものです

equire "t1"
MkF1YA2ZTB()
Sel9MA1XJ2WXJ_SetV("m","J_M",0,0)
MkF1WXJ2WSumDC()
Pst1WSumDC2ZTB(0,0)
Cal7Bal12ZTB(3)

最初の行は「展開一番」を使用する宣言文で、以下の5つがスクリプトになります
詳しい内容は「1060ユーザスクリプト」で解説しています




【データ処理のフロー】
スクリプトは、最初に「プロファイル」を参照して、ファイルの保存場所と法人番号を取得します
次に、これらの情報から基本マスタを参照し、利用すべき汎用ファイルを決定します
スクリプトごとに、どの個別ファイルを入力ファイルとするかが決まっているので、当該ファイルの定義ファイルの「タグ名」を参照し、目的とするデータが各レコードの何番目(何番目のフィールド)にあるかを特定し、決められた処理を実行します
スクリプトは、多くの場合、仕訳抽出ファイルを入力ファイルとします
仕訳抽出ファイルは、仕訳ファイルから特定の条件(例えば、会計日など)で仕訳を抽出したものです、仕訳ファイルを直接処理することを避け、帳票ファイルの作成に失敗したときでも、その影響が仕訳ファイルに及ばないようにしています

(註)ファイルの相互関係は「Q&A-運用全般-Q1003」でも解説しています、併せてご覧下さい



Last Update 2022/02/28