javascript - Netsuite Suitescript 2 - 搜索中的客户存款剩余金额
问题描述
我在使用 SuiteScript 2.0 对 NetSuite 中的客户存款执行自定义搜索时遇到问题
我需要获取所有客户存款 ID、状态、存款金额和剩余金额(我的意思是尚未应用于任何发票的金额)。我的问题是我不知道如何获取剩余的金额。
我试过这个:
var results = [];
search.create({
type: search.Type.CUSTOMER_DEPOSIT,
filters: [['lastmodifieddate', 'within', context.from_datetime, context.to_datetime]],
columns: [
'entity',
'status',
'amount',
'amountremaining'
]
}).run().forEach(function() {
results.push(result);
return true;
});
return results;
但是amountremaining
所有存款的字段都是空的。
解决方案
该amountremaining
列与客户存款无关,但您可以使用以下方法实现您的需求。
首先,您需要添加一个过滤器以确保您提取正确的“应用交易”:
["applyingtransaction.type","anyof","DepAppl"]
这可以确保您获得“存款申请”,而不是可能正在应用客户存款交易的“存款”。然后,您需要添加一个带有公式的列,以将所有这些存款申请的金额添加到客户存款的总金额中:
search.createColumn({
name: "formulacurrency",
summary: "MIN",
formula: "min({amount}) + SUM({applyingtransaction.amount})",
label: "Formula (Currency)"
})
请注意,这是添加而不是减去,因为applyingtransaction.amount
返回的是负数。
也不是说这需要一个汇总列才能工作(因为每个客户存款可能有多个应用交易),因此您需要将分组或汇总功能应用于您需要返回的所有列。最重要的是,您需要按客户存款的内部 ID 或文件编号进行 GROUP。
推荐阅读
- android - 加载 MediaStore.Audio.Media.DATA 不适用于 android 10 及更高版本?
- django - 为什么普通用户发送的电子邮件而不是超级用户发送的电子邮件?
- javascript - 尽管存在 Access-Control-Allow-Origin 标头,但 Chrome 中的 CORS 问题
- sql - 如何查询包含数组 ["val1", "val2"] 的文本列并检索包含特定值的所有表
- model - 预加载模型资源时出错 com.google.mlkit.common.MlKitException
- django - 如何使用 Django ajax“GET 方法”
- fonts - 如何让 xmessage 使用字体?
- java - 有人可以告诉我如何编写和覆盖方法以找到最多 6 个百分比输入的几何平均值
- c# - 为什么我不能在我的 Web API 项目中使用带有 C# 异步函数的 Discard 作为触发后遗忘机制
- ada - 前置条件和后置条件是否取代了函数验证?