转帖:用友 UAP的简单报表制作(U871)

时间:2024-03-17 20:03:51

 

原帖地址:https://www.oyonyou.com/thread-90999-1-1.html

原帖作者:wjhawxr123

 


一、前提

   1.1、要学会用UAP制作一些简单的报表,SQL语句是必须会的条件之一,当然不要求你要多精通,基本的一些语句组合还是需要会一些
   1.2、运用的最多的是“select * from [表名] where [条件指定]”
                     “select * from [表名] left/right/inner/cross join [表名] on [条件]”
                     “case when [条件] then [结果] end”
                     “存储过程”
                     “com口接口”
   1.3、用SQL语句写报表,并不是盲目的写,一定要顾全一个运行效率问题,简化语句,最快时间得出要的结果集。举个例子,在几个百万行数据的表中做关联,用“where”指定条件绝对没有用“left join on”执行结果来的快;能用5行代码写出的结果,就绝不用10行代码来执行。
   1.4、以上是我在企业做系统维护所应用到的环境,也可能不是很全,但万变不离其宗。掌握好SQL语句,已经能满足大部分报表的制作要求。事实在,我认为ERP最大的功能,就在于各种各样灵活的报表。
   1.5、本人第一次发如此长的贴,排版手法很不熟练,各位将就点看
   1.6、虽然写的很简略,但贵在免费,比起动辄需要几金币下载的来说,可谓给新手提供一下便利。
   1.7、期待与各位共同研究,共同提高。

二、过程
   2.1、首先打开UAP【图一】


     【图一】

   2.2、出现UAP界面
         2.2.1、如何新建项目,这里不多做阐述,相信以各位的才智,此等简单操作一看就会
         2.2.2、新建报表【图二】


     【图二】

         2.2.3、出现新建数据源界面【图三】,如果用SQL语句或者存储过程写报表,选择“SQL脚本查询”,“数据源名称”和“数据源描述”一般写报表名称,保持一致也可以,不一致也可以。

     【图三】

        2.2.4、点击【图三】中的下一步【图四】


     【图四】

                 2.2.4.1、如果是用select语句写报表,类型中选择“SQL脚本” 【图5、红框处】
                 2.2.4.2、如果是用存储过程写报表,类型中选择“存储过程”  【图5、红框处】
                 2.2.4.3、SQL语句写报表以及存储过程写报表,下文会分开详细说明


     【图五】

   2.3、用SQL语句写报表
        2.3.1、先在【查询分析器】(注:查询分析器:不作解释,不知道的人请自觉学习SQL)中测试语句的完整性,是否能正确执行出结果【图六】

  1. select a.cinvcode as \'存货编码\',b.cinvname as \'存货名称\',a.cbatch as \'批次\',a.iquantity as \'现存量\'
  2. from CurrentStock a left join inventory b on a.cinvcode = b.cinvcode where a.cwhcode = \'0101\'
