docs: Process4のValidateInputsが無くてもServerScript+条件タブで入力漏れが構造的に防げることを確認

CheckC(日程情報入力済)がServerScriptにより3項目全入力時のみtrueになり、
Process4の条件タブがCheckC=true限定のため、Process5実行時点で入力漏れは起きない。

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

View File

@ -1748,3 +1748,24 @@ Process定義の`DataChanges`側に予約済みの参照が無いか(列は未
参照だけ持っているケース)を事前に確認すべきだった。同種の作業(新規カウンタ列追加)を 参照だけ持っているケース)を事前に確認すべきだった。同種の作業(新規カウンタ列追加)を
行う際は、対象サイトの全Processの`DataChanges`を横断検索し、候補の列名が使用されて 行う際は、対象サイトの全Processの`DataChanges`を横断検索し、候補の列名が使用されて
いないことを確認してから採番すること。 いないことを確認してから採番すること。
### Process4のValidateInputsは無くても入力漏れは構造的に起きない確認・2026-09-12
Process5日程通知に`ValidateInputs`が一切設定されていない件(前節参照)を受け、ユーザーが
Process4検査機関確定へ検査機関・候補日・コース・ClassAの4項目を`ValidateInputs`として
追加した。ExecutionType:20「作成または更新」で自動実行のProcessでは入力検証タブが
処理されない可能性がある本ファイル578行目の既存記載ため、この対応が実際に効くか
懸念したが、調査の結果**そもそも別の仕組みで既に担保されていた**ことが判明:
1. ServerScript「検査機関確定準備完了同期スクリプト.js」`BeforeCreate`/`BeforeUpdate`)が
レコード保存の都度走り、`Class003`(検査機関)・`Date001`(候補日)・`Class004`(コース)
の3項目が全部値ありの場合のみ`CheckC`日程情報入力済をtrueにセットする
2. Process4の条件タブ`View.ColumnFilterHash`)は`{"CheckC":"true"}`——CheckCがtrueの
レコードにしか発火しない
3. Process5はStatus=260からのみ実行可能で、260になる経路はProcess4自動実行のみ
つまり「CheckCがtrueになる3項目が既に揃っている」ことをServerScriptが保証しているため、
Process4通過250→260・Process5実行いずれの時点でも3項目の入力漏れは構造的に発生しない。
Process4への`ValidateInputs`追加は無害な保険だが、無くても元から安全だった設計と確認できた
(本節の検証自体は実機テストせず、既存ドキュメント記載の仕組みの読み合わせのみで完了・
ユーザー了承済み)。