複数の明細行から特定の条件(数量が0など)に合う行だけを自動で削除する方法・設定手順
特定の条件に合致する明細行のみを削除するには、自動処理の「実行単位」を「明細単位」に設定する方法が最も適しています。
自動処理機能では、1つのレコードの中に複数の明細行がある場合、それらすべての行を1行ずつチェックし、条件(例:数量が0、特定のフラグが立っているなど)に当てはまる行だけをピンポイントで削除することが可能です。
この設定を行うことで、不要なデータが残るのを防ぎ、在庫管理や売上集計の正確性を保つことができます。
最適な構築手法の選び方・判断基準
1レコード内に条件に合う明細行が複数存在する可能性がある場合
➔ 1. 「明細単位」の自動処理 が適しています。1回の実行で、条件に合致するすべての明細行を1行ずつ判定して処理できるため、漏れなく削除が可能です。
1レコードにつき、削除したい明細行が必ず1行だけと決まっている場合
➔ 2. 「レコード単位」の自動処理 でも対応可能です。ただし、条件に合う行が複数あっても1行しか削除されないため、基本的には「明細単位」での構築を推奨します。
各手段の詳細と設定手順
1. 「明細単位」の自動処理で条件に合う行をすべて削除する
<メリット> 1つのレコードの中に条件に合う明細行が何行あっても、1回の実行ですべて削除できます。設定がシンプルで、メンテナンス性にも優れています。
<デメリット> 自動処理の「実行単位」は作成後に変更できないため、現在「レコード単位」で運用している場合は、新しく「明細単位」の自動処理を作成し直す必要があります。
設定手順
【設定箇所】 データベース設定>機能設定>自動処理設定
1. 自動処理の新規作成
「新規追加」ボタンをクリックし、任意の自動処理名を入力します。
この際、「実行単位」で必ず「明細単位」を選択して確定してください。
2. 条件分岐パーツの配置
「自動処理パーツ設定」にて「条件分岐」パーツを追加します。
詳細設定の「条件」にて、削除したい行を特定する条件を設定します。
(例)【選択明細】[対象データベース名]:数量 が (直接指定)「0」 と等しい
3. レコード削除パーツの配置
条件分岐の「YES」の先に「レコード削除」パーツを追加します。
詳細設定の「対象レコード」で【選択明細】を指定してください。
これにより、条件に合致したその明細行だけが削除対象となります。
4. メニューへの割り当て
「メニュー設定」の「処理設定」にて、作成した自動処理を「〜」ボタンやプルダウンに割り当てます。
2. 「レコード単位」の自動処理で特定の明細行を1つだけ削除する
<メリット> 既存の「レコード単位」の自動処理(一連の複雑な更新フローなど)の中に、明細削除のステップを組み込むことができます。
<デメリット> システムの仕組み上、1回の実行で削除できるのは「検索で見つかった先頭の1行のみ」です。条件に合う行が複数ある場合、すべてを消し去るには行数分だけ処理を繰り返す必要があり、非効率です。
設定手順
【設定箇所】 データベース設定>機能設定>自動処理設定
1. レコード検索パーツの配置
「レコード検索」パーツを追加します。詳細設定にて「検索結果を明細単位で取得する」にチェックを入れ、「1件まで絞込み」にもチェックを入れます。
条件には、削除したい明細を特定する条件(数量が0など)を設定します。
2. レコード削除パーツの配置
検索パーツの「YES」の先に「レコード削除」パーツを追加します。
詳細設定の「対象レコード」で【検索レコード(明細行)】を指定してください。
関連マニュアル
詳細な仕様の違いや作成手順については、下記記事をご確認ください。
自動処理の実行単位(レコード単位/明細単位)の違いについて
各実行単位の挙動の差や、どのようなシーンで使い分けるべきかを詳しく解説しています。
自動処理設定:レコード単位/明細単位
レコード削除パーツの基本的な使い方
自動処理でレコードや明細を削除する際の注意点や、全体詳細設定での許可手順について記載されています。
自動処理設定:「レコード削除」パーツ
(記事ID:2598)
「自動処理設定」の関連記事一覧
こちらの記事もあわせてご確認ください。
- 納品管理で入力した「実際の配達数量」を請求金額に反映・連動させる方法・設定手順
- 作成済みの複数のPDFファイルを1つにファイルに結合して出力したい
- 項目設定で登録制限がかけられない複雑な条件を自動処理で代替し、レコード登録自体をさせないようにしたい
- 複数に分かれている住所項目を一つの項目に結合(連結)する方法・設定手順
- レコード単位の自動処理で明細行の値を条件に指定する方法
- 特定のレコードを別のDBにコピーする方法・設定手順
- 毎月固定で発生する受注案件レコードを自動で作成(登録)する方法・設定手順
- 明細項目の「最小値」を抽出して見出し項目に設定する方法・設定手順
- 「送付状」を自動作成する方法・設定手順