复制代码





    【图六】

        2.3.2、在查询分析器中能够正确执行出结果集,证明语句没有问题,复制进UAP编辑框中【图七】【图八】


    【图七】

    【图八】

        2.3.3、复制语句时需要注意:select 语句归select框内,where语句归where框内,以此类推【图九】


     【图九】

        2.3.4、复制语句完毕,点击“检验”按钮,检验语句的完整性【图十】
             2.3.4.1、返回的结果集如果记录行数不多,会很快跳出“检验完毕”的对话框【图十】
             2.3.4.2、返回的结果集如果记录行数很多,检验过程较为漫长,有可能因为超时而跳出报错提示框,这个时候,可以设置在select 后面加上 top 100,减少返回的结果集,让系统快速通过验证过程


     【图十】

           2.3.5、检验通过之后,进入“查询结果列”,刷新报表列【图十一】


   【图十一】

        2.3.6、填写列名,填写完毕,点击“完成”按钮【图十二】


   【图十二】

        2.3.7、在跳出的对话框中,填写“报表名称”,“视图名称”,选择视图类型,这里我们选择“表格报表”,“*报表”、“交叉报表”使用频繁度不是很高,应用性不是很强,这里不作要求,本文指在说明简单报表的制作,“*报表”和“交叉报表”留待熟练后自行运用。填写完毕,点击“确定”按钮。【图十三】


   【图十三】

        2.3.8、进入报表编辑界面,点击“报表向导”按钮【图十四】


   【图十四】

        2.3.9、在跳出的“电子表格报表定义”界面填写“报表标题名称”,填写完毕,点击“下一步”按钮。【图十五】


    【图十五】

           2.3.10、报表明细项,选择要显示的列,在选择框中打上即可,默认是全部打上,数值列字段默认是汇总求和,可以选择,确定无误,点击“下一步”按钮。【图十六】


   【图十六】

        2.3.11、报表雏形已经形成,现在所要做的,就是一些微小的调整。【图十七】


   【图十七】

              2.3.11.1、调整报表标题的字体、大小【图十八】
                  点击“标题名称”,在属性界面找到“字体”,点击进入,调整字体,大小等【图十八】


   【图十八】

              2.3.11.2、调整明细列的顺序【图十九】
                  鼠标点击一直拖曳、排列,直到符合自己满意的顺序即可【图十九】


   【图十九】

              2.3.12、调整结果如图,是不是比刚刚的漂亮多了。【图二十】


   【图二十】

              2.3.13、报表格式已经确定,接下来就是要添加过滤条件了。此报表教为简单,3个文本列,1个数值列,可以将3个文本列都作为过滤条件。
                      选择标准条件。【图二十一】


   【图二十一】

              2.3.14、添加存货编码过滤条件
                    2.3.14.1、新增一个过滤条件
                    2.3.14.2、“中文简体名称”和“标题”保持一致,这里填写“存货编码”【图二十二】


   【图二十二】
                    2.3.14.3、“编辑类型”选择“参照”,参照ID选择存货档案表【图二十三】


   【图二十三】

                    2.3.14.4、“比较符”选择“等于”即可,“小数位数”、“分组”不作要求,“数据源”处填写存货编码的字段名: a.cinvcode 【图二十四】
                    2.3.14.5、“是否常用条件”打上钩【图二十四】
                    

   【图二十四】
                    2.3.14.6、“式样”选择“弹出式”,点击“确定”按钮即可完成存货编码过滤条件的设定【图二十五】


   【图二十五】
                    2.3.14.7、“存货名称”过滤条件也可如此设定。
                    2.3.14.8、过滤条件设定完之后,在过滤设计器中会显示出设定了几个过滤条件【图二十六】


   【图二十六】

             2.3.15、接下来就是发布做好的报表,在发布报表前,要注意
                    2.3.15.1、保存之前的操作
                    2.3.15.2、关闭报表的制作界面(发布报表时,不允许报表处于编辑界面)

             2.3.16、点击“发布”按钮【图二十七】
                    2.3.16.1、在跳出的对话框中,选择类状态为“未发布”的,且名称是需发布报表的名称的报表
                    2.3.16.2、在选择列中打上钩
                    2.3.16.3、点击“发布”按钮即可发布报表
                    2.3.16.4、发布成功后,此报表会从“业务对象发布”列表中消失。


    【图二十七】

             2.3.17、验证报表的可使用性
                   2.3.17.1、进入U871,选择对应的帐套
                   2.3.17.2、打开“我的报表”
                   2.3.17.3、进入“库存管理”,果然看见了“库存查询报表”【图二十八】


    【图二十八】

                   2.3.17.4、双击“库存查询报表”,跳出过滤界面框,显示的就是之前设定的过滤条件。
                   2.3.17.5、选择一个存货编码【图二十九】


   【图二十九】

                   2.3.17.6、点击“过滤”按钮,很快便显示该存货的库存情况【图三十】


    【图三十】

             2.3.18、至此,一张简单的报表就做完了
                    2.3.18.1、因为我使用的是demo用户,系统不校验权限,当时发布,当时就能看到。
                    2.3.18.2、其他用户如果需要查看,需进入“系统管理”分配相应的权限。

             2.3.19、用存储过程写报表的制作过程稍显复杂,可能因为U871的UAP平台不是很成熟的原因,存储过程的在【查询分析器】中明明能通过,但是在UAP中就通不过,经常需要转换参数的格式。这几天就不写了,待以后有空,会完善此贴。