如何自定义NetSuite计算发货按钮

如何自定义NetSuite计算发货按钮,netsuite,suitescript,Netsuite,Suitescript,如何在“发货”选项卡下自定义销售订单上的“计算发货”按钮(计算器图标)?我已经使用UPS API编写了我自己的应用程序,我想启动它,而不是本机NetSuite发货计算器那么如何让“计算发货”按钮触发我的自定义代码呢?很抱歉,无法通过API实现这一点。你可以破解它,但可能比它的价值更麻烦 要使自定义计算正常工作,请执行以下操作: 将其与固定费率为$0的装运方法关联。如果您不使用$0,则NS将在各种不合适的时间重新应用统一费率 当某些更改触发API查找或 在表单上添加一个按钮,以便单击 您还可以

如何在“发货”选项卡下自定义销售订单上的“计算发货”按钮(计算器图标)?我已经使用UPS API编写了我自己的应用程序,我想启动它,而不是本机NetSuite发货计算器那么如何让“计算发货”按钮触发我的自定义代码呢?

很抱歉,无法通过API实现这一点。你可以破解它,但可能比它的价值更麻烦

要使自定义计算正常工作,请执行以下操作:

  • 将其与固定费率为$0的装运方法关联。如果您不使用$0,则NS将在各种不合适的时间重新应用统一费率
  • 当某些更改触发API查找或
  • 在表单上添加一个按钮,以便单击
您还可以通过各种其他方式添加按钮,控制程度或多或少。一种方法是包含一个包含按钮html的inlinehtml字段,并在选择一个关联方法时显示一个脚本。在提交用户事件脚本之前,我会用一个保存页面客户端备份它,以便在需要时重新计算该值


当我做了这类事情后,我对发货地址、商品ID和数量进行了散列,并将其存储为body级别的字段。然后,您可以在before submit事件中重新计算哈希值,并仅在哈希值发生更改时调用API

另一种方法是使用

form.getSublist('item').addButton(name, label, script);
//button would be added in item sublist section
在脚本参数中,指定
onclick
脚本,
onclick
脚本将是一个客户端javascript,在该脚本中,您应该能够获得SO行,然后向suitelet启动AJAX[即使
nlapireuqstur
在这里也应该可以顺利工作]这反过来可以调用您的upsapi并从那里获取费率


现在,挑战仍然是摆脱自然计算发货按钮。也许,你可以让它成为一个零成本的按钮,或者让新按钮的标签比标准按钮更吸引人。

我很害怕。非常感谢您的快速回复和提示!是的,我确实有UPS的请求。我让客户端脚本调用Suitelet,它调用UPS,然后在“shippingcost”字段中显示运费。现在,我只是使用一个自定义按钮来调用我的代码,但显然我更喜欢使用计算器按钮。我想我会隐藏Shipping选项卡,然后创建一个新的自定义选项卡,并按照您的建议在该选项卡上添加自定义按钮。是的,这就是隐藏按钮的方法,您需要隐藏hole选项卡/子列表。如果NS提供一些API来隐藏标准子列表buttonsHeya,@prasun,那就太好了,我终于回到这个按钮的事情上了,我有个问题要问你。您提供的代码向子列表添加了一个按钮,但无法确定该按钮的位置,对吗?它只是出现在子列表的顶部,对吗?我想在子列表上添加一个按钮,但我想把它放在任何我想放的地方,就像计算器按钮一样。谢谢你的帮助!你不能指定你自己的位置,你必须依靠Netsuite api的仁慈,你可以做DOM黑客,但是,这是不推荐的,因为任何时候都可能破坏