2016-06-29 8 views
1

NetSuiteで特定のインベントリアイテムの配列またはリストを1回の呼び出しで取得する方法はありますか?私はこれに関する文書を見つけることができないようです。私はSuiteTalkトレーニングコースを受講しましたが、内部IDのないアイテムのリストを取得するための情報は含まれていません。NetSuiteからインベントリアイテムのリストを取得

this documentの73ページには、インベントリアイテムIDの配列で呼び出される関数getInventoryItemList(itemKeysArray)があります。しかし、この関数はどこにも存在せず、私はカスタム関数であると仮定していますが、コードを決して表示しません。

これを行うのがわかる唯一の2つの方法は、NetSuiteからすべてのインベントリ項目を取り出し、internalIDをローカルデータベースにインポートすることです。これは私には余計な作業のようです。私が考えたもう1つの選択肢は、ラインアイテムの配列をループし、すべての要素に対してItemSearchBasicを実行し、そのように内部IDを取得することです。ローカルデータベースに格納するよりも悪い考えです。私は、私が必要とすることをやる方がはるかに簡単な方法があれば、誰かが私を確認して見せたいと思っています。

答えて

1

ここでは、アイテムのリスト(会社固有のデータを除いたもの)を取得する必要がある場合のバージョンを示します。データを削除して、配列を構築/返すように設定しました。これはSuiteScript 2.0にあり、ちょうどFYIです。

require(['N/search','N/record'],function(search,record){ 
    function buildItemArray(){ 
    var itemArray=[]; 
    searchItems(); 
    itemArray=runSearch(itemArray); 
    deleteSearch(); 
    log.debug(itemArray); 
    } 

    function searchItems(context){ 
    var itemSearch=search.create({ 
     type:search.Type.INVENTORY_ITEM, 
     title:'Inventory_Item_Search', 
     id:'customsearch_inventory_item_search', 
     columns:['internalid','itemid'], 
     filters:['isinactive','is','F'] 
    }); 
    itemSearch.save(); 
    } 

    function runSearch(itemArray){ 
    var mySearch=search.load({id:'customsearch_inventory_item_search'}); 
    mySearch.run().each(function(result){ 
     var item={}; 
     item.itemID=result.getValue({name:'itemid'}); 
     item.internalID=result.getValue({name:'internalid'}); 
     itemArray.push(item); 
     return true; 
    }); 
    return itemArray; 
    } 

    function deleteSearch(){ 
    search.delete({id:'customsearch_inventory_item_search'}); 
    } 

    buildItemArray(); 
}); 
1

これを行うにはいくつかの方法がありますが、広告申込情報からアイテムIDを収集するという考え方は、通常使用しているアイデアです。

次に、GetListを使用して各アイテムの詳細を取得できます。

+0

他にもいくつかの例がありますか?私はおそらくちょうどローカルデータベースにIDの格納を終了するだろうが、私はあなたが言及した他の方法について不思議です。 – Yamaha32088

+0

あなたがラインアイテムについて書きましたが、私はあなたにトランザクションレコードがあると仮定しました。例えば、Sales OrderにはSalesOrderItemsを含むSalesOrderItemListがあります。これらのステップを実行して、アイテムrefsを抽出することができます。これにより、特定のアイテムのリストが表示されます。 GetListメソッドを使用して、1回の呼び出しでこれらの項目のすべての詳細を取得できます。 idsの格納はどのように役立ちますか?おそらく私はあなたのユースケースを理解していなかったでしょう。 – bknights

+0

新しいSalesOrderを作成しようとしています。インベントリアイテムをSalesOrderの広告申込情報に追加して挿入できるようにするには、内部IDが必要です。希望は意味をなさない。 – Yamaha32088

関連する問題