如何在netsuite中使用portlet脚本类型(SuiteScript 2.0)显示饼图?以及如何在portlet脚本中包含HTML文件。? function(){ 函数渲染(参数) { params.portlet.title='myportlet'; 变量内容=“”+ '' + ' '+ “选择元素”+ “

如何在netsuite中使用portlet脚本类型(SuiteScript 2.0)显示饼图?以及如何在portlet脚本中包含HTML文件。? function(){ 函数渲染(参数) { params.portlet.title='myportlet'; 变量内容=“”+ '' + ' '+ “选择元素”+ “,netsuite,portlet,erp,suitescript2.0,Netsuite,Portlet,Erp,Suitescript2.0,选择每日/每周范围”+ “每月/每年”+ ' ' + “”+ ' ' + '' + ' '; params.portlet.html=内容; } 你们能帮我写饼图的代码吗?并为我提供一些从portlet调用其他脚本的语法 我曾尝试在netsuite中使用html添加一个选择字段(下拉列表),效果很好。但我希望在我的UI中使用饼图。netsuite与其他所有内容一样运行JavaScript/html/CSS。我会制作一个html文件,其中包含您需要的所有内容(JavaScript、CSS和任何绘

选择每日/每周范围”+ “每月/每年”+ ' ' + “

”+ ' ' + '' + ' '; params.portlet.html=内容; } 你们能帮我写饼图的代码吗?并为我提供一些从portlet调用其他脚本的语法


我曾尝试在netsuite中使用html添加一个选择字段(下拉列表),效果很好。但我希望在我的UI中使用饼图。

netsuite与其他所有内容一样运行JavaScript/html/CSS。我会制作一个html文件,其中包含您需要的所有内容(JavaScript、CSS和任何绘图库),并使用localhost打开它以查看内容。如果您喜欢这种方式,请选择适合您的选项将其移植到NetSuite中:

  • 将文本复制到
    var content=“your_html_here”
    (维护起来可能会很痛苦,但效果会很好)

  • 将HTML文件加载到您的文件柜中,并将其加载到您的portlet脚本中,以执行文本替换以插入所需的任何数据(这是一个额外的步骤,但更易于维护,您可以下拉HTML文件以执行所需的任何本地测试):

  • var content=file.load({id:/Suitescripts/path_to_your_html_file.html})。getContents()
    内容=内容。替换(“占位符\文本”,“使用此”)
    
    既然您在问如何构建饼图,我建议您使用类似于在何处可以构建饼图的内容

    如果你陷入困境,或者需要一些帮助,请在下面回复。没有愚蠢的问题,答应我

    编辑 你问过如何将搜索结果添加到你的HTML文件中。虽然听起来你已经回答了你的问题,但我会在这里记录这个过程,以防万一,永远不知道谁是从谷歌来的

    var mySearch=search.load({id:“我的搜索id”,…})
    mySearch.run.each(函数(结果){
    searchHTML+=“”
    searchHTML+=`${result.getText({name:'fieldname',…})}`
    searchHTML+=`${result.getValue({name:“fieldname”,…})}`
    searchHTML+=“”
    //进入下一个结果
    返回true;
    })
    

    希望能有所帮助!

    太好了,它很有效。tq代码太多了,我如何添加脚本值(搜索结果值)请帮助我。我使用了content.replace,这太棒了!!!它可以工作了…非常感谢你的代码……。非常感谢@SanthoshKumar,我在我的答案中添加了一些内容。希望它有用!你好@zerecees,如果你不这样做,你能再澄清我一个疑问吗请注意……我如何在脚本中添加库文件,以便饼图完全显示动画。?Hi@SanthoshKumar!您可以将任何库上载到文件柜,并在SuiteScript中引用它,只要它是兼容的库。假设我正在使用;上载到文件柜,然后写入
    define([”/SuiteScripts/path/to/lodash.js“],function({…})
    (lodash语法是使用“{”,类似于jQuery中的“$”)。但是,由于您使用的是HTML,我建议您在
    标记中使用CDN。这样,您可以通过HTML而不是文件柜来完成所有操作。这有帮助吗?
    function() {
        function render(params) 
        {
            params.portlet.title = 'My Portlet';
            var content = '<body>'+
            '<form>' +
              ' <fieldset>'+
                 ' <legend>Selecting elements  </legend> ' +
                  '<p>  <label>Select Range</label>  <select id = "myList"><option value = "1">Daily</option> <option value = "2">Weekly</option>'+
                      ' <option value = "3">Monthly</option>  <option value = "4">Yearly</option>' +
                    ' </select>' +
                 ' </p>' +
              ' </fieldset>' +
            '</form>' +
         ' </body>';
            params.portlet.html = content;
        }