这与我之前提出的一个问题有关:
该问题的答案中描述的技术效果很好,但它不处理贷项通知单。我在弄清楚如何将贷项通知单考虑在内时遇到问题。
例如,我有一个显示以下值的客户记录:
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')
]
);
该查询不返回任何行。如果我删除除了实体之外的所有条件,它会返回两行,这两行都不是实际的贷项通知单。
有人对如何获得包括贷项通知单在内的正确数字有任何想法吗?