如何从交易保存搜索/ Suitescript搜索中获取销售订单'shipaddresslist'值?

时间:2018-04-26 11:14:05

标签: javascript netsuite suitescript suitescript2.0 saved-searches

在Netsuite中,销售订单记录类型包含一个名为“ shipaddresslist ”的字段,其中包含与所选客户地址关联的客户地址内部ID。

不幸的是,销售订单没有搜索列会获得“ shipaddresslist ”的值,因此我必须找到解决方法。

使用SuiteScript,我已经能够通过遍历搜索结果,将销售订单ID传递给record.Load()函数并在加载时调用record.getValue()来获取此字段的值。记录,如下所示

搜索:

kubectl describe secret

循环和记录加载:

 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"}),
   ]
});

这很有效......除了我通过搜索返回大约1000个销售订单这一事实,这意味着在我完成搜索并构建整个列表之前,record.Load()通过我的治理单元吃掉了结果

简而言之,有没有办法直接从搜索对象中的销售订单记录中返回“ shipaddresslist ”的值? 或者也许是一种动态获取该字段而无需加载整个记录对象的方法?

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

已解决(KINDA)

嘿所有,我问了周围并得到了一个半解决方案,所以如果有其他人遇到这个问题,这是一个解决方案。

出于我的目的,我只使用SuiteScript,因为我认为你不能在Netsuite本身获得该领域,但我被证明是错误的。以下是如何在Netsuite中获得该领域:

<强>解决方案

1:导航到列表&gt;搜索&GT;保存的搜索&gt;新

2:选择交易

3:在Criteria选项卡Standard子选项卡下,添加以下过滤器:

---选择类型:选择要提取的交易类型

---送货地址:不是空的

---主线是真的

---公式(文字): DECODE({shipaddress},{customer.address},'1','0') 从1开始

4:在结果选项卡下添加以下列:

---送货地址

---客户/项目字段是地址内部标识

5:为搜索命名并点击Save&amp;运行

唯一需要的条件是公式,但此解决方案是从SuiteAnswers复制并粘贴的。我建议您只使用公式并根据需要添加所需的条件。

r / Netsuite subreddit上的u / seekcant用于查找和发布此解决方案。

答案 1 :(得分:0)

如果您要查找客户地址的内部ID,可以将其添加到搜索列

search.createColumn({
         name: "internalid",
         join: "shippingAddress",
         label: "Internal ID"
      })