2016-09-06 8 views
0

私は短時間しかNetSuiteを使用しておらず、すでに嫌いです。申し訳ありませんが、これは愚かな質問ですが、これまでのところ、Netsuiteのドキュメント、StackOverflowまたはその他のWebサイトで回答を見つけることができませんでした。実際、私が見つけた答えはエラーに終わりました。Netsuite - インベントリ転送エラー

私の会社では、EDI入力ファイルに基づいて在庫を転送するスクリプトが必要です。ファイルの読み込みは問題ありません。解析しても問題ありません。しかし、実際にデータを挿入することは問題を起こしています。 私は通常のレコードを挿入することができましたが、在庫転送レコードは私に問題をもたらしています。スタックオーバーフローから

私は次へのいくつかのコードを発見し、適応:

var xfer = nlapiCreateRecord("inventorytransfer"); 

xfer.setFieldValue("trandate", FormatDate("20160101")); 
xfer.setFieldValue("location", 9); 
xfer.setFieldValue("transferlocation", 9); 

nlapiSelectNewLineItem('invt'); 
nlapiSetLineItemValue("invt","invtid",1, 189); 
nlapiSetLineItemValue("invt","adjustqtyby", 1, "5"); 
nlapiCommitLineItem('invt'); 

var id = nlapiSubmitRecord(xfer); 

は、FormatDate関数は、ちょうどNetSuiteのが理解できるシステムの日付にテキストファイルから日付を交換します。私は次のエラーを取得、このコードを実行するとき

はしかし、:

USER_ERROR: You must enter at least one line item for this transaction.

を私はラインアイテムを挿入するnlapiSelectNewLineItemを使用する理由だと思ったが、私はないと思います。また、nlapiCreateNewLineItemは存在しないようです。

私が挿入している値は、デバッガでこれをテストしているので、すべてのテストデータです。項目918がそうであるように、位置9が存在します。 私の完全なスクリプトは、テキストファイルの文字列値に基づいてこれらのIDを見つけ出します。しかし、これは動作しないセクションなので、テストするために別に設定しました。

誰でも助けてもらえますか?

答えて

2

使用しているスクリプトの種類は指定していませんが、レコードオブジェクトにフィールドを設定するのではなく、現在のレコードの値を設定しているように見えます。以下は、提案されたコードです。

また、invtという名前のサブリストはありません。inventoryである必要があります。また、そのようなフィールドはありませんinvtid、私はおそらくあなたが項目を設定したいと思う、フィールドIDはitemでなければなりません。あなたは正しいIDに助けのためにもSuiteScript Record Browserを参照したいかもしれません

var xfer = nlapiCreateRecord("inventorytransfer"); 

xfer.setFieldValue("trandate", FormatDate("20160101")); 
xfer.setFieldValue("location", 9); 
xfer.setFieldValue("transferlocation", 9); 

xfer.selectNewLineItem('inventory'); 
xfer.setCurrentLineItemValue("inventory", "item", 189); 
xfer.setCurrentLineItemValue("inventory","adjustqtyby", "5"); 
xfer.commitLineItem('inventory'); 

var id = nlapiSubmitRecord(xfer); 

あなたはビン/ロット番号付きのアイテムを使用している場合は、ヘルプトピック「高度なビンのためのサンプルスクリプト/番号付き在庫管理」

+1

ルックスを参照してください。 'xfer.setLineItemValue'ではなくインデックスなしで' xfer.setCurrentLineItemValue'を使用する必要があります。 – erictgrubaugh

+0

@prasunに感謝します。このスクリプトは、デバッガに直接書き込まれます。しかし、完全なスクリプトは毎晩ファイルを処理する予定のスクリプトです。残念ながら、この新しいコードでは同じエラーが表示されます。 –

+0

@erictgrubaughあなたの提案と同じエラーです。でもありがとう。 –