詳細情報:
画面フローでレコードが更新されたときに必須項目が上書きされないようにする
画面フローで項目値を収集して既存のレコードを更新する場合、空白の画面入力によって必須項目が上書きされ、REQUIRED_FIELD_MISSING エラーが発生するのを防ぎます。
レコードを更新する画面フローでは、[レコードを更新] 要素に渡すと、レコードの現在の値が上書きされます。画面コンポーネントを [レコードを更新] の必須項目に対応付けてユーザーが空白のままにすると、フローは空白を書き込みます。その後、レコードに必須値がないため、フローが REQUIRED_FIELD_MISSING で失敗する可能性があります。
空白の画面入力で必須項目が上書きされないように、次のいずれかの方法を使用します。
-
更新するレコードの必須項目に対応付ける画面コンポーネントを特定します。
必須項目が不明な場合は、UI でレコードを作成し、赤いアスタリスクが付いた項目をメモします。または、オブジェクトマネージャーまたはスキーマビルダーでオブジェクトを確認します。「必須フィールドの識別」を参照してください。
-
空白値で必須項目が上書きされないようにする方法を選択します。
- オプション 1: これらの画面コンポーネントを必須としてマークします。
ユーザーは必須項目の値を入力するまで先に進めないため、空白の項目値を [レコードを更新] に渡すことはありません。
- オプション 2: 最初にレコードを取得し、ユーザーが項目を空白のままにしたときに既存の値を渡す。
レコード (または必要な項目) を読み込むには、画面要素の前に [レコードを取得] 要素を使用します。画面で、レコードからコンポーネントを事前入力できます。[レコードを更新] 要素で、必須項目ごとに、値を空白でないときは画面コンポーネントに設定し、空白の場合は既存のレコード値に設定します。数式リソースまたは [決定と割り当て] を使用して、そのロジックを実装します。
- オプション 3: ユーザーが値を入力した場合にのみ、[レコードを更新] に項目を含めます。
画面コンポーネントが空白かどうかを確認する決定要素を追加します。空白でない場合は、[レコードを更新] 要素を使用して画面コンポーネントから必須項目を設定します。空白の場合、フローで空白値が書き込まれないように、[レコードを更新] からその項目を除外します。
- オプション 1: これらの画面コンポーネントを必須としてマークします。
-
レコードを更新要素に障害パスを追加します。
入力規則や設定変更などにより、必須項目が欠落している場合があります。ユーザーが必須値を取りこぼした場合、ユーザーが入力を修正できるように障害パスで障害メッセージを表示できます。「エラー管理の障害パスの追加」を参照してください。
ユーザーが項目をスキップしたときに画面フローで必須項目が空白値で上書きされなくなるため、更新時の REQUIRED_FIELD_MISSING エラーを回避できます。

