小编Dee*_*gan的帖子

如何使用netsuite suitescript 2.0版本为多选字段设置值?

我想在该字段中使用现有值设置多选的值.(即)如果Filed具有值"A,B"意味着我想用现有值添加新值"c"那么,结果将是"A,B,C".

我使用"N/Record"模块SubmitFields API来设置多选字段的值,就像这样

代码:SuiteScript 2.0版本:

初始代码:

var strArrayValue = new Array();
    strArrayValue [0] = "A";
    strArrayValue [1] = "B";
    strArrayValue [2] = "C";


record.submitFields({
         type:'purchaseorder',
         id:56,
         values:{

         custbody_multiselectfield: strArrayValue 

         },
         options: {
            enableSourcing: false,
            ignoreMandatoryFields : true
          }

});
Run Code Online (Sandbox Code Playgroud)

它显示如下错误:"您输入了无效类型参数:arg 4"

更新的代码:

 var strArrayValue = new Array();
        strArrayValue [0] = "A";
        strArrayValue [1] = "B";
        strArrayValue [2] = "C";

   var PORec = record.load({               // Loading Purchase Order Recod

                type:"purchaseorder",
                id:56,
                isDynamic: true

                 )};

        PORec.setValue('custbody_multiselectfield',strArrayValue ); // Setting Value (Array …
Run Code Online (Sandbox Code Playgroud)

javascript arrays netsuite multi-select suitescript

9
推荐指数
1
解决办法
4114
查看次数

如何在 netsuite 中使用suitescript 2.0 在没有堆栈跟踪的情况下显示自定义错误消息

我想使用“suitescript 2.0”版本向用户显示没有堆栈跟踪的自定义错误消息。在工作流中,自定义错误消息在没有堆栈跟踪的情况下显示,但在套件脚本中,“错误消息”与堆栈跟踪一起显示。

堆栈跟踪错误: {"type":"error.SuiteScriptError","name":"MISSING_CONTRACT_LINE","message":"请输入至少一个合同行项目以保存合同。","stack":["createError (N/error)","beforeSubmit(SuiteScripts/Ex_UE_Contract_2.0.js:117)","createError(N/error)"],"cause":{"name":"MISSING_CONTRACT_LINE","message":"请至少输入一个合同行项目以保存合同。"},"id":""}

我想显示没有堆栈跟踪的自定义错误消息,如下所示:"name":"MISSING_CONTRACT_LINE","message":"请输入至少一个合同行项目以保存合同。"

我的代码:

     throw error.create({
         name: 'MISSING_CONTRACT_LINE',
         message: 'Please enter atleast one Contract Line item to save a contract.'
     });
Run Code Online (Sandbox Code Playgroud)

有什么可能的方法来实现这一目标吗?

提前致谢。

javascript error-handling netsuite suitescript

4
推荐指数
1
解决办法
4132
查看次数

如何在单击按钮时显示自定义PDF模板

我想在单击"销售订单"中的按钮时在新窗口中显示PDF模板.我使用用户事件脚本在销售订单流程中创建了按钮.之后我无法继续下去.单击销售订单时,可以在新窗口中显示自定义PDF模板吗?

我的代码:

