決算日(締め日)が28日固定で月末(29〜31日)を設定できない #51

Closed
opened 2026-10-10 09:28:34 +00:00 by joe · 1 comment
Owner

問題

会社設定の決算日が日付選択UIで clamp(1, 28) されており、29日・30日・31日・月末を設定できない。「月末締め」の会社では締め日を正しく設定できない。

また FiscalLockGuard._day も clamp(1, 28) で、仮に DB 上 29〜31 が入っていても28日として計算される。

コードベースには closingDay == 99 を「月末」として扱う既存規約がある(請求テンプレート・得意先マスタ)。

対応

  • 決算日の入力を 1〜31日 + 月末(99) まで設定可能にする
  • FiscalLockGuard の境界日計算を月ごとの末日を考慮する計算に修正(2月31日→2月末日など)
## 問題 会社設定の決算日が日付選択UIで `clamp(1, 28)` されており、29日・30日・31日・月末を設定できない。「月末締め」の会社では締め日を正しく設定できない。 また `FiscalLockGuard._day` も `clamp(1, 28)` で、仮に DB 上 29〜31 が入っていても28日として計算される。 コードベースには `closingDay == 99` を「月末」として扱う既存規約がある(請求テンプレート・得意先マスタ)。 ## 対応 - 決算日の入力を 1〜31日 + 月末(99) まで設定可能にする - `FiscalLockGuard` の境界日計算を月ごとの末日を考慮する計算に修正(2月31日→2月末日など)
Author
Owner

v1.4.574 で修正しました。

  • 決算日の入力を日付ピッカーからドロップダウンに変更し、1〜31日と「月末」を選択可能にした
  • closingDay = 99(月末、請求テンプレート等と同じ規約)の場合、境界日は各月の実際の末日(2月は28日/29日、4月は30日)
  • 31日など存在しない日付の月も、その月の末日に読み替える
  • 月末締めでは締め対象が月末日そのもの(月末日の取引はその月の帳簿に含まれる)
  • FiscalLockGuard の月次締め・年次決算・例外期間の計算すべてに適用

テスト: 閏年・平年の2月末、30日までしかない月の31日指定を追加(fiscal_lock_guard_test 20件パス)

v1.4.574 で修正しました。 - 決算日の入力を日付ピッカーからドロップダウンに変更し、1〜31日と「月末」を選択可能にした - `closingDay = 99`(月末、請求テンプレート等と同じ規約)の場合、境界日は各月の実際の末日(2月は28日/29日、4月は30日) - 31日など存在しない日付の月も、その月の末日に読み替える - 月末締めでは締め対象が月末日そのもの(月末日の取引はその月の帳簿に含まれる) - `FiscalLockGuard` の月次締め・年次決算・例外期間の計算すべてに適用 テスト: 閏年・平年の2月末、30日までしかない月の31日指定を追加(fiscal_lock_guard_test 20件パス)
joe closed this issue 2026-10-10 10:06:02 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
joe/h1-c2#51
No description provided.