Netsuite nlapiYieldScript和nlapiSetRecoveryPoint期间,nlobjSearchResultSet和nlobjSearch是否可序列化?
我只是想知道是否有人知道这些对象是否可以序列化以获得收益或恢复 NetSuite文档说明以下内容是可序列化的(因此在生产过程中可恢复):Netsuite nlapiYieldScript和nlapiSetRecoveryPoint期间,nlobjSearchResultSet和nlobjSearch是否可序列化?,netsuite,Netsuite,我只是想知道是否有人知道这些对象是否可以序列化以获得收益或恢复 NetSuite文档说明以下内容是可序列化的(因此在生产过程中可恢复): 我只是觉得奇怪,这两个结果都没有列在列表中。nlobjSearch过去肯定没有,我认为结果集也没有 通常,我会将搜索包装到函数中,并返回一个值数组,以避免出现可序列化的异常 e、 g simpleBatch来自 它通过跟踪函数的最大治理并在需要时让步来处理治理管理 nlobjSearch过去肯定不是,我认为结果集也不是 通常,我会将搜索包装到函数中,并返回一个
我只是觉得奇怪,这两个结果都没有列在列表中。nlobjSearch过去肯定没有,我认为结果集也没有 通常,我会将搜索包装到函数中,并返回一个值数组,以避免出现可序列化的异常 e、 g simpleBatch来自
它通过跟踪函数的最大治理并在需要时让步来处理治理管理 nlobjSearch过去肯定不是,我认为结果集也不是 通常,我会将搜索包装到函数中,并返回一个值数组,以避免出现可序列化的异常 e、 g simpleBatch来自 它通过跟踪函数的最大治理并在需要时让步来处理治理管理
All JavaScript native types
nlobjConfiguration
nlobjContext
nlobjError
nlobjFile (files up to 5MB in size)
nlobjRecord
nlobjSubrecord
nlobjSearchColumn
nlobjSearchFilter
nlobjSearchResult
nlobjSearchResultCell
all 3rd party XML Library objects
function batchStatements(){
var statementCusts = (function(){
var allowResend = 'T' == nlapiGetContext().getSetting('SCRIPT', 'custscript_kotn_statement_resend');
var filters = [
sf('balance', null, 'greaterthanorequalto', 35), // over the threshhold
sf('emailtransactions', null, 'is','T'),
sf('custentity_kotn_suppress_statements', null, 'is', 'F')
];
if(!allowResend){
var resendCutoffDays = parseInt(nlapiGetContext().getSetting('SCRIPT', 'custscript_kotn_resend_limit'),10) || 14;// 14 days allows bi-montly batches if desired.
var resendCutoff = new Date(new Date().getTime() - resendCutoffDays * 24 * 3600 * 1000);
nlapiLogExecution("DEBUG", "limit statements since "+ resendCutoff.toISOString());
filters.push(sf('custentity_kotn_last_statement', null, 'notafter', nlapiDateToString(resendCutoff)));
}
var srch = nlapiCreateSearch('customer',
filters,
[
sc('entityid'),
sc('custentity_kotn_billing_email'),
sc('email'),
sc('subsidiary')
]);
var custs = [];
var accum = function(res){
custs.push({
id:res.getId(),
billingEmail: res.getValue('custentity_kotn_billing_email'),
email:res.getValue('email'),
name:res.getValue('entityid'),
subsidiary:res.getValue('subsidiary')
});
return true;
}
srch.runSearch().forEachResult(accum);
return custs;
})();
var testEnt = {};
simpleBatch(statementCusts, function(cust){
nlapiLogExecution("AUDIT", "Sending Statement for "+ cust.name);
var entityComms = entityPreferences.getCustEntity(cust.id);
var pdfFile = generateStatement(cust.id);
var emailFile = kotnMergeTemplate(entityComms.statementEmailTemplate, 'customer', cust.id);
nlapiSendEmail(entityComms.emailFromEmp, cust.billingEmail || cust.email || entityComms.actionEmp, emailFile.getName(), emailFile.getValue(), null, null, {entity:cust.id}, pdfFile, true);
});
}