fix: Num047列がProcess4「検査機関確定」用に既存予約されていたのに気づかず衝突、Num048へ分離

Process19用カウンタ追加時に「空き番号」と誤認して既存予約と衝突していた。
Num047を本来の用途(検査機関確定)へ戻し、診断書再提出依頼はNum048を
新規追加して分離。両サイトで実機確認済み。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Kenichiro NOGI 2026-09-12 17:53:58 +09:00
parent 44a08c2753
commit 99d4bb1b34

View File

@ -1714,3 +1714,37 @@ HC-DOC-TIMEOUTの重複バグ修正・実機確認、完了。inactiveへ戻し
**必須化ValidateRequired自体は今回実施せず**、ユーザーが後日Pleasanter画面から適宜
設定する方針となった。
### 【重大】Num047列番号の衝突を発見・修正2026-09-12
ユーザーからProcess5日程通知の必須項目に関する質問を受け、Process5自体には
`ValidateInputs`が一切設定されていないことが判明。ユーザーが対応として**Process4
検査機関確定へ検査機関・健康診断候補日・コース・ClassAの4項目を`ValidateInputs`
Requiredとして追加**Process5はStatus=260からのみ実行可能で、260になる経路は
Process4のみのため、Process4側で防波堤にする設計
その確認作業中、**Process4のDataChangesが元々`Num047`を参照していた**ことが判明
本ファイル434行目「047 | 検査機関確定 | 260 | 02026-09-07追加、Num047は空き列で
確認済み」、578行目のProcess定義一覧に明記済みだった。しかし2026-09-07時点では
列自体(`Columns`定義が結局作成されないまま放置されており、直前の「Process19カウンタ
判断」節で**「空いている」と誤認し、同じ`Num047`を診断書再提出依頼用として新規作成して
しまっていた**——検査機関確定Process4と診断書再提出依頼Process19が同一カウンタ列
を共有する状態になっていた。
**修正**508971・513156両サイト:
1. `Num047`のLabelTextを本来の用途「検査機関確定」へ訂正Process4のDataChangesはそのまま
`Num047`を参照させる)
2. 診断書再提出依頼用に`Num048`を新規追加(`Columns`・`EditorColumnHash`とも508971/513156
両サイトへ反映)
3. Process19の`DataChanges`の参照先を`Num047`→`Num048`へ変更
4. 508971の`Summaries`513156への集計連携の参照先も`Num047`→`Num048`へ変更
**実機確認**: 513409で`ProcessId:19`を再実行し、`Num047`(検査機関確定、既存の正しい値`1`
を維持)と`Num048`(診断書再提出依頼、新規に`1`が正しく立つ)が両サイトとも独立して
正常動作することを確認済み。
**教訓**: 既存のカウンタ列Num031〜046の「次の空き番号」を機械的に決め打ちせず、
Process定義の`DataChanges`側に予約済みの参照が無いか列は未作成でもDataChangesが
参照だけ持っているケース)を事前に確認すべきだった。同種の作業(新規カウンタ列追加)を
行う際は、対象サイトの全Processの`DataChanges`を横断検索し、候補の列名が使用されて
いないことを確認してから採番すること。