NetSuite 主要业务流程分四部分
销售订单
货品实施情况
开票
收款
这四个业务流程不能缺少,但是可以通过脚本自动履行;
但是如果要删除单据,还是要从后向前删除才行;
自动履行的地点要选好;
其他诸如库位、批号没测试;
测试过程中,库存不足的报错了,无法履行;
function afterSubmit(context) {
var currentRecord = context.newRecord;
var id = currentRecord.getValue('id');
//启用了多地点库存
var solocation = currentRecord.getValue('location');
var fulfillmentRecord = record.transform({
fromType: record.Type.SALES_ORDER,
fromId: id,
toType: record.Type.ITEM_FULFILLMENT,
defaultValues: {
inventorylocation: solocation
},
isDynamic: false,
});
var lineCount = fulfillmentRecord.getLineCount('item');
for (var i = 0; i < lineCount; i++) {
log.debug('i:'+i);
fulfillmentRecord.setSublistValue('item', 'location', i, 1);
}
var fulfillmentId = fulfillmentRecord.save();
var so = record.load({
type: record.Type.SALES_ORDER,
id: id
});
so.setValue('memo', fulfillmentId);
so.save();
return true;
}
return {
beforeLoad: beforeLoad,
beforeSubmit: beforeSubmit,
afterSubmit: afterSubmit
};