您的位置:首页 > 其它

当报表数据行数超过一定值时报错

2016-08-11 15:35 120 查看
覆盖Contact Class中的preRunValidate()

protected container preRunValidate()

{
/*
在低外界干扰状态下,报表显示100000行数据大概会花费12分钟时间,然而1000行数据大概会花费10秒钟时间,因此如果数据行太多可以给报表做个限制
*/

#Define.ErrorLimit(100000)

#Define.WarningLimit(1000)

container validateResult;

Query query = this.getFirstQuery();

int rowCount = queryRun::getQueryRowCount(query,

#ErrorLimit + 1);

if (rowCount > #ErrorLimit)

{

validateResult =[SrsReportPreRunState::Error];

}

else if (rowCount > #WarningLimit)

{

validateResult =[SrsReportPreRunState::Warning];

}

else

{

validateResult = super();

}

return validateResult;
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Dynamics AX 2012