Javascript 按Netsuite事务内部ID搜索

Javascript 按Netsuite事务内部ID搜索,javascript,portlet,netsuite,Javascript,Portlet,Netsuite,用户请求能够通过内部ID查找某些事务类型。我想配置全局搜索以适应此请求,或者创建一个portlet来处理此需求 对于portlet选项,我创建了一个JS函数,它从下拉列表中获取事务类型,从文本框中获取ID,并将值替换为URL,然后我希望将用户重定向到该URL 代码示例: /*Portlet JS*/ 函数displayPortlet(){ var title=“按ID搜索交易”; var-content=“”; setTitle(title); setHtml(内容); } 函数checkTy

用户请求能够通过内部ID查找某些事务类型。我想配置全局搜索以适应此请求,或者创建一个portlet来处理此需求

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

代码示例:

/*Portlet JS*/
函数displayPortlet(){
var title=“按ID搜索交易”;
var-content=“”;
setTitle(title);
setHtml(内容);
} 
函数checkType(){
var myType=document.getElementById('transType')。值;
var myID=document.getElementById('transID')。值;
top.location.href=https://system.na1.netsuite.com/app/accounting/transactions/“+myType+”.nl?id=”+myID+”;
}
类型:
卖方账单
卖方信贷
客户发票
客户信用

ID:

您使用了getElementById。要做到这一点,您必须在输入和选择字段中添加id属性

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

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

NLAPIRoveURL(类型、子类型、id、页面模式)

nlapiSetRedirectURL(类型、子类型、id、页面模式、参数)


检查

为什么您的用户知道内部ID?也许您可以更改工作流,使其公开外部ID而不是内部ID。我们的供应商账单和信用证通常具有长标识符,如10-15位长……因此,与其在“支付账单”部分搜索长数字以选择要支付的账单,不如使用较短的数字来查找。所以我公开了内部ID。当然,然后——不可避免地,有人需要稍后查找该交易,他们记住了简短的内部ID,但不记得实际的交易编号(票据编号),所以——他们希望能够通过内部ID进行搜索。上面的代码看起来不错,如果你只是在生成了交易的链接之后。谢谢,@eliseobeltran——发布的代码应该会让我得到链接,我相信“top.location.href”会将我重定向到该URL。我现在发现我的表单没有在Netsuite中正确提交…我收到一个“ID为空”错误…谢谢!将id=添加到我的两个表单字段中产生了巨大的差异。现在,我注意到,当我点击submit按钮时,portlet中出现了一个错误,但是如果我等待几秒钟,它会按照我的要求重定向我。错误是相同的,关于没有ID。我仍然可以在HTML中使用NS API吗?比如
nlapisolveurl('record',myType,myID,'view')特定错误文本为“URL缺少id参数。无法检索文件。”我无法使两个API调用正常工作。。。我刚刚交换了三行代码中的哪一行被注释、保存、清除缓存和失效…仅适用于top.location,即使它在加载正确结果之前在portlet中给出了错误。请确保您向NLAPIROVERURL发送了正确的参数。请查看本页上的功能说明。例如,此调用nlapiResolveURL('Record','salesOrder',41,'edit')将返回以下字符串“/app/accounting/transactions/salesord.nl?id=41&e=T”和top.location.href=nlapiResolveURL('Record','vendorbill',94,'edit'),将我重定向到正确的供应商账单。
<select name='transType' id="transType">
<input type='number' name='transID' style='width: 75%;' id="transID"/>