首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Netsuite API中查询信用备忘录

如何在Netsuite API中查询信用备忘录
EN

Stack Overflow用户
提问于 2015-08-24 22:02:17
回答 3查看 1.8K关注 0票数 0

这与我先前提出的一个问题有关:

How to get customer aging fields from a Netsuite restlet

这个问题的答案中描述的技巧很好用,但它不处理信用备忘录。我在弄清楚如何考虑信用备忘录时遇到了麻烦。

例如,我有一个客户记录,它显示以下值:

代码语言:javascript
复制
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。

我尝试调整发票查询以完成以下操作:

代码语言:javascript
复制
new nlobjSearchFilter('amountremaining', null, 'notequalto', 0),

我还尝试对信用备忘录进行单独的查询:

代码语言:javascript
复制
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')                    
    ]
);

该查询不返回任何行。如果删除除实体以外的所有条件,它将返回两行,这两行都不是实际的信用备忘。

有谁想过如何得到正确的数字,包括信用备忘录吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-24 22:25:45

没有任何概念的日应与信用备忘录。如果你运行下面的代码,那么金额是50美元吗?您应该能够使用它来获得您的公开信用备忘价值,并将其与您的公开发票金额相结合。

除此之外,您是否有可能有未申请的付款或客户定金?

代码语言:javascript
复制
var agingcmemo = nlapiSearchRecord(
    'creditmemo',
    null,
    [
        new nlobjSearchFilter('mainline', null, 'is', 'T'),
        new nlobjSearchFilter('status', null, 'anyof', ['CustCred:A']),
        new nlobjSearchFilter('entity', null, 'is', 996)
    ],
    [
        new nlobjSearchColumn('entity', null, 'group'),
        new nlobjSearchColumn('amountremaining', null, 'sum')                 
    ]
);
agingcmemo.forEach(function(c){
var cols = c.getAllColumns();
cols.forEach(function(col, idx){ console.log(idx +': '+c.getValue(col));});
console.log('');
});
票数 1
EN

Stack Overflow用户

发布于 2015-08-25 00:54:05

我使用了一种不同的方法在保存的搜索中构建一个老化的报告,这可能会更好地为您工作,因为它也考虑到了信用备忘录。(年龄低于年龄的群体按月而不是30天递增,但您可以用以前使用的公式替换它们):

票数 0
EN

Stack Overflow用户

发布于 2015-08-26 18:10:30

可以在搜索条件中定义“事务类型”,这样可以为每个特定事务类型创建保存的搜索。或者,您可以添加事务类型作为筛选器,甚至可以按事务类型对其进行颜色编码。在我看来,事务搜索是NS中所有搜索的之母,因为大多数对象和字段都公开了这种搜索类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32192464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档