在NetSuite中,销售订单记录类型包含一个名为" shipAddresslist "字段,其中包含与所选客户地址关联的客户地址内部ID。
不幸的是,没有搜索列的销售订单,它将获得" shipAddresslist "的值,因此我必须找到解决方法。
使用Suitescript,我能够通过循环浏览搜索结果,将销售订单ID传递到record..load.load((函数,并在已加载的rection.getValue((中获取该字段的值。记录,如下所示
搜索:
var salesorderSearchObj = search.create({
type: "salesorder",
filters:
[
["type","anyof","SalesOrd"],
"AND",
["item.isfulfillable","is","T"],
"AND",
["status","anyof","SalesOrd:B","SalesOrd:E","SalesOrd:D"],
"AND",
["quantitycommitted","greaterthanorequalto","1"],
"AND",
["location","anyof","1","3"],
"AND",
["mainline","is","F"],
"AND",
["item.type","anyof","InvtPart"]
],
columns:
[
search.createColumn({
name: "transactionnumber",
sort: search.Sort.ASC,
label: "Transaction Number"
}),
search.createColumn({name: "entity", label: "Name"}),
search.createColumn({
name: "custcol8",
sort: search.Sort.ASC,
label: "JANコード"
}),
search.createColumn({name: "quantityuom", label: "Quantity in Transaction Units"}),
search.createColumn({name: "statusref", label: "Status"}),
search.createColumn({
name: "quantityonhand",
join: "item",
label: "On Hand"
}),
search.createColumn({
name: "isfulfillable",
join: "item",
label: "Can be Fulfilled"
}),
search.createColumn({name: "department", label: "Department"}),
search.createColumn({name: "otherrefnum", label: "PO/Cheque Number"}),
]
});
循环和记录加载:
var matches = [];
salesorderSearchObj.run().each(function(result){
var objRecord = record.load({
type: record.Type.SALES_ORDER,
id: result.id,
isDynamic: true,
});
var push = resultToObject(result);
push.addressid = objRecord.getValue({fieldId:'shipaddresslist'});
log.debug("Result:",push);
matches.push(push);
return true;
});
这很好...除了我通过搜索返回大约1000个销售订单的事实,这意味着Record.load((在我的治理单元中吃饭,然后才能完成搜索并构建整个列表结果。
简而言之,是否可以直接从搜索对象的销售订单记录中返回" shipAddresslist "的值?或者也许是一种动态抓住该字段而不必加载整个记录对象的方法?
任何帮助都非常感谢!
solved(Kinda(
大家好,我问了一个半解决方案,以防万一其他人遇到这个问题,这里有一个解决方案。
出于我的目的,我只是在使用套接字,因为我认为您无法在NetSuite本身中获得该领域,但事实证明我是错误的。这是在NetSuite中获取领域的方法:
解决方案
1:导航到列表>搜索>已保存的搜索>新
2:选择事务
3:在"标准"标准子盘下,添加以下过滤器:
---选择类型:选择要上拉的交易类型
---运输地址:不是空的
---主线为true
---公式(文本(:解码({shipaddress},{customer.address},'1','0'(从1
开始4:在"结果"选项卡下添加以下列:
---运输地址
---客户/项目字段是地址内部ID
5:命名搜索并点击保存&运行。
唯一必需的标准是公式,但该解决方案是从事西服和粘贴的。我建议您仅使用公式并添加所需的标准。
信用额为R/NetSuite子Reddit上的U/Seekcant,以查找和发布此解决方案。
如果您正在寻找客户地址的内部ID,则可以将其添加到搜索列
search.createColumn({
name: "internalid",
join: "shippingAddress",
label: "Internal ID"
})