我一直收到相同的错误“总库存详细数量必须为1”。在运行此套件时。我尝试了所有我能想象到的方法,但都没有成功。如果有人能帮上忙,我将永远感谢你!
var fulfillment_record = nlapiTransformRecord('transferorder', 534568, 'itemfulfillment', {recordmode: 'dynamic'});
fulfillment_record.selectLineItem('item', 1);
fulfillment_record.setCurrentLineItemValue('item', 'itemreceive', 'T');
fulfillment_record.setCurrentLineItemValue('item', 'quantity', 1);
var subrecord = fulfillment_record.createCurrentLineItemSubrecord('item', 'inventorydetail');
subrecord.selectNewLineItem('inventoryassignment');
subrecord.setCurrentLineItemValue('inventoryassignment', 'quantity', 1);
subrecord.setCurrentLineItemValue('inventoryassignment', 'binnumber', 134);
subrecord.commitLineItem('inventoryassignment');
subrecord.commit();
fulfillment_record.commitLineItem('item');
var id = nlapiSubmitRecord(fulfillment_record, true, false);发布于 2018-11-20 22:31:24
我被告知这是2.0中的一个bug!解决方法是删除IF并使用正确的数量重新创建它
发布于 2018-11-22 01:01:37
也可能是该二进制数是:
中未按正确顺序设置,因为您处于动态模式中
发布于 2021-08-26 19:25:07
当我们进行转换时,父记录中的数据将在子记录中可用。inventoryassignment也将在子记录中可用,因此您可以从inventoryassignment中删除所有行,然后添加所需的值。
这是一个示例SuiteScript 2.0
let invItemSubRec = workOrderBuild.getCurrentSublistSubrecord(
{
sublistId: 'component',
fieldId: 'componentinventorydetail',
}
);
//Remove lines from sublistSubRecord if they alredy exists.
const lineCount = invItemSubRec.getLineCount({
sublistId: 'inventoryassignment'
});
if (lineCount > 0) {
for (var lineIndex = 0; lineIndex < lineCount; lineIndex++) {
invItemSubRec.removeLine({
sublistId: 'inventoryassignment',
line: lineIndex,
ignoreRecalc: true
});
}
}
// set inventoryassignment line values
https://stackoverflow.com/questions/51401841
复制相似问题