标签: suitescript

NetSuite目前在哪个版本的javascript上运行SuiteScripts?

在什么版本的javascript上netsuite 目前运行SuiteScripts?

这是我的理解:SuiteScript是一个在javascript引擎上运行的NetSuite脚本API.Javascript有多个版本(EG ES6和ES7).这个引擎使用哪个版本?或者,也许我应该问"SuiteScript运行的是什么javascript引擎?".然后我可以查看该引擎运行的哪个版本的javascript?

让我举一个实际的例子来说明我的成就.在javascript版本的ECMAScript 7中,您可以声明一个异步函数,但是您不能在ECMAScript 6中声明.我可以在SuiteScript中声明一个"异步函数"吗?(任意例子)

netsuite suitescript

11
推荐指数
2
解决办法
1749
查看次数

如何使用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
查看次数

从消息记录中查询附件

通过UI,我创建了几个附加到支持故障单记录的消息记录,其中两个记录具有文件附件.我已经能够检索票证,以及它在Bellcript中的相关消息 - 正确报告hasAttachment为'T' - 但我似乎无法访问附件本身.文档指出附件是一个名为'mediaitem'的子列表(或'mediaitemlist',具体取决于您所查看的位置),但没有一个子列表API在这些名称上取得任何成功.

    var record = nlapiLoadRecord('message', 1092823, {recordmode: 'dynamic'});
    var itemCount = record.getLineItemCount('mediaitem');
    // returns -1
Run Code Online (Sandbox Code Playgroud)

文档和其他在线信息非常稀疏,所以任何帮助将不胜感激.

netsuite suitescript

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

在NetSuite中以编程方式创建PAYMENT_VENDOR记录?

所以,这就是我正在做的事情(现在硬编码大多数值,只是想学习NS):

    var vendorBillPayment = record.create({
            type: record.Type.VENDOR_PAYMENT,
            isDynamic: false,
            defaultValues: {
                entity: 45
            }
        })

        vendorBillPayment.setValue({
            fieldId: 'entityname',
            value: "Superior ISP"
        })

        vendorBillPayment.setValue({
            fieldId: 'account',
            value: 129
        })

        vendorBillPayment.setValue({
            fieldId: 'currency',
            value: 1
        })

        vendorBillPayment.setValue({
            fieldId: 'customform',
            value: 45
        })

        vendorBillPayment.setValue({
            fieldId: 'exchangerate',
            value: "1.00"
        })

        var recordId = vendorBillPayment.save({
             enableSourcing: false,
             ignoreMandatoryFields: true
        })
Run Code Online (Sandbox Code Playgroud)

现在,问题从下面的代码段开始,VendorPayment记录有一个子列表'apply',这是付款需要应用的账单清单.

        vendorBillPayment.setSublistValue({
            sublistId: 'apply',
            fieldId: 'internalid',
            line: 1,
            value: "303"
        });
Run Code Online (Sandbox Code Playgroud)

返回的错误是:

    error message:{"type":"error.SuiteScriptError","name":"UNEXPECTED_ERROR","message":null,"stack":["anonymous(N/recordService)","<anonymous>(/SuiteScripts/..)"],"cause":{"type":"internal error","code":"UNEXPECTED_ERROR","details":null,"userEvent":null,"stackTrace":["anonymous(N/recordService)","<anonymous>(/SuiteScripts/..)"],"notifyOff":false},"id":"","notifyOff":false}
Run Code Online (Sandbox Code Playgroud)

也就是说,消息不是很有用.我一直在浏览他们的文档,但没有获胜.

编辑:结果是apply子列表是类型列表.这意味着,不能以编程方式添加/删除该子列表中的行.只是编辑现有的线条.

除了创建VENDOR_PAYMENT记录之外,还有其他方式以编程方式支付供应商账单吗?

netsuite suitescript

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

什么是相当于nlapiRequestURL()的SuiteScript 2.0?

有没有人知道SuiteScript 2.0的等价物?

nlapiRequestURL(url, postdata, headers, httpMethod)
Run Code Online (Sandbox Code Playgroud)

netsuite suitescript

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

在SuiteScript 2.0中加载自定义记录

我正在尝试加载如下的自定义记录:

