netsuite
トランザクション検索の理解
サーチ…
前書き
トランザクション検索の機能の深い理解は、すべてのNetSuite開発者にとって重要な知識ですが、これらの検索のデフォルト動作とその動作の制御は、最初はかなり混乱する可能性があります。
備考
参考文献:
- NetSuiteのヘルプページ:「トランザクション検索条件でのメインラインの使用」
内部IDのみのフィルタリング
単一のトランザクションの内部IDのフィルタを定義するトランザクション検索の例を見てみましょう。
内部IDが875のトランザクションの結果のみを表示するフィルタを指定しました。ここにその取引です:
1つの広告申込情報を含む受注であることがわかります。
内部IDはすべてのトランザクションで一意であるため、この検索では1つの検索結果しか期待できません。検索結果は次のとおりです。
我々が期待する単一の結果の代わりに、我々は4つの結果を得る。さらに、すべての結果がまったく同じ内部IDを持っています。そんなことがあるものか?
ここで何が起きているのかを理解するために、NetSuiteレコードに格納されているデータは2つのカテゴリに分かれていることを思い出す必要があります。
- 本文データ:レコードのスタンドアロンフィールドに格納されたデータ(日付、営業担当者、ドキュメント番号、クーポンコードなど)
- サブリストデータ:各レコード内のリストに格納されたデータ(通常、UIのサブタブに表示されます)(例:受注のアイテム)
トランザクションには、複数のサブリストのデータが含まれます。
- 広告申込情報
- 出荷情報
- 税務情報
- 売上原価(売上原価)の詳細
これらの検索結果では、実際にNetSuiteはトランザクション本体について1つの結果を示し、その後、同じトランザクション内のさまざまなサブリストのデータについて他の結果を示しています。
検索結果の列には単にアスタリスク(*)が付いていることに注意してください。また、結果の1つにアスタリスクが設定されていて、残りは空です。この列は、トランザクションの本体を表す検索結果を示します。この検索結果は、トランザクションのメインラインとも呼ばれます。
トランザクション検索でメインラインデータのみを表示し、ラインレベルの詳細のみを表示する時間が必要な場合があります。残りの例は、結果に表示される内容を制御する方法を示しています。
メインラインによるフィルタリング
トランザクションごとに1つの結果だけが必要な場合は、各トランザクションのBodyまたはMain Lineのみが必要なことを意味します。これを達成するために、「Main Line」という名前のフィルターがあります。
メインラインフィルタを検索条件でYesに設定すると、基本的には「結果に表示される取引のボディレベルのデータのみを表示する」と表示されます。
この方法で以前の検索条件を変更すると、元々期待した結果が得られました。
メインラインフィルタを[ いいえ]に戻すと、「結果にサブリストのデータのみ表示する」と表示されます。
メインラインの振る舞いをまとめるには:
- メインラインを「はい」に設定すると、取引の本体について1つの結果しか受け取られませんでした。
- Main LineをNoに設定すると、トランザクションのサブリストデータに対して3つの結果しか得られませんでした 。
- メインラインフィルタがまったくないと、 4つの結果が得られました。基本的には、トランザクションのボディとサブリストのすべてのデータの組み合わせです。
メインラインフィルタは、ジャーナルエントリ検索ではサポートされていません。
特定のサブリストをフィルタリングする
すべてのトランザクションに複数のデータのサブリストが含まれていることを思い出してください。 メインラインを使用してサブリストデータのみを表示できるようになったので、検索結果を特定のサブリストデータにさらに絞り込むことができます。
取引結果に含まれるほとんどのサブリストには、検索結果に含まれるかどうかをトグルする対応する検索フィルタがあります。
- 配送ラインフィルタを使用して配送サブリストからデータを制御する
- Tax Lineフィルタを使用してTaxサブリストのデータを制御する
- COGSラインフィルタを使用してCOGSサブリストからデータを制御する
これらの各フィルタは、 メインラインまたはその他のチェックボックスフィルタのように動作します。このデータを含める場合は[ はい] 、結果から除外する場合は[ いいえ]を選択します。
Item Sublistからのデータを制御するためのItem Lineのフィルタがないことに注意してください。基本的に、「Itemsサブリストのデータのみを表示する」と言うには、上記のフィルタのすべてを基準としてNoと指定する必要があります。
この基準では、一致する各取引で商品ラインごとに1つの検索結果が返されます。
私の意見では、この欠けているフィルタは、修正する必要がある検索機能の大きな違いです。 Item LineをYesフィルタにするほうがはるかに簡単で一貫性があります。それまでは、トランザクション結果にItemデータのみを必要とするように指定する必要があります。