0

我需要获取与特定销售订单相关联的所有客户存款的剩余余额

余额= 可用/未应用金额

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

4

1 回答 1

1

要显示链接到特定销售订单记录的所有客户存款的剩余金额:

创建事务保存的搜索,如下所示:

  • 标准(使用表达式)

    • 类型存款申请
    • 从字段创建 > 销售订单是销售订单 #xyz )或
    • 类型客户存款
    • IS销售订单创建 #xyz ) 已保存的搜索条件
  • 结果

    • 公式(数字)(汇总类型SUM):CASE WHEN {type} = 'Customer Deposit' THEN {debitamount} ELSE -{creditamount} END 已保存的搜索结果

奖金,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
于 2020-06-09T12:16:57.750 回答