文本介绍了三种修改报表标题的方法。一是通过表单插件修改套打数据包,仅影响套打数据。二是通过账表表单插件调整报表标题,需确保修改标题不被覆盖,部分后台操作不适用。三是通过账表服务插件进行全数据修正,适用于所有获取报表数据的场景,需通过C#插件实现。
方法一:通过表单插件修改套打数据包OnPrepareNotePrintData进行套打数据更正,
该方案不提供示例,可参考帖子套打通过表单插件OnPrepareNotePrintData修改数据
该方案由于为套打数据修正,仅影响套打的数据包,界面数据包不受影响;使用场景,在不调整界面控件内容情况下在套打中输出不一样的报表标题。
方法二:通过账表表单插件进行报表标题调整(并非通过控件模型进行仅控件输出内容调整)
报表的标题ISysReportModel.ReportTitles,也就是对应的界面上的报表显示内容,同样为套打的报表标题取数。
通过账表表单插件在取数完成后(或其他干预时机,只要保证修改标题不被覆盖即可)进行标题调整。
以下示例为明细分类账调整“核算维度”标题(标识FTITLEDETAIL)的输出,其中调整使用的是存在则修改不存在才添加(这是我建议的改法,能够避免界面、套打、报表直接预览打印因为存在多个同一标识的标题导致的不一致问题)
该方案由于为表单插件逻辑修正,所以必须与当前界面视图有关,部分后台操作不调用表单插件的无法获得此修改(如分页账表套打全部分页),但是针对普通场景一般适用,而且大部分时候能够通过python插件实现。
方法三:通过账表服务插件进行完全数据修正
报表服务插件可以理解为报表后台取数时的调用插件,与界面无关,通过此修改能够进行报表标题的全修正,也就是所有获取这个报表数据的场景都能够应用改标题修改的逻辑。需要注意的是,平台的报表体系仅支持一个服务插件,针对标准产品的服务插件建议继承自原有服务插件,而后加入自己的二开逻辑。
以下示例为明细分类账调整“核算维度”标题(标识FTITLEDETAIL)的输出,继承自原有标准二开服务插件
该方案为账表服务逻辑修正,所以场景都会被调整,但是必须通过C#插件继承标准产品插件实现。