USER EVENT SCRIPT:

     // creating button in user event script before load event in view mode
        unction userEventBeforeLoad(type, form, request){  


    if(type == 'view'){
         var internalId = nlapiGetRecordId();

            if (internalId != null) {
                var createPdfUrl = nlapiResolveURL('SUITELET', 'customscript_back0rdered_itm_pdf', 'customdeploy_backord_itm_pdf_dep', false);
                createPdfUrl += '&id=' + internalId;

                //---add a button and call suitelet on click that button and it will open a new window
                var addButton = form.addButton('custpage_printpdf', 'Print PDF', "window.open('" + createPdfUrl + "');");
            }
            else {
                nlapiLogExecution('DEBUG', 'Error', 'Internaal …
Run Code Online (Sandbox Code Playgroud)

pdf netsuite suitescript

3
推荐指数
1
解决办法
2734
查看次数

如何在 Netsuite 'N/search Module' 中使用 for 循环获取第一组一千条记录和下一组一千条记录

我想处理从 Search Results 获得的搜索结果中的第一组一千条记录,然后处理下一组一千条记录。

我正在使用 suitescript 2.0 版本“N/search”模块的方法 (getRange(0,1000)) 中提供的方法获取第一组一千条记录。

代码:

var mySearch = search.load({
id: 'customsearch_employee'
});
var searchResult = mySearch.run().getRange(0, 100);
for (var i = 0; i < searchResult.length; i++) {
var entity = searchResult[i].getValue({
name: 'entity'
});
});
Run Code Online (Sandbox Code Playgroud)

我想知道如何使用 for 循环处理下一组一千条记录。提前致谢

javascript arrays for-loop netsuite suitescript

2
推荐指数
1
解决办法
2835
查看次数

有没有办法禁用(或)删除自定义记录查看模式下的 Netsuite 标准编辑按钮

我想禁用(或)隐藏自定义记录类型的查看模式上的标准“编辑”按钮。我没有使用标准按钮,而是使用自定义按钮来访问特定用户的记录编辑页面。所以我想禁用标准编辑按钮。

我的代码:

脚本版本:套件脚本 2.0

客户端脚本

function pageInit(scriptContext) {

    var approved = 3;
    var currentRecord = scriptContext.currentRecord;
    var status = currentRecord.getValue("custrecord_lst_ch_status");
    //Hiding The Standard Edit Button When the Status Field is in Approved State
    if (status == approved) {
        document.getElementById("edit").disabled = true;
        document.getElementsByName("edit")[0].disabled = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

错误: 我无法获得“编辑”按钮的 ID。它正在获取 NULL 值。

可以使用客户端脚本(或)用户事件脚本禁用(或)隐藏记录的查看模式。

提前致谢。

javascript edit netsuite suitescript

2
推荐指数
1
解决办法
6289
查看次数

如何在SuiteScript 2.0版本中创建搜索

我想使用"SuitScript 2.0版本"创建对记录的搜索.我知道我可以使用"SuiteScript 1.0"使用nlapiSearchRecord()api使用过滤器和条件来实现它,但我想用SuitScript 2.0版本来做这件事.对于"SuiteScript 2.0"中的 "N /搜索模块",必须使用"N /搜索模块",但不能获得如何在2.0中完成相当于suitcript 1.0版本的搜索.

任何人都可以在SuiteScript 2.0版本中为搜索提供示例.

提前致谢.

javascript search json netsuite suitescript

1
推荐指数
1
解决办法
4618
查看次数

如何使用SuiteScript 2.0版本在Netsuite中重新安排计划脚本

我想重新安排计划脚本,当计划脚本使用到达州长限制之前.Netsuite中的计划脚本有10,000个单位.在SuiteScript 1.0版本中,重新安排是通过"nlapiScheduleScript()api"实现的,但在SuiteScript 2.0版本中,如何重新安排脚本.

帮助我实现这一目标,提前谢谢.

javascript scheduled-tasks netsuite suitescript

1
推荐指数
1
解决办法
4118
查看次数

Netsuite用户事件脚本为JavaScript全局变量获取空值

我有一个名为itemIdJavaScript全局变量(此itemId是一个具有键值对的对象),此对象将存储标准项记录详细信息.

我能够在"用户事件脚本加载前事件"中存储此值,并尝试在"提交前事件"中访问全局变量"itemId",但此itemId(Object)变为空值.

当试图使用Key获取此对象的值时,它显示错误:":无法读取属性"ItemQuantityTolerance"from undefined"

码:

SuiteScript版本:2.0

 var itemId = new Object();

 function beforeLoad(scriptContext) {

      try {

          var IR_Record = scriptContext.newRecord;
          var form = scriptContext.form;
          form.clientScriptFileId = 50137;

          if (IR_Record != null && IR_Record != '' && IR_Record != undefined) {


              var ItemsId = new Array();
              var IR_LineItemCount = null;
              var lineNumber = null;

              IR_LineItemCount = IR_Record.getLineCount('item');
              log.debug('Value', 'IR_LineItemCount : ' + IR_LineItemCount);

              if (IR_LineItemCount != null && IR_LineItemCount != '' && IR_LineItemCount …
Run Code Online (Sandbox Code Playgroud)

javascript json global-variables netsuite suitescript

1
推荐指数
1
解决办法
982
查看次数