アイテムの検索
概要と主要な概念
[アイテムの検索]アクティビティは、倉庫オブジェクトに格納されているアイテムについて、モデルのストレージシステムを照会します。
クエリは1つずつ、上から下の順で実行されます。これらのクエリはSQL構文を使用します。各クエリには、$構文を使用して5つまでの動的パラメータを渡すことができます。これら5つのパラメータは、このアクティビティに含まれるすべてのクエリについて同じです。トークン、3Dオブジェクト、その他の値を参照できます。例として、次のようなクエリを使用できます。
WHERE item.slot.bayID == $1.bay
$1パラメータには次のものを指定します。
token
このクエリは、アイテムの現在のベイと、トークンのベイラベルとを比較します。クエリにより一致するアイテムが見つかった場合、アクティビティはクエリの評価を停止し、On Successトリガーコードが起動されます。これを使用して、クエリが成功したかどうかの判定、ラベルの設定、その他のロジックを実行できます。
その後で、[アイテムの検索]アクティビティで見つかったアイテムをラベルに割り当て、後のアクティビティで使用できます。参照されるアイテムは3Dフローアイテムです。Storage.Itemへの参照を取得するには、次のコードを使用します。
Storage.Item storageItem = Storage.Item(token.item);
アイテムをラベルに割り当てる必要はありません。アイテムを見つけて準備完了としてマークし、ストレージオブジェクトを離れます。これは、[アウトバウンドとしてマーク]プロパティで行うことができます。
デフォルトでは、トークンはアイテムが見つかるまで[アイテムの検索]アクティビティで待機します。クエリは、ストレージシステムに新しいアイテムが進入するごとに再評価されます。[最大待機時間]を指定し、指定の時間後にアイテムが見つからない場合はトークンをリリースできます。
コネクター
[アイテムの検索]アクティビティでは、アクティビティから複数のコネクターを出力できます。ただし、このアクティビティから自動的にリリースされたトークンは、最初のコネクターからリリースされます。手動でリリースされたトークンのみが別のコネクターから出ることができます。詳細については、「アクティビティを追加および接続する」を参照してください。
プロパティ
次の画像は、[アイテムの検索]アクティビティのプロパティを示しています。
これらの各プロパティについては、次のセクションで説明します。
名前
アクティビティの名前を変更するために使用します。このプロパティの詳細については、「名前」を参照してください。
フォント
[フォント]ボタン で、アクティビティの背景色プロパティとフォントプロパティを編集するウィンドウが開きます。このプロパティの詳細については、「フォント」を参照してください。
統計
[統計]ボタン でアクティビティの統計ウィンドウが開きます。このプロパティの詳細については、「統計」を参照してください。
クエリ
モデルのストレージシステムでアイテムを見つけるため、任意の数のクエリを定義します。SQLクエリの形式をとります。 ボタンを使用してこのクエリを作ると便利です。
On Success
On Successトリガーは、関連付けられている[クエリ]でアイテムが見つかった場合に評価されます。
パラメータ
パラメータパネルは、クエリに渡される動的な値の定義に使用されます。クエリで$1、$2、$3、$4、$5を使用して、パラメータの値を参照します。パラメータは必須ではありません。
割り当て先
ストレージシステムに見つかったアイテムへの参照を、指定されたラベル/ノードに割り当てます。詳細については、「共通プロパティ」の「割り当て先」セクションを参照してください。
FIFO
オンになっている場合、先入れ先出しのルールにより、トークンが[アイテムの検索]アクティビティに到着したのと同じ順序で出ていくことが保証されます。
アウトバウンドとしてマーク
オンになっている場合、見つかったアイテムの割り当てられたスロットがクリアされ、状態がアウトバウンドになり、アイテムがストレージオブジェクトから退出しようとしていることを通知します。アウトバウンドとしてマークされているアイテムは以後のアイテムクエリで無視され、2つの関連付けられていない処理が同じアイテムにロックしないことが保証されます。
最大待機タイマーの使用
指定時間の経過後にトークンが見つかっていない場合、最大待機タイマーが評価されます。詳細については、「最大待機タイマー」を参照してください。