Coo*_*ova 0 javascript netsuite suitescript
我试图根据搜索结果停止创建记录.我似乎无法通过我的SuiteScript搜索返回任何数据,即使我知道数据存在的事实.
我使用下面使用的确切过滤器创建了一个自定义保存的搜索,并返回我正在寻找的结果.
有什么可以说明为什么我可能没有检索到任何结果?
注意:sfdcAccountId变量确实有一个值,所以我搜索有效值.
// 2.0
define(["N/error", "N/log", "N/search"], function (err, log, search) {
/**
* User Event 2.0 example showing usage of the Submit events
*
* @NApiVersion 2.x
* @NModuleScope SameAccount
* @NScriptType UserEventScript
* @appliedtorecord customer
*/
var exports = {};
function beforeSubmit(scriptContext) {
log.debug({
"title": "Before Submit",
"details": "action=" + scriptContext.type
});
if (doesCustomerExist(scriptContext)) {
throw err.create({
"name": "DUPLICATE_SFDC_ACCOUNT_ID",
"message": "Customer Already Contains SFDC Account Id",
"notifyOff": true
});
}
}
function doesCustomerExist(scriptContext) {
var sfdcAccountId = scriptContext.newRecord.getValue('custentitysfdc_account_id');
log.debug({
"title": "Before Submit",
"details": "sfdcAccountId=" + sfdcAccountId
});
if(sfdcAccountId == null || sfdcAccountId == '') return false;
var searchResult = search.create({
type: search.Type.CUSTOMER,
filters: ['custentitysfdc_account_id', search.Operator.IS, sfdcAccountId]
}).run();
return (searchResult != null && searchResult.length > 0);
}
exports.beforeSubmit = beforeSubmit;
return exports;
});
Run Code Online (Sandbox Code Playgroud)
当您调用.run()搜索时,它会返回一个search.ResultSet对象.如果你调用getRange()那个对象,你将得到你正在寻找的结果数组.这是您的搜索的更新版本,您search.Result[]可以根据需要检查长度或迭代.
var searchResult = search.create({
type: search.Type.CUSTOMER,
filters: ['custentitysfdc_account_id', search.Operator.IS, sfdcAccountId]
}).run().getRange({start: 0, end: 1000});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
555 次 |
| 最近记录: |