报表演示说明1、本演示分为日报、月报、年报2、日报的生成:对于日报可以每小时输入一个数据,然后进行统计后每天生成一个报表日报生成的命令语言见事件命令语言的条件为:$分==0 && $秒==0,消失时注意:a、报表函数命令执行时报表控件所在的画面必须打开,因此对于画面不多的情况下可以在工程运行时将后台处理画面打开并隐含起来,同时所有其它的画面属性都应为覆盖式。
如果画面较多无法全部将画面属性设为覆盖式则可以在报表命令语言执行前执行打开画面的命令b、在新的一天开始时需要使用新的报表文件,因此需要在调用前需要判断当天的报表文件是否已经创建,如果没有创建则需要进行创建c、对于日报的统计主要针对每天持续运行的情况,对于不能保证持续运行的现场可以参照月报的统计方式b、报表的查询在日报查询页,可以对报表文件进行读取、删除等操作{string FileName1=InfoAppDir()+"日报\"+ StrFromReal( \\本站点\$年, 0, "f" )+"y"+StrFromReal(\\本站点\$月, 0, "f" )+"m"+StrFromReal(\\本站点\$日, 0, "f" )+".rtl";//自定义变量long return01=InfoFile( Filename1, 1, \\本站点\$分 );//判断日报目录下是否已经有当天的报表文件了if (return01==0){string FileName=InfoAppDir()+"报表\日报.rtl";ReportLoad("Report5",FileName);FileName=InfoAppDir()+"日报\"+StrFromReal( \\本站点\$年, 0,"f" )+"y"+StrFromReal( $月, 0, "f" )+"m"+StrFromReal( $日, 0, "f" )+".rtl";ReportSaveAs("Report5",FileName);}//如果没有报表文件则从报表目录下调取模板创建报表文件ReportLoad("Report5",FileName1);ReportSetCellString("report5", 3,10, \\本站点\$日期);long hang=\\本站点\$时+6;string timestr=time(\\本站点\$时,0,0);ReportSetCellString("report5", hang,1, timestr);ReportSetCellValue("report5", hang,2,\\本站点\颗粒物); ReportSetCellValue("report5", hang,3,\\本站点\颗粒物折算); ReportSetCellValue("report5", hang,4, \\本站点\SO2); ReportSetCellValue("report5", hang,5, \\本站点\SO2折算);ReportSetCellValue("report5", hang,6, \\本站点\NO2); ReportSetCellValue("report5", hang,7, \\本站点\NO2折算); ReportSetCellValue("report5", hang,8, \\本站点\流量); ReportSetCellValue("report5", hang,9, \\本站点\O2); ReportSetCellValue("report5", hang,10, \\本站点\温度); ReportSetCellValue("report5", hang,11, \\本站点\水分); ReportSaveAs("Report5",FileName1);}3、月报的生成月报中需要每天的统计数据,该数据为每天的平均值,如果需要其它的统计数据也可照此方法进行处理。
月报生成的命令语言函数讲事件命令语言的条件为:$时==23,消失时,即当每天结束时将当天的统计数据从日报表中读取后将其输入月报中对应的行中,并从月报中读取汇总数据求出平均值写入平均值计算行注意:a、计算平均值时有一个关键计算变量为:日计数,该变量统计实际每月记录的日期天数,该数据需要在每月开始时赋值为0b、报表的查询在日报查询页,可以对报表文件进行读取、删除等操作c、由于月报操作每天进行一次,因此月报后台处理画面只需操作时打开执行报表函数并在执行完成后关闭d。
月报表的生成还可以采用年报表的生成方式产生,具体方法将年报表相关命令语言{string reportname2=StrFromReal( \\本站点\$年, 0, "f" )+StrFromReal( \\本站点\$月, 0, "f" )+".rtl";//====================string FileName;//自定义变量FileName=InfoAppDir()+"月报\"+reportname2;long return02=InfoFile( Filename, 1, \\本站点\$分 );ShowPicture("后台月报");HidePicture("后台月报");//判断月报目录下是否已经有当月的报表文件了if (return02==0){FileName=InfoAppDir()+"报表\月报.rtl";ReportLoad("Roport7",FileName);FileName=InfoAppDir()+"月报\"+ reportname2;Reportsaveas("Roport7",FileName);\\本站点\日计数=0;}//如果当月的月报文件还没有产生则调入月报.rtl文件并按规定格式保存报表文件FileName=InfoAppDir()+"月报\"+StrFromReal( \\本站点\$年, 0, "f" )+StrFromReal(\\本站点\$月, 0, "f" )+".rtl";ReportLoad("Report7",FileName);long hang;hang= $日+5;\\本站点\日计数=\\本站点\日计数+1;string str;long Value;str=ReportGetCellString("Report5", 3, 10);ReportSetCellString("Report7", hang, 1, str);Value=ReportGetCellValue("Report5", 30, 2);ReportSetCellValue("Report7", hang, 2, Value);Value=ReportGetCellValue("Report5", 30, 3);ReportSetCellValue("Report7", hang, 3, Value);Value=ReportGetCellValue("Report5", 30, 4);ReportSetCellValue("Report7", hang, 4, Value);Value=ReportGetCellValue("Report5", 30, 5);ReportSetCellValue("Report7", hang, 5, Value);Value=ReportGetCellValue("Report5", 30, 6);ReportSetCellValue("Report7", hang, 6, Value);Value=ReportGetCellValue("Report5", 30, 7);ReportSetCellValue("Report7", hang, 7, Value);Value=ReportGetCellValue("Report5", 30, 8);ReportSetCellValue("Report7", hang, 8, Value);Value=ReportGetCellValue("Report5", 30, 9);ReportSetCellValue("Report7", hang, 9, Value);Value=ReportGetCellValue("Report5", 30, 10);ReportSetCellValue("Report7", hang, 10, Value);Value=ReportGetCellValue("Report5", 30, 11);ReportSetCellValue("Report7", hang, 11, Value);//将日报表中的统计数据(平均值)输入到月报表中Value=ReportGetCellValue("Report7", 39, 2);Value=Value/\\本站点\日计数;ReportSetCellValue("Report7", 37, 2, Value);Value=ReportGetCellValue("Report7", 39, 3);Value=Value/\\本站点\日计数;ReportSetCellValue("Report7", 37, 3, Value);Value=ReportGetCellValue("Report7", 39, 4);Value=Value/\\本站点\日计数;ReportSetCellValue("Report7", 37, 4, Value);Value=ReportGetCellValue("Report7", 39, 5);Value=Value/\\本站点\日计数;ReportSetCellValue("Report7", 37, 5, Value);Value=ReportGetCellValue("Report7", 39, 6);Value=Value/\\本站点\日计数;ReportSetCellValue("Report7", 37, 6, Value);Value=ReportGetCellValue("Report7", 39, 7);Value=Value/\\本站点\日计数;ReportSetCellValue("Report7", 37, 7, Value);Value=ReportGetCellValue("Report7", 39, 8);Value=Value/\\本站点\日计数;ReportSetCellValue("Report7", 37, 8, Value);Value=ReportGetCellValue("Report7", 39, 9);Value=Value/\\本站点\日计数;ReportSetCellValue("Report7", 37, 9, Value);Value=ReportGetCellValue("Report7", 39, 10);Value=Value/\\本站点\日计数;ReportSetCellValue("Report7", 37, 10, Value);Value=ReportGetCellValue("Report7", 39, 11);Value=Value/\\本站点\日计数;ReportSetCellValue("Report7", 37, 11, Value);//将累计值转换为平均值Reportsaveas("Report7",FileName);ClosePicture("后台月报");}4、年报的生成:年报中需要每月的统计数据,该数据为每月的平均值,如果需要其它的统计数据也可照此方法进行处理。