如何在保存的搜索中获取客户存款的剩余金额(包括SuiteScript代码)。

问题描述 投票:0回答:1

我需要得到的 剩余余额 所有 客户存款 连带 销售订单

剩余余额 =可动用但未动用的数额

下面,我将向您展示我是如何在保存的搜索中解决这个问题的。作为奖励,我还将包含SuiteScript 1.0代码来完成同样的工作。

netsuite suitescript saved-searches
1个回答
1
投票

要显示 剩余金额 所有 客户存款 连带 销售订单 记录。

创建一个交易保存的搜索如下。

  • 标准(使用表达式)

    • ( 种类 IS 存款申请 AND
    • 创建于字段> 销售订单 IS 销售订单#xyz )或
    • ( 种类 IS 客户存款 AND
    • 创建于 IS 销售订单#xyz )Saved Search Criteria
  • 结果

    • 公式(数字) (摘要类型 SUM): CASE WHEN {type} = 'Customer Deposit' THEN {debitamount} ELSE -{creditamount} ENDSaved Search Results

BONUS,SuiteScript 1.0的代码来获得。剩余金额 所有 客户存款 连带 销售订单 记录:

function customerDepositsRemainingBalance(salesorder_internalid) {
    var filters = [[["type","anyof","DepAppl"],"AND",["createdfrom.salesorder","anyof",salesorder_internalid]],"OR",[["type","anyof","CustDep"],"AND",["createdfrom","anyof",salesorder_internalid]]];
    var columns = [new nlobjSearchColumn('formulanumeric',null,'SUM')];
    columns[0].setFormula("CASE WHEN {type} = 'Customer Deposit' THEN {debitamount} ELSE -{creditamount} END");
    var search = nlapiSearchRecord('transaction',null,filters,columns);

    if(search == null) return 0;
    return Number(search[0].getValue(columns[0]));
}

// Example Usage
balance = customerDepositsRemainingBalance(3247434); // returns 50
balance = customerDepositsRemainingBalance(3256644); // returns 0
© www.soinside.com 2019 - 2024. All rights reserved.