0

I want to do a bin transfer. But I can't a go example that works. When I run the below code I'm receiving this error "Sublist inventory field inventorydetail is not a subrecord field" .

I need to know what is the correct subrecord name to create a bin transfer

Thanks

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 );
lavb
  • 618
  • 7
  • 20

2 Answers2

1

This is the correct code to do a bin transfer in 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);
lavb
  • 618
  • 7
  • 20
1

The "frombins" and "tobins" are incorrect. Also, I had to configure the inventorydetail to make it work. One more note, be mindful that the script won't work in some (all?) client scripts:

        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);