FAQ:更新時に必ずコメントの入力を求める
## 概要
必須の制御を持たないテーブルの「[コメント](/manual/table-management-comments)」項目に代えて、説明項目を 2 つ利用して、更新時に必須の制御をする例を紹介します。
## 想定するユースケース
プリザンターは通知機能に、変更項目を列挙する機能があります。
しかしながら、管理項目が多い、添付ファイルの内容が変更されたといった場合について、概要の可視化が困難な場合も想定されます。
変更を概観として把握したい用途においては、どのような目的で変更したかコメントを求めることが効果的です。
一方、システムにある「[コメント](/manual/table-management-comments)」は必須の制御を持たないため、必ず変更内容のコメントを求めたい、といった場合に本事例のような対応が有効となります。
## 利用する項目および設定
- 利用する項目
- 1 つ目は「編集内容」として、必須の制御を行い、毎回入力を求める入力欄として機能させます。
- 2 つ目は「編集履歴」として、入力を保持する目的で利用します。
- 利用するプロセス機能
- 「編集内容」を、更新ボタンを押した際に、毎回「編集履歴」に転記します。
- あわせて、更新ボタンを押した人
- 「編集内容」をクリアします。
- クリアすることで、毎回必須の制御を働かせることができます。
オプショナルな内容とはなりますが、以下の例では分類項目および日付項目を利用して、更新者ならびに更新日時の情報を自動的に記録する設定としています。
## 項目の設定
### 「編集内容」項目
![image](/binaries/574e42a1885243c1a111553a1626d8d4)
作成および更新で必ず入力を求めるため「[入力必須](/manual/table-management-required)」にチェックします。
この例では「説明 A」を利用しています。「[内容](/manual/table-management-body)」や選択肢のない「分類」型項目を利用することも可能です。
### 「編集履歴」項目
![image](/binaries/c8bb2d5bd5944101a27b550ab0a78d62)
読取専用にチェックします。この項目はユーザの編集を想定しないためです。
履歴を残すため、複数行の項目である必要があります。他で利用していなければ「[内容](/manual/table-management-body)」を利用することも可能です。
### 「担当者」項目
オプションの設定です。
履歴に更新者を記録するために、「担当者」項目を利用します。
![image](/binaries/36cbb9a1e4224872b1fc3012202f1adf)
ユーザを自動設定するため、読取専用とします。本例ではすぐにクリアするため、非表示をチェックしています。
最後に更新したユーザを残すことも可能です。この場合、プロセスの設定で担当者を空欄にする設定を行わないようにします。
### 「編集時刻」項目
オプションの設定です。
履歴に更新時刻を記録するために、「日付 A」項目を利用します。
![image](/binaries/8fc4df9825d34d3ba8201be1f61c9b7a)
読取専用および非表示としています。
ユーザが入力することはなく、プロセスによって更新日を設定し、すぐにクリアします。
履歴に残したい時刻の粒度に応じて書式を設定します。
## プロセスの設定
1 つのルールを設定します。
![image](/binaries/e1168024bbb74dc59a3541d77234c195)
### 全般
![image](/binaries/a1c814204dae42b39bc8915494ca596d)
名称および表示名は、機能を表現する名前とします。
表示名は、ボタンを追加するときのボタンキャプションとなります。本例では特段の意味を持ちません。
画面種別は編集のままとし、現在の状況および変更後の状況を「*」とします。
状況によらず動作させ、かつ状況を変更しないためです。
説明は実現したい機能を説明として記述します。
機能要件ではありません。
実行種別を「作成または更新」とします。既存の「作成」および「更新」ボタンで発動させる際の設定です。
### データ変更
![image](/binaries/64c7fb85e87c40e19e80d2a7f6190f3a)
- ID 1, 2 は操作しているユーザおよび操作時刻を、自動的に設定するための設定となります。
- ID 3 では、編集履歴の内容に、担当者および編集時刻、編集内容を追記します。角カッコを使うことでデータ項目を転記できます。また、その項目自身を含めることで、追記が可能です。下図もご参照ください。
![image](/binaries/c34c2e61e9bf4bcdb53f4505034e7caf)
- ID 4 では、編集内容をクリアします。変更種別を「値の入力」にしたうえで、値を空白とすると、クリア可能です。これにより、入力がクリアされ、次回入力時に再度必須の制御を働かせることが可能です。
- ID 5, 6 は操作しているユーザおよび操作時刻の情報をクリアして引き継がない設定となります。更新者、更新日時の意味として保持する場合この設定を削除できます。
## 動作例
作成および更新を行ない、その次の更新を行う際に必須の制御がかかった状態は下図のとおりです。
![image](/binaries/73cafd498d344bdc90a023cbf81ff987)
本例では[自動バージョンアップr](https://pleasanter.org/manual/table-management-auto-version-up)を「常時」としておりますため、次のように「編集履歴」に対応付く「[変更履歴](/manual/table-record-history-view)」が確認できます。
![image](/binaries/1c403a155858475d817891e896ace358)
以上