如何为销售订单设置“Ship To Select”送货地址下拉字段?
Posted
技术标签:
【中文标题】如何为销售订单设置“Ship To Select”送货地址下拉字段?【英文标题】:How to set the "Ship To Select" shipping address dropdown field for a Sales Order? 【发布时间】:2015-12-16 16:56:04 【问题描述】:当通过 Suitescript 在 NetSuite 中创建销售订单时,我们可以通过向其发送包含完整地址的字符串来成功设置“Ship To”(字段 ID:shipaddress)。
这会导致问题,因为“SHIP TO SELECT”下拉字段保留了为客户设置的默认地址。
理想情况下,我们宁愿从客户记录中发送有效 ID,并使用该 ID 设置下拉“SHIP TO SELECT”(字段 ID:shipaddresslist)字段。
我们可以获得有效的 ID,但找不到在字段上设置该 ID 以填充该下拉列表的方法。
【问题讨论】:
nalpiSetFieldValue('shipaddresslist', VALID_ID)
不行吗?
【参考方案1】:
通常,如果您在提交之前的用户事件脚本的上下文之外执行此操作,您还需要确保使用采购进行保存。
var soRec = nlapiLoadRecord('salesorder' soId);
soRec.setFieldValue('shipaddresslist', addressId);
nlapiSubmitRecord(soRec, true);
// alternatively nlapiSubmitRecord(soRec, enablesourcing:true [, disabletriggers:true|false, ignoremandatoryfields:true|false]);
如果您仍然看到旧地址文本,您可以添加:
soRec.setFieldValue('shipaddress', null);
提交之前。
如果您想要设置自定义地址,则类似但您需要设置覆盖:
var soRec = nlapiLoadRecord('salesorder' soId);
soRec.setFieldValue('shipaddresslist', null);
soRec.setFieldValue('shipoverride', 'T');
soRec.setFieldValue('shipaddress', formattedAddressString);
nlapiSubmitRecord(soRec);
请注意,尽管这样做会使依赖地址字段的任何搜索或自动化操作丢失或围绕此记录产生不正确的结果。
如果你想要一个自定义地址,你通常会更好:
var soRec = nlapiLoadRecord('salesorder' soId);
soRec.setFieldValue('shipaddresslist', null);
soRec.setFieldValue('shipaddr1', '123 Elm St.');
soRec.setFieldValue('shipcity', 'Portland');
...
nlapiSubmitRecord(soRec);
【讨论】:
谢谢。您的第一个代码 sn-p 适用于我们更新记录(这为我们提供了一个临时解决方案),但在最初使用 nlapiCreateRecord 创建记录时我们无法让它工作。有什么想法吗? 您通常会创建销售订单:var soRec = nlapiTransformRecord('customer', custId, 'salesorder');
这将允许您从客户的地址设置shipaddresslist。如果由于某种原因你不能这样做,那么你可以做nlapiCreateRecord('salesorder', recordmode:'dynamic')
,只要你在尝试设置地址之前做soRec.setFieldValue('entity', custId);
,这将允许你做同样的事情。 IMO 动态模式通常比它的价值更麻烦。
谢谢。我们将在下一次通过时尝试一下……对我们有用的解决方案是重新加载我们刚刚创建的记录,然后执行 soRec.setFieldValue('shipaddresslist', addressID);设置送货地址。
@bknights 您好,我需要在销售订单上设置自定义地址。我将 'shipaddresslist' 设置为 null 并尝试,但它不起作用。有什么建议吗?我在提交事件后使用。以上是关于如何为销售订单设置“Ship To Select”送货地址下拉字段?的主要内容,如果未能解决你的问题,请参考以下文章
Odoo 13:如何为同一产品使用每个公司的不同重量单位计量单位
Pentaho/Mondrian:如何为登录用户设置“动态角色”?