NetSuite 记录通过脚本从报表中读取数据的过程

本文档介绍了如何在NetSuite中通过脚本获取报表数据。虽然nlapiRunReport API未在官方文档中公开,但可以通过追踪脚本发现其用于执行报表并获取结果。然而,由于该API不是公开接口,存在未来可能被移除的风险。在无法控制报表筛选条件的情况下,建议预先配置好报表,然后直接通过脚本获取数据。
摘要由CSDN通过智能技术生成

在netsuite的文档中没有找到从报表获取数据的api,但是有部分插件的数据是通过表表获取的,希望能通过源码找到获取报表数据的方法。

首先通过追踪脚本发现他的数据来源为自定义记录:customrecord_cn_income_report_data,代码如下:

function getCachedReportData(reportDataId) {
   
        var reportData = record.load({
   
            type: 'customrecord_cn_income_report_data',
            id: reportDataId
        });
        return JSON.parse(encode.convert({
   
            string: reportData.getValue('custrecord_cn_income_reportdata'),
            inputEncoding: encode.Encoding.BASE_64,
            outputEncoding: encode.Encoding.UTF_8
        }));
    }

很明显是通过其他的定时脚本或者MR脚本进行定时更新,我在代码中搜索该自定义记录的使用情况,发现果然是通过定时任务调取Restlet脚本进行的,在Restlet脚本中发现了获取报表数据的api:nlapiRunReport(reportId,nlobjReportSettings)

function runReport(requestParams) {
   
        setup();

        try {
   
            var pivotTable = nlapiRunReport(reportId(requestParams), reportSettings(parameters(requestParams)));
        } catch (ex) {
   
            nlapiLogExecution('ERROR', 'rl_cn_run_income_report.js: runReport', 'error occurred  ' + JSON.stringify(ex));
            throw nlapiCreateError('RunReportError', ex.message, true);
        }

        var reportData = handleReportResults(pivotTable);
        var reportDataId = cacheReportData(requestParams, reportData);

        tearDown();
        return JSON.stringify({
   
            reportDataId: reportDataId
        });
    }

但是该api没有出现在官方文档当中,在谷歌中搜索也只搜到了一条 An internal SuiteScript api function nlapiRunReport() will be used to execute the “Budget vs Actual” report and retrieve the result data. Since this is not a published API, there is a theoretical possibility that it will be removed by NetSuite in the future although the possibility is very low.(内部SuiteScript api函数nlapiRunReport()将用于执行“预算与实际”报告并检索结果数据。由于这不是已发布的API,因此理论上有可能在将来将它由NetSuite删除,尽管可能性很小。) 在插件脚本中有几个参数定义在了nlobjReportSettings当中,代码如下:

function reportSettings(params) {
   
        var settings = new 
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值