兎の真似をする烏

全力で"楽"である為に・人生が"面白く"ある為に

科目情報取込作成

ざっくりな機能説明

財務会計R4に登録されている科目一覧を取り込む機能。科目情報は財務会計R4の機能にてCSV形式で出力することができるのでそれを利用する。取り込んだデータはそのままDBへ登録。

主科目情報

財務会計R4にて取得できるCSVファイルの内容はいかのようなもの。

項目名 形式 備考
勘定科目コード 1~4桁?までの数値 ダブルクォートで括られている
勘定科目名 任意の文字列

勘定科目コード,勘定科目名
"100","現金"
"131","売掛金"
"201","買掛金"

※ 注意 ※
財務会計R4で出力される科目情報は使用していない科目までCSVファイルに記載してくる。
財務会計R4では科目選択窓に出力するか否かのフラグを立てることが可能だが、何故かそのフラグ情報を引き出すことが出来ない。
これは仕様なのか、単純に私がその方法を知らないだけなのか...

補助科目情報

財務会計R4にて取得できるCSVファイルの内容は以下のようなもの。

項目名 形式 備考
勘定科目コード 1~4桁?までの数値 主科目コードの情報が載る。ダブルクォートで括られている
補助科目コード 1~4桁?までの数値 ダブルクォートで括られている
補助科目名 任意の文字列

勘定科目コード,補助科目コード,補助科目名
"131","1","A商店"
"131","2","B株式会社"
"201","1","C商事"

操作イメージ

ユーザは「参照」ボタンからファイル選択ダイアログを表示し、そこから主科目と補助科目のそれぞれのCSVファイルを選択してもらう。
CSVファイルを選択後「取込」ボタンを押下することでDBへ情報を書き込むようにする。

補助機能

  • 主科目のCSVファイルが選択されていない状態で「取込」ボタンを押下するとエラー
  • 補助科目のCSVファイルが選択されていない状態で「取込」ボタンを押下するとエラー
  • 選択されたCSVファイルのヘッダ情報を確認し、規定の項目が存在しない場合は想定外のファイルが選択されたものとしてエラー

設定ファイル

予め各CSVファイルのヘッダ情報を設定したファイルを用意しておく。
今回はyamlを採用。

設定内容は以下のような感じ。

account:
  main:
    code: 勘定科目コード
    name: 勘定科目名
  sub:
    code: 勘定科目コード
    sub_code: 補助科目コード
    sub_name: 補助科目名

DB

main_accountsテーブル

主科目の情報を取り込むテーブル。
カラムは以下のように設定。

カラム名 主キー 備考
id Integer autoincrementをTrueに設定
code Integer 主科目コードを格納
name String 主科目名を格納

sub_accountsテーブル

補助科目の情報を取り込むテーブル。
カラムは以下のように設定。

カラム名 主キー 備考
id Integer autoincrementをTrueに設定
code Integer 主科目コードを格納
sub_code Integer 補助科目コードを格納
sub_name String 補助科目名を格納

作成してみた

当記事を記載している現在(2020/10/18)で大まかには作成が完了している。
画面イメージとしては以下のような感じ。

f:id:crowrabbit1212:20201018125844p:plain
主科目・補助科目情報取込画面イメージ