SuiteScript v1,但如果它是使其运行的唯一方法,我将切换到SS v2。
我试过了:
salesOrder.setFieldText('shipcarrier', 'More');
salesOrder.setFieldValue('shipcarrier', 'noups');
salesOrder.setFieldValue('shipcarrier', 'nonups');
但保存记录后始终会选择UPS。
答案 0 :(得分:0)
您需要使用setFieldValue并传递“更多”船舶载体的内部ID。
nlapiSubmitField('salesorder', recordid, 'shipcarrier', 'nonups');
答案 1 :(得分:0)
shipcarrier有点奇怪。
我不确定它实际上是粘性的 - 在某些情况下它似乎是,而在某些情况下则不然。
除非您也设置了shipmethod,否则设置似乎毫无意义。
salesOrder.setFieldValue('shipcarrier', ffShipCarrier); //'ups' || 'nonups'
salesOrder.setFieldValue('shipmethod', ffShipMethod)
来自cja的PS:我的结论/解决方案:除非recordmode是动态的并且shipmethod同时设置,否则设置shipmode什么都不做。如果满足这两个条件,则将更新值shipmode。
NetSuite支持警告我不要使用此解决方案:
“关于您的问题,我可以在客户端脚本中的销售订单记录中设置Ship carrier字段(nlapiSetFieldValue('shipcarrier','ups');)但是我无法设置值服务器端脚本中的字段。经过进一步调查,该字段(船舶承运人)未在记录浏览器中公开,因此该字段未正式公开以满足脚本需求。请参阅以下Suiteanswer文章供您参考。 / p>
“我很高兴该解决方案能够为您提供完美的解决方案。为了进一步解释,我想说在记录浏览器中使用未曝光字段编写脚本是不可取的。未来可能会在没有事先通知的情况下进行更改并且可能导致问题,NetSuite也不会对此承担任何责任。
“用户组包含由经验丰富的客户提供的复杂提示和技巧的简单解决方案。另一方面,NetSuite支持严格遵守官方文档/流程以协助其任何客户。用户组中提供的解决方案完全取决于客户的同意,如果未在官方文档或NetSuite支持中确认,则可自行承担风险。“