0

ビンの転送をしたいです。しかし、うまくいく例はありません。以下のコードを実行すると、「Sublist inventory field inventorydetail is not a subrecord field」というエラーが表示されます。

ビン転送を作成するための正しいサブレコード名を知る必要があります

ありがとう

var binTransfer = nlapiCreateRecord('bintransfer');
binTransfer.setFieldValue('subsidiary',4);
binTransfer.setFieldValue('trandate','9/11/2015');
binTransfer.setFieldValue('location',18);

var invDetail = binTransfer.createCurrentLineItemSubrecord('inventory', 'inventorydetail'); 
invDetail.selectNewLineItem('inventoryassignment');
invDetail.setCurrentLineItemValue('inventoryassignment', 'binnumber', 'ZB17A01' );
invDetail.setCurrentLineItemValue('inventoryassignment', 'tobinnumber', 'OZ_RECEIVING_18' );
invDetail.setCurrentLineItemValue('inventoryassignment', 'quantity', 1);
invDetail.commitLineItem('inventoryassignment');
invDetail.commit();

binTransfer.commitLineItem('inventory');

 nlapiSubmitRecord( binTransfer );
4

2 に答える 2

1

「frombins」と「tobins」が正しくありません。また、それを機能させるには、inventorydetail を構成する必要がありました。もう 1 つ注意してください。このスクリプトは一部の (すべての?) クライアント スクリプトでは機能しないことに注意してください。

        var obj = nlapiCreateRecord('bintransfer', {recordmode:'dynamic'});

        obj.setFieldValue('trandate', todaydate);
        obj.setFieldValue('memo', 'PP#' + pplanid);
        obj.setFieldValue('location', '55');


        for(i=0; i < (inputcount + 1); i++){
            var param_qtyinput = pnvl(request.getParameter('qtyinput' + i),true);
            var param_binselect = request.getParameter('binselect' + i);
            var param_itemid = request.getParameter('itemid' + i);
            var param_frombinid = request.getParameter('frombinid' + i);

            if(param_qtyinput > 0 && param_binselect != null){

                obj.selectNewLineItem('inventory');
                obj.setCurrentLineItemValue('inventory', 'item', param_itemid);
                obj.setCurrentLineItemValue('inventory', 'quantity', param_qtyinput);

                var subrecord = obj.createCurrentLineItemSubrecord('inventory', 'inventorydetail');

                    subrecord.selectNewLineItem('inventoryassignment');

                    subrecord.setCurrentLineItemValue('inventoryassignment', 'quantity', param_qtyinput);
                    subrecord.setCurrentLineItemValue('inventoryassignment', 'binnumber', param_frombinid);
                    subrecord.setCurrentLineItemValue('inventoryassignment', 'tobinnumber', param_binselect);

                    subrecord.commitLineItem('inventoryassignment');
                    subrecord.commit();

                obj.commitLineItem('inventory');

            }
        }

        var id = nlapiSubmitRecord(obj);
于 2017-01-04T22:40:18.337 に答える
1

これは、NetSuite でビン転送を行うための正しいコードです

var binTransfer = nlapiCreateRecord('bintransfer');
binTransfer.setFieldValue('subsidiary',4);
binTransfer.setFieldValue('trandate','9/11/2015');
binTransfer.setFieldValue('location',18);

binTransfer.selectNewLineItem('inventory');
binTransfer.setCurrentLineItemValue('inventory', 'item',108939);
binTransfer.setCurrentLineItemValue('inventory', 'frombins', 'ZB17A01' );
binTransfer.setCurrentLineItemValue('inventory', 'tobins', 'OZ_RECEIVING_18' );
binTransfer.setCurrentLineItemValue('inventory', 'quantity', 1);
binTransfer.commitLineItem('inventory');

nlapiSubmitRecord( binTransfer);
于 2015-09-11T23:29:03.837 に答える