受注分類タグを利用して、一度処理した受注伝票が繰り返し処理されないように設定します。
実現したいこと
一度処理した受注伝票を、次のフレーズ実行の際に処理の対象から外れるように設定します。
たとえば、「受注に商品 A が含まれている場合、受注伝票の明細行にノベルティを追加する」というフレーズがあるとします。このフレーズを単純に定期実行すると、受注伝票の明細行には実行のたびにノベルティが 1 つずつ追加されていくことになります。
そのため、「一度ノベルティを追加した受注伝票は、次回以降の実行の際に処理の対象から外す」という仕組みをフレーズに組み込み、繰り返しの処理を回避する必要があります。
■ 繰り返し処理を回避しなかった場合
定期実行のたびにノベルティが追加される
■ 繰り返し処理を回避した場合
「フロー|重複実行ガード」ノートとの違いについて
「フロー|重複実行ガード」ノート(以下、重複実行ガード)を使えば、上記「実現したいこと」と同様の処理を実現することができます。しかしながら、重複実行ガードには以下のような使用上の注意点があります。
- 繰り返し処理(重複実行)を防げるのは同一フレーズ内のみ
まったく同じ構成の 2 つのフレーズがあった場合、1 つのフレーズ内での重複実行は防ぐことができますが、もう片方のフレーズでは処理されてしまいます。 - 「クリア」を誤って押してしまうと実行の履歴がリセットされる
重複実行ガードは、一度処理した受注伝票の情報を保存し、それらの情報をもとに 2 回目以降の実行を防止しています。しかし、誤ってノート内の「クリア」を押してしまうと、保存されていた情報が削除され、実行の履歴がリセットされてしまいます。 - 業務フローや運用方法を柔軟に変更できない
重複実行ガードを含むフレーズでは、フレーズ構成や処理の条件などを変更しても、過去に一度でも実実行された受注伝票は実行がガードされます。そのため、業務フローや運用方法の変更に対する柔軟性が低いフレーズとなる可能性があります。
以上のことから、ネクストエンジンの受注伝票における繰り返し処理の回避を実装する場合、TēPs は重複実行ガードではなく、受注分類タグを利用するこのページの方法を推奨します。
受注伝票の繰り返し処理を回避する仕組み
まず、「ネクストエンジン|受注を検索」ノートの受注伝票の検索条件において、特定の受注分類タグを含まないように設定します。下の画像では、「TēPs受注伝票処理済み」という受注分類タグを持たない受注伝票をだけを検索するように条件を設定しています。
次に、受注伝票ごとのループ内にて、受注伝票に対するすべての処理が完了した後に、「ネクストエンジン|受注伝票を更新」ノートを設置し、先ほど検索条件にて「含めない」と設定した受注分類タグを付与するように設定します。下の画像の設定では、受注分類タグ「TēPs受注伝票処理済み」を付与しています。
すると、一度処理された受注伝票には「TēPs受注伝票処理済み」のタグが付けられ、このタグを含む受注伝票は検索で除外されるため、次回以降の実行時に検索結果に含まれなくなります。このようにして、受注伝票の繰り返し処理を回避できます。
では、テンプレートを例に具体的な設定方法を確認していきましょう。
繰り返し処理の回避を設定する方法
- 事前準備
テンプレート「ネクストエンジン|対象商品を含む受注伝票の明細行にノベルティ・チラシを追加する」を利用して、フレーズを新たに作成します。
- 受注伝票の検索条件を設定
「ネクストエンジン|受注伝票を検索」ノートを開くと、「TēPsノベルティ追加フレーズ処理済み」という受注分類タグを含まない受注伝票のみを検索するように設定されていることがわかります。このように、受注伝票が処理済みかどうかの目印となる受注分類タグを決め、検索で除外されるように設定します。
- 受注伝票に受注分類タグを付与
受注伝票ごとのループ内の最後に「ネクストエンジン|受注伝票を更新」ノートがあります。このノートを開くと、受注伝票に受注分類タグ「TēPsノベルティ追加フレーズ処理済み」が付与されるように設定されていることが確認できます。このように、処理済みの受注伝票には先ほどの受注分類タグを付与することで、次回以降の受注伝票の検索結果から除外されます。
設定方法は以上です。実際にご自身でフレーズを組み、繰り返し処理を回避できているか確認してみてください。