遇到一个让我发疯的问题,有人知道出了什么问题吗?尝试对 NetSuite 系统中的当前 S/O 进行映射缩减,调用已保存的搜索。
错误 无法评估脚本:{"type":"error.SuiteScriptModuleLoaderError","name":"UNEXPECTED_ERROR","message":"missing ; before statements (SS_SCRIPT_FOR_METADATA#73)","stack":[]}
/**
*@NApiVersion 2.x
*@NScriptType MapReduceScript
@NModuleScope SameAccount
*/
define(['N/record']),
function (record){
function getInputData(inputContext) {
try{
var mySearch = record.load({
id: 'customsearch_my_so_search'
});
mySearch.run().each (function(result) {
var entity= result.getValue({
name: 'entity'
});
var subsidiary = result.getValue({
name: 'subsidiary'
});
return true;
})
}
catch(e){
log.debug('Error in GET INPUT DATA',e);
};
}
function map (mapContext) {
try{
var searchResult = JSON.parse(mapContext.value);
var salesOrderId = searchResult.id;
var objRecord = recordId.load({
fromType: recordId.Type.SALES_ORDER,
fromId: salesOrderId,
isDynamic: true,
isClosed: true
});
var recordId = objRecord.save({
enableSourcing: true,
ignoreMandatoryFields: true
});
context.write({
key : salesOrderId
});
}
catch(e){
log.error('Exception in MAP is', e);
}
}
function summarize(summary) {
try{
var type = summary.toString();
log.audit(type + 'Document Number' + summary.usage);
log.audit(type + 'Internal ID' + summary.usage);
log.audit(type + 'Status' + summary.usage);
log.audit(type + 'Line Unique Key' + summary.usage);
log.audit()
}catch(e){
log.error("Exception in SUMMARIZE",e);
}
}
return {
getInputData:getInputData,
map:map,
summarize:summarize,
}
});
您需要对代码进行一些更改。 使用 N/search 模块在脚本中加载保存搜索或创建搜索。
/**
*@NApiVersion 2.x
*@NScriptType MapReduceScript
@NModuleScope SameAccount
*/
define(['N/record','N/search']),
function (record,search){
function getInputData(inputContext) {
try{
var mySearch = search.load({
id: 'save search id'
});
mySearch.run().each (function(result) {
var entity= result.getValue({
name: 'entity'
});
var subsidiary = result.getValue({
name: 'subsidiary'
});
return true;
})
}
catch(e){
log.debug('Error in GET INPUT DATA',e);
};
}
return {
getInputData:getInputData,
map:map,
summarize:summarize,
}
});
希望这对您有帮助。