これは、私が以前に尋ねた質問に関連しています。
Netsuit レストレットから顧客のエージング フィールドを取得する方法
その質問への回答で説明されている手法はうまく機能しますが、クレジット メモは処理しません。クレジットメモを考慮する方法がわかりません。
たとえば、次の値を表示する顧客レコードがあります。
BALANCE
1950.00
OVERDUE BALANCE
2000.00
CURRENT 1-30 DAYS 31-60 DAYS 61-90 DAYS OVER 90 DAYS
0.00 -50.00 2,000.00 0.00 0.00
2000 は問題なく引き出せますが、クレジット メモから -50 を取得できないようです。
これを行うために請求書クエリを調整してみました:
new nlobjSearchFilter('amountremaining', null, 'notequalto', 0),
また、クレジット メモに対して別のクエリを実行してみました。
var agingcmemo = nlapiSearchRecord(
'creditmemo',
null,
[
new nlobjSearchFilter('daysoverdue', null, 'greaterthan', 0),
new nlobjSearchFilter('mainline', null, 'is', 'T'),
new nlobjSearchFilter('amountremaining', null, 'notequalto', 0),
new nlobjSearchFilter('entity', null, 'is', result[0].id)
],
[
new nlobjSearchColumn('entity', null, 'group'),
new nlobjSearchColumn('formulanumeric', null, 'sum').setFormula('case when {daysoverdue} < 31 then {amountremaining} else 0 end'),
new nlobjSearchColumn('formulanumeric', null, 'sum').setFormula('case when {daysoverdue} between 31 and 60 then {amountremaining} else 0 end'),
new nlobjSearchColumn('formulanumeric', null, 'sum').setFormula('case when {daysoverdue} between 61 and 90 then {amountremaining} else 0 end'),
new nlobjSearchColumn('formulanumeric', null, 'sum').setFormula('case when {daysoverdue} > 90 then {amountremaining} else 0 end')
]
);
そのクエリは行を返しません。エンティティを除くすべての条件を削除すると、2 つの行が返されますが、どちらも実際のクレジット メモではありません。
クレジットメモを含むこれらの正しい番号を取得する方法について誰か考えがありますか?