遇到一种愚蠢的问题.
我想在map/reduce脚本的阶段之间传递变量.是否存在"官方"或最佳方式(而不是使用返回的结果发送).
这是我的最后一种方法:
/**
* @NApiVersion 2.0
* @NScriptType MapReduceScript
*/
define(["N/search", "N/record", "N/email", "N/runtime", "N/task", "/SuiteScripts/Libraries/tools_lib"],
function (search, record, email, runtime, task, tools) {
var ss = runtime.getCurrentSession();
var conf = {};
/**
* Retrieve the CSV contents and return as an object
* @return {Array|*}
*/
function getInputData() {
log.debug("setting", "foo");
ss.set({name: "foo", value: "bar"});
//Session
var foo = ss.get({name: "foo"});
log.debug("foo 1", foo);
//var pass
conf["foo"] = "bar";
return [1, 2, 3];
}
/**
* Search and …Run Code Online (Sandbox Code Playgroud) 我在Netsuite的计划脚本部署屏幕上看到,“重复”下拉列表至少每15分钟开始一次。间隔可以以某种方式缩短吗?
以下是客户使用的子记录 currentRecord.getSublists();
我变得像 ["currency","creditcards","grouppricing","itempricing","systemnotes","access","activeworkflows","recmachcustrecord2","recmachcustrecord_2663_parent_cust_ref","subscriptions"]
用于recmachcustrecord2子记录.我想存储到另一个变量中
var sublistFieldValue = currentRecord.getSubrecord({
fieldId: 'recmachcustrecord2'
});
Run Code Online (Sandbox Code Playgroud)
但我变得喜欢
"类型": "error.SuiteScriptError", "名称": "FIELD_1_IS_NOT_A_SUBRECORD_FIELD", "消息": "字段custrecord_acceptable_min_shelf_life不是子记录字段.", "堆":[ "匿名(N/serverRecordService)","onAfterSubmit( /SuiteScripts/cus.js:38)"],"cause":{"type":"internal错误"'代码’:'FIELD_1_IS_NOT_A_SUBRECORD_FIELD’,'细节’:'现场custrecord_acceptable_min_shelf_life不是一个子记录字段’,". userEvent ":" aftersubmit", "堆栈跟踪":[ "匿名(N/serverRecordService)", "onAfterSubmit(/SuiteScripts/cus.js:38)"], "notifyOff":假}, "ID": "", "notifyOff":假的, "userFacing":假}
提前致谢!
我正在创建文件夹以通过Suitescript 2.0推送月度发票。我想验证当前月的文件夹是否已经创建/存在,以便可以跳过文件夹创建代码(如果存在)。截至目前,我收到文件夹存在错误
var field = form.addField(CONST_ICFILTERLIST_FIELD_ID, 'select',
'Insight Community Filter List', 'Filters');
field.setLayoutType('midrow', 'startrow');
field.setDisplaySize( 400, 15);
Run Code Online (Sandbox Code Playgroud)
过滤器是我尝试将此列表添加到的字段组。但该列表始终显示在页面底部。我怎样才能正确地表达它?
我在 suitelet 中创建了一个 excel 文件。我想在 Excel 文件中传递动态值,那么我该怎么做呢?例如:我想通过:
var transaction_id = searchresult.getValue("internalid",'transaction');
Run Code Online (Sandbox Code Playgroud)
在 Excel 文件中。
我尝试了下面的方法,但它抛出损坏的文件错误。*注意:将动态数据传递到文件时,会生成包含静态数据的文件。
var xmlStr = '<?xml version="1.0"?><?mso-application progid="Excel.Sheet"?>';
xmlStr += '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" ';
xmlStr += 'xmlns:o="urn:schemas-microsoft-com:office:office" ';
xmlStr += 'xmlns:x="urn:schemas-microsoft-com:office:excel" ';
xmlStr += 'xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" ';
xmlStr += 'xmlns:html="http://www.w3.org/TR/REC-html40">';
xmlStr += '<Worksheet ss:Name='sheet_name'>';
//Below mention is the place(transaction_id) where I want to pass the dynamic value
xmlStr += '<Table>' +
'<Row>' +
'<Cell><Data ss:Type="String">transaction_id</Data></Cell>' +
'</Row>';
xmlStr += '</Table></Worksheet></Workbook>';
var xlsFile = nlapiCreateFile('sheet_name.xls', 'EXCEL', nlapiEncrypt(xmlStr, 'base64'));
xlsFile.setFolder(6157);
var …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 SuiteScript 2.0 编写 Restlet,为我的公司创建新的销售订单。我找到了如何创建一个 record.Type.Sales_Order 并暂时输入最小值,但我不知道如何为销售订单创建一个项目并将其包含在 SO 中,以便我可以创建销售订单。
这是我到目前为止所得到的(在 GET 中):
var salesOrder = record.create({
type: record.Type.SALES_ORDER,
isDynamic: true,
defaultValues: {
entity: param.customer_id
}
});
salesOrder.setValue('trandate', new Date()),
salesOrder.setText('orderstatus','Pending Fulfillment');
salesOrder.setValue('memo','Sales Order Generated from ' + param.customer_name);
salesOrder.save();
Run Code Online (Sandbox Code Playgroud)
我是否要创建一个项目类型的新记录,然后在保存之前将其添加到销售订单中?我浏览了 netsuite.com 的帮助部分,但找不到任何有关为销售订单创建项目的信息。
感谢您提供任何答案或可查找的地方:)
我知道SuiteScript是基于JavaScript构建的NetSuite平台,可以实现业务流程的完全自定义和自动化。
我想知道SuiteScript是否有需求?如果我获得以下认证,未来会怎样
我想以执行计划脚本的形式创建一个按钮,但我尝试的任何方法都不起作用
我尝试过 addButton 方法来调用一个为预定脚本创建任务的函数,但它仅在表单加载时执行
/**
*@NApiVersion 2.x
*@NScriptType UserEventScript
*/
define(["N/task", "N/ui/serverWidget"], function(task, serverWidget) {
function beforeLoad(context) {
context.form.addButton({
id: "custpage_setTask",
label: "Execute scheduled",
functionName: executeScheduled()
});
}
return {
beforeLoad: beforeLoad
};
function executeScheduled() {
var scriptTask = task.create({
taskType: task.TaskType.SCHEDULED_SCRIPT,
scriptId: 'customscript_sdr_ss_product_shortage',
deploymentId: 'customdeployprodshortsearch'
});
var scriptTaskId = scriptTask.submit();
log.debug('scriptTaskId', scriptTaskId);
}
});
Run Code Online (Sandbox Code Playgroud)
执行计划的脚本,但仅在表单加载中,然后按钮不执行任何操作,请帮助并感谢您的阅读