var mergeRecord = record.load({
    type: record.Type.'custrecord_merge_vendor', 
    id: '12',
    isDynamic: true
});
Run Code Online (Sandbox Code Playgroud)

这看似错误..但标准记录的等价如下:

var objRecord = record.load({
    type: record.Type.SALES_ORDER, 
    id: 157,
    isDynamic: true,
});
Run Code Online (Sandbox Code Playgroud)

这该怎么做 ?

netsuite suitescript

6
推荐指数
2
解决办法
2891
查看次数

restlet,suitelet,suite talk 和有什么不一样

1)在Restlet、suitelet和suitetalk中比较在哪些场景下我们最喜欢使用restlet,在哪些场景下我们最喜欢使用suitelet,在哪些场景下我们最喜欢使用suitetalk。任何人都可以帮忙

2)工作流和套件脚本有什么区别。什么是工作流的治理限制。我们更喜欢工作流而不是套件脚本的场景是什么。

3)我们使用客户端脚本进行客户端验证,我们使用用户事件脚本进行服务器端验证的场景是什么,用户事件脚本的主要目的是什么。

4)netsuite中有多少类型的suitelet以及用例是什么。我们可以使用后端suitelet实现netsuite自定义页面吗?

5)我们可以使用调度脚本为 1000 个搜索请求(每个线程 100 个搜索请求)实现多线程。如果是,那么我们如何实现它?

javascript netsuite suitescript suitescript2.0

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

Suitescript 2.0 addButton

我有一个带有子列表按钮的小套房,我试图让该按钮在自定义模块上执行功能。我无法正常工作。我收到错误消息“无法调用未定义的方法“接收””。

添加按钮的代码段

define(['N/error', 'N/record', 'N/search', 'N/ui/serverWidget','./lib1'],


function(error, record, search, ui, lib1) {
//... some code here
searchSublist.addButton({
			id: 'custpage_recievepayment', 
			label: 'Receive Payment',
			functionName: "lib1.receive()"});
}
Run Code Online (Sandbox Code Playgroud)

定制模块的片段

define(['N/redirect'],
		function(redirect){
	function receive(){

    		var deal = '497774';
    		var url = redirect.toSuitelet({
    			scriptId: 'customscript_deal_entry_2_0',
    			deploymentId: 'customdeploy1',
    			returnExternalUrl: false,
    			params: {
    				prevdeal: url
    			}
    		})
	}
	});
Run Code Online (Sandbox Code Playgroud)

netsuite suitescript

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

获取多个“公式”列的保存的搜索值

早上大师,

我在Netsuite中使用多个“公式”列进行了保存的搜索。

例如,formulapercent' named columns, although the每个唯一的标签有多个。

但是,当nlobjSearchResult.getValue('formulapercent')自然使用时,我只会得到第一个公式百分比列值。

如何指定要在getValue 哪个公式列中返回值?

我真的不想使用列号,以防以后需要在Netsuite中为保存的搜索插入新列。

希望有类似的东西 nlobjSearchResult.getValue('formulapercent','<label>')

我尝试了多参数选项,但是它不起作用。

简单修复?

干杯

史蒂夫

netsuite suitescript

5
推荐指数
2
解决办法
2516
查看次数

MODULE_DOES_NOT_EXIST SuiteScript

我在尝试编辑NetSuite中的CUSTOMER记录时遇到了以下问题.我创建的脚本非常简单.

如果用这么简单的代码,我怎么可能做错呢?

{"type":"error.SuiteScriptModuleLoaderError","name":"MODULE_DOES_NOT_EXIST","message":"Module does not exist: /SuiteScripts/BillingInfoUpdated.js","stack":[]}
Run Code Online (Sandbox Code Playgroud)

脚本:

define(['N/log'], function (log) {

    /**
     * User Event 2.0 example showing usage of the Submit events
     *
     * @NApiVersion 2.x
     * @NModuleScope SameAccount
     * @NScriptType UserEventScript
     * @appliedtorecord customer
     */
    var exports = {};

    function afterSubmit(scriptContext) {
        log.debug({
            "title": "After Submit",
            "details": "action=" + scriptContext.type
        });
    }

    exports.afterSubmit = afterSubmit;
    return exports;
});
Run Code Online (Sandbox Code Playgroud)

netsuite suitescript

5
推荐指数
3
解决办法
2832
查看次数