我是新手速写作者,无法弄清楚我在做什么错。我正在尝试加载一个非常简单的suitescript 2.0脚本来计算自定义表中的值。我可以很好地上传脚本文件,但是在创建脚本记录时,出现以下错误:无法评估脚本:{"type":"error.SuiteScriptModuleLoaderError","name":"UNEXPECTED_ERROR","message":"missing : after property id (SS_SCRIPT_FOR_METADATA#22)","stack":[]}
这是代码
/**
*@NApiVersion 2.x
*@NScriptType ClientScript
*/
define(['N/currentRecord'],
function fieldChanged(context) {
var fieldName=context.currentRecord.fieldID;
//return if not one of these fields
if (fieldName!=='custrecord_am_ehir_emp_prem_percent' &&
fieldName!=='custrecord_am_ehir_dep_prem_percent' &&
fieldName!=='custrecord_am_ehir_total_month_prem')
return false;
else
//get premium and percent values
var totalPremium=currentRecord.getValue(
{fieldID:'custrecord_am_ehir_total_month_prem'
});
var employeeOnlyPremium=currentRecord.getValue(
{fieldID:'custrecord_am_ehir_emp_only_prem'
});
var employeePercent=currentRecord.getValue(
{fieldID:'custrecord_am_ehir_emp_prem_percent'
});
var dependentPercent=currentRecord.getValue(
{fieldID:'custrecord_am_ehir_dep_prem_percent'
});
var employeePremium=totalPremium*employeePercent;
var dependentPremium=(to1talPremium-employeeOnlyPremium)*dependentPercent;
var companyPremium=totalPremium-employeePremium-dependentPremium;
//set field values
currentRecord.setValue(
{fieldID:'custrecord_am_ehir_emp_month_prem',employeePremium
});
currentRecord.setValue(
{fieldID:'custrecord_am_ehir_dep_month_prem',dependentPremium
});
currentRecord.setValue(
{fieldID:'custrecord_am_ehir_co_month_prem',companyPremium
});
return {fieldChanged:fieldChanged};
}
);
答案 0 :(得分:0)
罗伯特
属性名称是“ fieldId”而不是“ fieldID”。我认为这是导致错误的原因。
关于, 路易斯·莫赖斯(Luiz Morais)
答案 1 :(得分:0)
我在您的脚本中看到一些代码错误
currentRecord.setValue函数应后跟2个参数{fieldId:``,value:''}
currentRecord.setValue(
{
fieldId: 'custrecord_am_ehir_emp_month_prem', employeePremium
});
如果使用SuiteScript 2.0,此代码将不起作用 试试这个
currentRecord.setValue({
fieldId: 'custrecord_am_ehir_emp_month_prem',
value: employeePremium
});
如果您还有其他问题,请告诉我。
答案 2 :(得分:0)
我认为代码应该↓
/**
*@NApiVersion 2.x
*@NScriptType ClientScript
*/
define(['N/currentRecord'],
function(currentRecord){
function fieldChanged(context) {}
return {fieldChanged:fieldChanged}
})
答案 3 :(得分:-1)
您的代码有几个问题
例如
var totalPremium = currentRecord.getValue({
fieldId: 'custrecord_am_ehir_total_month_prem'
});
因此,要设置一个值,您需要执行以下操作。
currentRecord.setValue({
fieldId:'custrecord_am_ehir_emp_month_prem',
value: employeePremium
});
有关更多信息,请参阅NetSuite帮助中的Record Module