📅  最后修改于: 2023-12-03 15:33:06.165000             🧑  作者: Mango
在NetSuite中,我们可以通过编写Javascript脚本,来自定义我们的业务逻辑。在处理Sales Order订单时,我们可能需要在提交订单后添加一些行项目数据。这时候,我们可以使用afterSubmit事件,来自动触发数据添加。
以下是一个实现将行项目添加到销售订单的Javascript代码片段:
/**
*@NApiVersion 2.0
*@NScriptType UserEventScript
*@CreatedBy Duy Ly
*/
define(['N/record', 'N/log'], function(record, log) {
function afterSubmit(context) {
try {
if (context.type === context.UserEventType.CREATE) {
var newRecord = context.newRecord;
var recordId = newRecord.id;
var lineCount = newRecord.getLineCount({
sublistId: 'item'
});
//在销售订单中添加行项目
var order = record.load({
type: record.Type.SALES_ORDER,
id: recordId,
isDynamic: true
});
var item = {
item: 123, //替换为您要添加的商品ID
quantity: 10 //替换为您需要添加的数量
};
var line = order.selectNewLine({
sublistId: 'item'
});
order.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'item',
value: item.item
});
order.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'quantity',
value: item.quantity
});
order.commitLine({
sublistId: 'item'
});
order.save({
enableSourcing: false,
ignoreMandatoryFields: true
});
log.debug('Sales Order', 'New line item created.');
}
} catch (e) {
log.debug('Error', e.message);
}
}
return {
afterSubmit: afterSubmit
};
});
在上面的代码片段中,我们这样实现:
在NetSuite中,使用Javascript编写自定义脚本可以帮助我们加强业务逻辑的处理能力。本文提供了一个添加行项目到销售订单的Javascript代码片段,在afterSubmit事件中处理订单后,自动添加行项目数据。希望对你能有所启发。