Hi everyone! I'm trying to disallow saving an item...
# suitescript
c
Hi everyone! I'm trying to disallow saving an item receipt (via client script
saveRecord
entry point) if the bin has not been set on any received item. Unfortunately, I don't seem to be able to get a non-null bin number (either
binnumber
or
tobinnumber
) from
inventorydetail
subrecord, and I'm not sure why. Would welcome any spare sets of eyes for what I'm doing wrong.
Copy code
function receivedItemHasBin(invDetail) {
        var lineCount = invDetail.getLineCount({ sublistId : 'inventoryassignment' }),
            missingBin = false;
        // lineCount is 1, as expected
        for (var i = 0; ! missingBin && i < lineCount; ++i) {
            var binNumber = invDetail.getSublistValue({
                sublistId : 'inventoryassignment',
                fieldId : 'binnumber',
                line : i
            });
            alert('Bin number: ' + binNumber);
            missingBin = ! binNumber;

            binNumber = invDetail.getSublistValue({
                sublistId : 'inventoryassignment',
                fieldId : 'tobinnumber',
                line : i
            });
            alert('To bin number: ' + binNumber);
        }
        return ! missingBin;
    }
Thanks!
b
Copy code
function receivedItemHasBin(invDetail) {
  var lineCount = invDetail.getLineCount({ sublistId: "inventoryassignment" }),
    missingBin = false;
  // lineCount is 1, as expected
  for (var i = 0; !missingBin && i < lineCount; ++i) {
    invDetail.selectLine({ sublistId: "inventoryassignment", line: i });
    var binNumber = invDetail.getCurrentSublistValue({
      sublistId: "inventoryassignment",
      fieldId: "binnumber"
    });
    alert("Bin number: " + binNumber);
    missingBin = !binNumber;

    binNumber = invDetail.getCurrentSublistValue({
      sublistId: "inventoryassignment",
      fieldId: "tobinnumber"
    });
    alert("To bin number: " + binNumber);
  }
  return !missingBin;
}
c
Thank you so much! You rock!