定义 Suitescript 2.1 的语法:添加 'N/search' 定义后无法评估脚本
Define syntax for Suitescript 2.1: Fail to evaluate script after adding 'N/search' to define
以下脚本已部署并正确运行:
/**
* @NApiVersion 2.1
* @NScriptType ClientScript
* @NModuleScope SameAccount
*/
define([],
function() {
const lineFieldLookup = [
'custcol_sas_adapter', 'custcol_sas_body', 'custcol_sas_box', 'custcol_sas_endcap',
'custcol_sas_lidcap', 'custcol_sas_mortrclr', 'custcol_sas_snout', 'custcol_sas_strmclr',
'custcol_sas_topclamp', 'custcol_sas_tplate'];
function validateLine(scriptContext) {
const fieldValuesTable = lineFieldLookup.map((fieldId) => {
return ({
fieldId: fieldId,
value: scriptContext.currentRecord.getCurrentSublistValue({sublistId:'item', fieldId: fieldId })
})
});
console.log(fieldValuesTable)
}
return {
validateLine: validateLine,
};
});
但是,通过浏览器 'edit' 向脚本添加 'N/search'
依赖项并单击保存会引发错误。
更新代码:
define(['N/search'],
function(search) {
// nothing changed here
}
错误:
Fail to evaluate script: {"type":"error.SuiteScriptModuleLoaderError","name":"UNEXPECTED_ERROR","message":"","stack":[]}
是什么阻止我添加搜索依赖项?
我认为是时候学习 N/query
;)
作为客户端脚本,您可以使用 require
.
加载 N/search
/**
* @NApiVersion 2.1
* @NScriptType ClientScript
* @NModuleScope SameAccount
*/
define([],
function () {
function loadSearch(callback) { require(['N/search'], search => { callback(null, search); }); }
function pageInit(context) {
try {
loadSearch((error, search) => {
if (!error) {
let c_data = search.lookupFields({
type: search.Type.CUSTOMER,
id: "4390463",
columns: ["altname", "email", "address"]
});
console.log('c_data', c_data);
}
});
} catch (e) {
console.error('loadSearch', e);
}
}
return {
pageInit: pageInit
};
});
以下脚本已部署并正确运行:
/**
* @NApiVersion 2.1
* @NScriptType ClientScript
* @NModuleScope SameAccount
*/
define([],
function() {
const lineFieldLookup = [
'custcol_sas_adapter', 'custcol_sas_body', 'custcol_sas_box', 'custcol_sas_endcap',
'custcol_sas_lidcap', 'custcol_sas_mortrclr', 'custcol_sas_snout', 'custcol_sas_strmclr',
'custcol_sas_topclamp', 'custcol_sas_tplate'];
function validateLine(scriptContext) {
const fieldValuesTable = lineFieldLookup.map((fieldId) => {
return ({
fieldId: fieldId,
value: scriptContext.currentRecord.getCurrentSublistValue({sublistId:'item', fieldId: fieldId })
})
});
console.log(fieldValuesTable)
}
return {
validateLine: validateLine,
};
});
但是,通过浏览器 'edit' 向脚本添加 'N/search'
依赖项并单击保存会引发错误。
更新代码:
define(['N/search'],
function(search) {
// nothing changed here
}
错误:
Fail to evaluate script: {"type":"error.SuiteScriptModuleLoaderError","name":"UNEXPECTED_ERROR","message":"","stack":[]}
是什么阻止我添加搜索依赖项?
我认为是时候学习 N/query
;)
作为客户端脚本,您可以使用 require
.
N/search
/**
* @NApiVersion 2.1
* @NScriptType ClientScript
* @NModuleScope SameAccount
*/
define([],
function () {
function loadSearch(callback) { require(['N/search'], search => { callback(null, search); }); }
function pageInit(context) {
try {
loadSearch((error, search) => {
if (!error) {
let c_data = search.lookupFields({
type: search.Type.CUSTOMER,
id: "4390463",
columns: ["altname", "email", "address"]
});
console.log('c_data', c_data);
}
});
} catch (e) {
console.error('loadSearch', e);
}
}
return {
pageInit: pageInit
};
});