按Netsuite交易内部ID搜索

时间:2014-04-16 15:41:24

标签: javascript portlet netsuite

用户已要求按内部ID查找某些交易类型。我想配置全局搜索以适应此请求,或者创建一个portlet来处理需求。

对于portlet选项,我创建了一个JS函数,它从下拉列表中获取事务类型,从文本框中获取ID并将值替换为URL,然后我希望将用户重定向到该URL。

代码示例:http://jsfiddle.net/9S9hL/3/

/* Portlet JS*/
function displayPortlet(){
    var title = "Search Transactions by ID";
    var content = "<iframe src='https://system.na1.netsuite.com/core/media/media.nl?id=10118&c=TSTDRV1179914&h=ec379d5559088dbde686&_xt=.html' style='width: 250px; height: 100px;'></iframe>";
    portlet.setTitle(title);
    portlet.setHtml(content);
} 

<!-- HTML file referenced by Portlet JS above-->
<script language='javascript'>
    function checkType(){
        var myType = document.getElementById('transType').value;
        var myID   = document.getElementById('transID').value;
        top.location.href = 'https://system.na1.netsuite.com/app/accounting/transactions/'+myType+'.nl?id='+myID+'';
    }
</script>

<form method='post' action='javascript' enctype='text/plain' onsubmit='checkType(this);'>
    Type: <select name='transType'>
        <option value=''></option>
        <option value='vendbill'>Vendor Bill</option>
        <option value='vendcred'>Vendor Credit</option>
        <option value='custinvc'>Customer Invoice</option>
        <option value='custcred'>Customer Credit</option>
    </select><br/>
    ID: <input type='number' name='transID' style='width: 75%;' /><br/>
    <input type='submit' name='submit' value='Search'' />
</form>

我是否在正确的轨道上?任何人都能指出我的代码,逻辑或行动计划中的任何缺陷吗?我是在想这个吗?

我已尝试保存搜索,但内部ID作为已保存搜索的过滤器采用下拉格式,我需要一个文本框。此外,&#34;快速搜索&#34; Netsuite中存在的portlet不会搜索内部ID。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您已使用 getElementById 。要完成此项工作,您必须在输入中添加 id 属性并选择字段。

<select name='transType' id="transType">
<input type='number' name='transID' style='width: 75%;' id="transID"/>

其次,不是使用top.location.href,而是可以使用这两个内置的Netsuite函数

nlapiResolveURL(type,subtype,id,pagemode)

nlapiSetRedirectURL(type,subtype,id,pagemode,parameters)

检查http://suitecoder.appspot.com/static/api.html