レコード単位の自動処理で明細行の値を条件に指定する方法
レコード単位の自動処理において、条件分岐パーツの条件に明細項目を直接指定することはできません
自動処理の実行単位を「レコード単位」に設定している場合、条件分岐パーツの左辺(判定対象となる項目)に明細項目を選択することができない仕組みとなっています。
レコード単位の処理は、1つのレコード(ヘッダ情報)に対して1回のみ実行されることを前提としています。
一方で、明細項目は1つのレコード内に複数行存在する可能性があるため、条件分岐パーツでは「どの明細行の値を判定すべきか」を特定できないため、このような仕様となっています。
そのため、明細行に登録されている特定の値をトリガーにしてレコード単位の処理を分岐させたい場合には、条件分岐パーツではなく「レコード検索」パーツを代替案として活用していただく必要がございます。
明細行の値を条件にしてレコード単位の処理を実行する代替案
条件分岐パーツで直接明細項目を指定することはできませんが、「レコード検索」パーツを条件判定のステップとしてフローの最初に組み込むことで、実質的に明細行の値を条件とした分岐が可能になります。
「レコード検索」パーツを使用して、自分自身のレコード内に特定の条件に合致する明細行が1件でも存在するかどうかを判定し、その結果で処理を分岐させる
「レコード検索」パーツは、自動処理を実行しているレコード自身(選択レコード)の明細行を検索対象に含めることができます。
このパーツで「特定の条件を満たす明細行があるか」を検索し、その結果(YES/NO)によって後続の処理を分ける構成にします。これにより、例えば「明細行の中に1つでも『欠品』というステータスがある場合のみ、在庫確認メールを送信する」といった運用がレコード単位の処理で実現できます。
【設定手順】
1. レコード検索パーツの配置
・ 自動処理の設定画面にて、フローの最初に「レコード検索」パーツを配置します。
2. 検索条件の詳細設定
・ 「検索対象データベース」に、現在自動処理を作成しているデータベース自身を指定します。
・ 「検索結果」の設定項目で「検索結果を明細単位で取得する」に必ずチェックを入れます。
・ 検索条件にて、以下の2つの条件を「かつ(AND)」で組み合わせます。
・「(データベースのキー項目)」が「【選択レコード】の(キー項目)」と等しい
※これにより、データベース全体ではなく、今操作している自分自身のレコード内の明細だけを検索対象に絞り込めます。
・「(判定したい明細項目)」が「(条件となる値)」と等しい
※ここで、実際に条件として使いたい明細行の値を指定します。
3. 後続処理の接続
「レコード検索」パーツの「YES(条件に合致する明細が見つかった場合)」の先に、実行したい処理(レコード更新やメール送信パーツなど)を配置します。
条件に合致する明細がない場合に別の処理をさせたい場合は、「NO」の先にパーツを配置してください。
※この設定を行うことで、レコード単位の自動処理であっても、明細行の状態を判別して処理をコントロールすることが可能になります。
自動処理の実行単位とパーツの使い分けに関するマニュアル
実行単位(レコード単位/明細単位)の仕様の違いや、各パーツの特性、設定手順の詳細については、下記記事をご確認ください。
自動処理の実行単位(レコード単位/明細単位)の仕様と選び方
明細行を「まとめて1つ」として扱うか、「行ごとにバラバラ」に扱うかによって、設定すべき実行単位が異なります。それぞれの違いと、目的に応じた選択基準について詳しく解説しています。
自動処理の「レコード単位」と「明細単位」の違いは何ですか?特定の明細行だけ手動で実行したい
条件分岐パーツとレコード検索パーツの機能的な違いと使い分け
条件判定を行う項目がどこにあるかによって、使用すべきパーツが異なります。明細項目を条件にしたい場合の制約や、レコード検索パーツを用いた代替設定についても記載されています。
条件分岐パーツとレコード検索パーツの違い
(記事ID:2596)
「自動処理設定」の関連記事一覧
こちらの記事もあわせてご確認ください。
- 選択した帳票タイプ(フォーマット)に応じて帳票を自動で出し分ける方法
- 明細単位の自動処理で、特定の一行だけ実行する方法
- 自動処理(レコード登録・更新パーツ)の「計算」チェックボックスの使い方と活用例
- 異なる得意先の受注を同一の「請求先」でまとめて請求データを作成する方法
- 自動処理を活用して承認機能を独自に構築する方法・設定手順
- 自動処理のメール送信でプロジェクトや取引内容に応じてCC宛先のみを動的に切り替える方法・マスタ構築手順
- CSVインポートや一括登録時に通知メールが大量送信されるのを防ぎ、完了時にまとめて通知する方法
- データベースをコピー(複製)した際に登録済みのレコードデータも引き継がれるか
- 異なるデータベース間でデータを自動で転記・登録する方法・設定手順
- 親DBの明細行の合計値と自レコード(子DB)の値を比較して自動処理を分岐させる方法・設定手順