Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netsuite 如何在Reslet中使用SuiteScript将销售订单上的shipcarrier设置为“更多”?_Netsuite_Suitescript - Fatal编程技术网

Netsuite 如何在Reslet中使用SuiteScript将销售订单上的shipcarrier设置为“更多”?

Netsuite 如何在Reslet中使用SuiteScript将销售订单上的shipcarrier设置为“更多”?,netsuite,suitescript,Netsuite,Suitescript,SuiteScriptV1,但如果这是唯一可行的方法,我会切换到SSV2 我试过: salesOrder.setFieldText('shipcarrier', 'More'); salesOrder.setFieldValue('shipcarrier', 'noups'); salesOrder.setFieldValue('shipcarrier', 'nonups'); 但保存记录后,始终会选择UPS。您需要使用setFieldValue并传递“更多”运输公司的内部id nlapiSu

SuiteScriptV1,但如果这是唯一可行的方法,我会切换到SSV2

我试过:

salesOrder.setFieldText('shipcarrier', 'More');
salesOrder.setFieldValue('shipcarrier', 'noups');
salesOrder.setFieldValue('shipcarrier', 'nonups');

但保存记录后,始终会选择UPS。

您需要使用setFieldValue并传递“更多”运输公司的内部id

nlapiSubmitField('salesorder', recordid, 'shipcarrier', 'nonups');

船运公司有点奇怪

我不确定它是否真的是粘性的——在某些情况下,它似乎是粘性的,而在某些情况下,它不是

除非您也在设置shipmethod,否则设置似乎毫无意义

salesOrder.setFieldValue('shipcarrier', ffShipCarrier); //'ups' || 'nonups'
salesOrder.setFieldValue('shipmethod', ffShipMethod)
来自cja的PS:我的结论/解决方案:除非recordmode是动态的,同时设置shipmethod,否则设置shipmode不会起任何作用。如果这两个条件都满足,那么shipmode值将被更新

NetSuite支持部门警告我不要使用此解决方案:

“关于您的问题,我可以在客户端脚本中的销售订单记录上设置Ship carrier字段(nlapiSetFieldValue('shipcarrier','ups');),但是我无法在服务器端脚本中设置该字段的值。经进一步调查,该字段(Ship carrier)未在记录浏览器中公开,因此该字段未因脚本需要正式公开。请参阅以下Suiteanswer文章以供参考

“我真的很高兴这个解决方案对你非常有效。为了进一步解释,我认为不建议在记录浏览器中使用未公开的字段编写脚本。它可能会在未事先通知的情况下在将来更改,并可能导致问题,NetSuite对此不承担任何责任


“用户组包含经验丰富的客户提供的复杂提示和技巧的简单解决方案。另一方面,NetSuite支持部门严格遵守官方文档/流程,以帮助其任何客户。用户组中提供的解决方案完全得到客户的同意,如果未在官方文档或NetSuite支持中确认,则可自行实施。“

我怎样才能知道那是什么?为什么这次setFieldText不工作?也许你没有保存记录。这在我这边奏效了:nlapisomitfield('salesforder',recordid,'shipcharrier','nonups');我正在创建记录,所以我知道我正在保存它。我认为您的代码是客户端的,因此在我的RESTlet中无法工作。该代码在服务器端也运行良好。一旦你创建了记录,试着用我发布的代码设置承运人。这对我不起作用。没有错误,只是什么也没发生。shipmethod下拉列表中没有任何项目。还有其他方法吗?没有,但如果你没有船舶方法,那又有什么关系呢?我必须将shipcarrier设置为更多。shipmethod对我来说并不重要,但你说我必须设置它,以便我对shipcarrier的更改生效。但如果shipmethod列表中没有项目,则无法设置。这就是为什么它很重要。我认为不需要发货方法。我只是尝试了一下,并且我能够省去设置shipcarrier的麻烦,更重要的是:只设置shipcarrier有什么好处?其目的是过滤运输方法。无装运方式=>无需设置装运承运人。