【发布时间】:2020-09-12 06:27:11
【问题描述】:
在 Suitescript 中创建新的销售订单并为项目设置子列表值时,会引发错误 INVALID_FLD_VALUE。
我传递的值是项目的内部 id,我尝试过使用多个项目的内部 id,包括带引号和不带引号,并收到相同的错误。代码如下
/**
* @NApiVersion 2.0
* @NScriptType Restlet
* @NModuleScope SameAccount
*/
define(['N/record'], function (r) {
function get(context) {
try {
// Create new record type of SALES_ORDER
var salesOrder = r.create({
type: r.Type.SALES_ORDER,
isDynamic: false,
defaultValues: null
})
// CREATE AN ITEM AND SET VALUES
salesOrder.insertLine({
sublistId: 'item',
line: 0
});
// Item Intetrnal ID
salesOrder.setSublistValue({
sublistId: 'item',
fieldId: 'item',
line: 0,
value: '15'
});
// Quantity
salesOrder.setSublistValue({
sublistId: 'item',
fieldId: 'quantity',
line: 0,
value: 4
});
salesOrder.save();
return JSON.stringify('Sales Order Created');
}
catch (err) {
log.audit({
title:'Error',
details: err
})
return JSON.stringify(err);
}
}
return {
get: get
}
})
我几乎一行一行地看到使用此代码编写的教程,这让我想知道这是否与 NetSuite 中需要打开/关闭的功能或设置有关。非常感谢任何反馈。
【问题讨论】:
-
尝试丢失
insertLine()呼叫。我的怀疑是,通过首先调用它,您将插入一个新行并填写它,将索引1处的原始行留空。 -
感谢您的反馈,不幸的是,这并没有起到作用。我仍然看到 {"type":"error.SuiteScriptError","name":"INVALID_FLD_VALUE","message":"您为以下字段输入了无效字段值 15:item"
-
15可能不是您正在使用的交易和子公司的有效 ID。 -
我通过转到库存项目并点击视图获得了 15 的值,即内部 ID 下的值。我应该使用其他 Id 字段吗?
-
这是正确的方法,但您不能将特定项目添加到事务中可能有不同的原因。我不确定它可能是什么,可能是子公司不匹配的任何东西。
标签: javascript netsuite suitescript2.0