首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Suitescript 2.0 addButton

Suitescript 2.0 addButton
EN

Stack Overflow用户
提问于 2016-06-15 03:09:20
回答 5查看 8.7K关注 0票数 8

我有一个带有子列表按钮的suitelet,我正在尝试让这个按钮在自定义模块上执行一个函数。我不能让它工作。我得到一个错误“无法调用方法”接收“的未定义”任何想法?

添加按钮的代码片段

代码语言:javascript
复制
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()"});
}

自定义模块的代码片段

代码语言:javascript
复制
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
    			}
    		})
	}
	});

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-07-25 22:35:18

在多次尝试后没有让它工作后,我向Netsuite提交了一个缺陷(缺陷390444),他们刚刚告诉我,这个问题现在已经修复和测试,并将在下一个主要版本中。

票数 0
EN

Stack Overflow用户

发布于 2016-06-18 02:13:28

我能够使用客户端脚本或将其导出到建议的全局对象来执行此操作。关键是修改我的自定义模块,以返回我想在按钮上使用的函数,并使用form.clientScriptFileId调用自定义模块文件

代码语言:javascript
复制
//suitelet
define(['N/error', 'N/record', 'N/search', 'N/ui/serverWidget'],
function(error, record, search, ui) {
   
	// other code here
		form.clientScriptFileId = 78627;//this is the file cabinet internal id of my custom module
		var searchSublist = form.addSublist({
			id: 'custpage_deals',
			type: ui.SublistType.LIST,
			label: 'Deals'
		})
		searchSublist.addButton({
			id: 'custpage_receivepayment', 
			label: 'Receive Payment',
			functionName: "receive()"
				});
  
  //custom module
  
  define(['N/url','N/error'],

function(url, error) {
	return{
    	  receive: function(){
    				
     //function code here
	}		           

})

票数 4
EN

Stack Overflow用户

发布于 2017-02-25 03:33:32

对于suitescript 2.0,你需要定义包含你的函数的文件。

代码语言:javascript
复制
/**
 *@NApiVersion 2.x
 *@NScriptType UserEventScript
 */
define([],
  function() {
    function beforeLoad(context) {
      if(context.type == "view") {
        context.form.clientScriptFileId = 19181;
        context.form.addButton({
          id: 'custpage_dropshippo',
          label: 'Generate Dropship PO',
          functionName: 'generateDropshipPurchaseOrder'
        });
      }
    }
    return {
      beforeLoad: beforeLoad,
    };
  }
);

在该示例中,值19181是以下文件的文件柜ID (不需要展开,但需要脚本记录):

代码语言:javascript
复制
/**
 *@NApiVersion 2.x
 *@NScriptType ClientScript
 */
define([],
  function() {
    function pageInit() {
    }
    function generateDropshipPurchaseOrder() {
      console.log("foo");
    }
    return {
      pageInit: pageInit,
      generateDropshipPurchaseOrder: generateDropshipPurchaseOrder
    };
});

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37820253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档