0

新しい納品レコード (Netsuite の新機能) を作成しようとすると、次のエラーが表示され続けます。

{"type":"error.SuiteScriptError","name":"USER_ERROR","message":"Please enter value(s) for: Item","stack":["anonymous(N/recordService)","<anonymous>(/SuiteScripts/KK_Sandbox_Scripts_SD/RestLets/InboundShipment.js:132)","<anonymous>(/SuiteScripts/KK_Sandbox_Scripts_SD/RestLets/InboundShipment.js:99)","doPost(/SuiteScripts/KK_Sandbox_Scripts_SD/RestLets/InboundShipment.js:34)"],"cause":{"type":"internal error","code":"USER_ERROR","details":"Please enter value(s) for: Item","userEvent":null,"stackTrace":["anonymous(N/recordService)","<anonymous>(/SuiteScripts/KK_Sandbox_Scripts_SD/RestLets/InboundShipment.js:132)","<anonymous>(/SuiteScripts/KK_Sandbox_Scripts_SD/RestLets/InboundShipment.js:99)","doPost(/SuiteScripts/KK_Sandbox_Scripts_SD/RestLets/InboundShipment.js:34)"],"notifyOff":false},"id":"","notifyOff":false} 

これが私が記録を設定しなければならないコードです。サブリスト ID が「items」で、fieldId が「itemid」であることを確認しましたが、行を追加しようとすると、上記のエラーが発生します。

function doPost(restletBody){
log.debug('Called from POST', restletBody);

var success = [],
errors = [];

restletBody.data.forEach(function(e) 
{
    try 
    {
        log.debug('Called from POST', e.id);

        //Create a new record
        var rec =
            r.create({
                type: "inboundshipment",
                isDynamic: true,
                defaultValues: null
            }).setValue({
                fieldId: "externalid",
                value: e.id,
                ignoreFieldChange: false
            });

        var i = 1;

    e.lineitems.items.forEach(function(item)
        {
            log.debug("Inside Line Items", item.itemid + " " + item.purchaseorder);


            rec.selectNewLine({sublistId:"items"});

            var field = rec.getSublistFields({
                sublistId: 'items'
            });

            rec.setCurrentSublistValue({
                sublistId: "items",
                fieldId: "purchaseorder",
                value: item.purchaseorder,
                ignoreFieldChange: true
            });

            rec.setCurrentSublistValue({
                sublistId: "items",
                fieldId: "itemid",
                value: item.itemid,
                ignoreFieldChange: true
            });
            log.debug("Inside Line Items", "ITEM Added " + item.itemid );

            rec.commitLine({sublistId:"items"});
            log.debug("Inside Line Items", "Line Committed" );

            ++i;
        });

        rec.save();
    }
    catch(err) 
    {
        var msg = '';
        log.debug("There was an error", err);
    }
})
return "";

}

itemid を shippingitem と id に変更しようとしましたが、うまくいきません。以前、POでもエラーが出て、名前が間違っていたのが原因だったのですが、商品の件で直した(と思います)。

それに影響を与えている可能性があることの 1 つ (定かではありません) は、PO リストがアイテム リストをフィルタリングすることです。ユーザーが UI で PO を選択すると、アイテム リストがフィルタリングされ、その PO のアイテムのみが表示されます。送信しようとしているアイテムが、送信しようとしている PO に属していることを再確認しましたが、それでもエラーが発生します。何か案は?

4

1 に答える 1