1

Restlets を使用すると、NetSuite で任意のレコードを作成できます。しかし、どのように行項目でレコードを作成するのでしょうか? getLineItemCount を使用してこれらの項目をループし、setLineItemValue を使用して項目を設定できることはわかっています。

私がよくわからないのは、そもそもそのようなデータをどのように渡すかです。そのため、Restlet を使用して品目を含む PO を作成するために必要なデータを外部システムが送信することを期待しています。

理想的には、fire fox Poster を使用してこれをテストしたいと思いますが、データをモデル化する方法がわかりません。次のようなデータを渡すことで、ポスターを使用して通常のレコードを作成するには、次のようなものがうまく機能します。

{「子会社」: 2、「事業体」: 1084、「通貨」: 2、「承認状況」: 2}

しかし、どのように広告申込情報のデータを送信するのでしょうか?

私の JSON オブジェクトは次のようになります。

{"subsidiary" : 2, 
"entity" : 1275,
"currency" : 2,
"approvalstatus" : 2,
"item": [{"item" : -3, "taxrate": 6},
            {"item" : -3, "taxrate": 6}]
}

以下のコードを使用して、ネストされた jason オブジェクトからデータを取得しようとしましたが、うまくいきません... itemid が空白です

for (var x = 1; x <= jsonobject.item.length; x++)
{
    var itemid = record.getLineItemValue('item', jsonobject.item['item'], x);
    nlapiLogExecution('DEBUG', 'itemid', itemid)
    record.setLineItemValue('item', itemid, x);
}
4

2 に答える 2

3

JSON 内で配列を使用して、次のような項目をカプセル化してみてください。

{"subsidiary" : 2, 
"entity" : 1084,
"currency" : 2,
"approvalstatus" : 2,
"items": [{name:"item1", price: "100"},
        {name:"item2", price:"200"}]
}

次に、RESTlet コードでこれを消化し、言及した関連する NS 関数を呼び出す必要があります。

于 2016-03-18T15:55:28.557 に答える
1

TonyH が述べたように、コードにはバグがあり、最初に配列インデックスを取得する必要があります。さらに、NetSuite サブリストではなく JS 配列を使用するため、インデックスは 1 ではなく 0 から開始する必要があります。

for (var x = 0; x < jsonobject.item.length; x++)
{    
  var itemid = jsonobject.item[x]['item'];
}

税率を取得する場合も同様です。

for (var x = 0; x < jsonobject.item.length; x++)
{    
  var taxrate = jsonobject.item[x]['taxrate'];
}
于 2016-03-21T11:40:17.663 に答える