本当は先に「ひな形のPDF」を作っておきたかったところなのだが、非常に込み入った帳票を全部で8Pも作らないといけないので、かなり時間を要する。

え?国税庁のHPにPDFあるやんって?

確かに、ダウンロードして印刷し、そこに手書きで書き込むならそのまま使えるようにはなっているので、一般の納税者が使う分には何ら問題ない。

が、公式でも何でもない外部のシステムにそのまま取り込めたり、PDF編集ソフトで開けるようなファイルになっているわけもない。
(案の定、mPDFで読み込むことは出来ず、Illustratorでファイルを開くことも出来ない)

まあ、書式は決まっているので、オリジナルにそって自作すればいいわけなのだが、いかんせん時間がかかると。

 

というわけで、先に出力のプログラム側の設計を考える。

青色申告決算書作成までの流れ(超おおまか)

  1. 日々の業務に基づき、仕訳の入力
  2. 決算整理仕訳を行う
  3. 決算整理仕訳を元に、青色申告決算書を作成

と言った具合か。(ざっくりしすぎ)

今回の方針として、ボトムアップで「出力側」から設計を進めて行こうと考えているので、最終的には

  • 「クラス:青色申告決算書」に必要なデータを全て放り込む
  • 「クラス:青色申告決算書」と「帳票:青色申告決算書」をmPDFでマッピングして、出力

といった処理を行うことになる。

ということで、まずは「クラス:青色申告決算書」を設計して、そこから芋づる的に設計を広げていこう・・・という魂胆。
が、帳票が込み入っているということは、「クラス:青色申告決算書」も必然的に複雑になるという寸法。
もちろん細分化は出来る、というか細分化しないと無理なのだが、どのみち「クラス:青色申告決算書」の中に細分化したクラスが集まることになるし、メンバの数が帳票の項目数とほぼ一緒になる見込みなので、結果巨大なクラス図が出来上がる・・・というオチ。
下図がその途中経過のクラス図です。
class_output.png

途中経過でこのザマなので、最終的にはもっと大きなクラス図になってしまうので、先が思いやられる。