2024年1月20日发(作者:)
UAP报表制作
公司在实施完ERP软件后,有一些报表与实际使用中很不贴切,因此特地学习了一下UAP报表,有一些心得与大家分享。
感觉UAP使用起来不是很难,比起OFFICE中的EXL还要简单些,但是有一个前提条件,你必须懂得SQL数据库操作,不需要懂得太多,掌握几个基本语句就行了,例如:select、where、join…on、left join on、和一些函数(SUM、CASE)。至于U8中的表如何熟悉,可以借助于《U8数据字典》,网上到处都是。
下面说说这几个常用的语句语法:
SELECT (译:查询)
基本语法:SELECT * FROM Inventory
解释:查询数据库中存货档案表(Inventory)中所有字段。(字段可以暂时理解为列名称。)SELECT 是语句,“*”号是通配符,在这里代表表中所有列名称。FROM是关键字,Inventory是表名。注意:只要是有SELECT语句出现,后面必须有关键字FROM,而关键字FROM后面一定要给出被查询的表名。下面是刚才查询得来的结果。
有些时候我们查询得到的结果并不很是很精确,例如:我只是想查询存货档案中一个编码为“3010100002”的存货,没必要花太多时间来手工搜索。可以用如下语句来精确查询:
Select * from inventory where cinvcode='3010100002'
这里用到了where 关键字,其功能是用来附加查询条件的。上面那个查询中的附加条件就是cinvcode='3010100002'。
有时我们只想查看我们感兴趣的列,那又当如何做呢?如:我们只想查看存货表中的这几个字段:存货编码、存货名称、型号规格、存货属性、建档人。
可以写如下语句:
select cinvcode,cinvname,cinvstd,csrpolicy,ccreateperson from inventory
--注意字段名与字段名之间的逗号是半角的。
上面的例子在同一个语句中查询了很多个列,中间用逗号作为间隔,有时查询的列太多,为了不混淆,可以为每个字段指定一个别名,上面的语句可以如下写法:
select cinvcode 存货编码,cinvname 存货名称,cinvstd 规格型号,csrpolicy存货属性,ccreateperson 建档人 from inventory
字段与别名之间一定要有空格,或加入“AS”关键字,在上例中我们省略了AS关键字。
SELECT CINVCODE AS 编码 FROM INVENTORY
其实关于SELECT的用法与语法还有很多,就不例举了。可以参考一下MSDN。
有了SQL查询语句的基础知识,我们就可以来开发一些简单的报表了。下面以查询销售订单子表与主表为例,制作一张查询销售订单的报表。为什么要用两张表,因为我们所需要的数据例可能不在一张表中。
首先利用872数据字典找到销售订单子表与主表:子表名称:SO_SODetails,主表:SO_SOMain,我们需要的列名为:客户、销售订单号、行号、存货编码、存货名称、规格型号、订单数量、预完工日期、预发货日期、制单人、状态、备注。可以写下面的语句来查询我们需要的列:
select
me 客户,
SO_e 销售订单,
SO_ 行号,
de 存货编码,
me 存货名称,
cinvstd 规格型号,
SO_ity 订单数量,
SO_DateBT 预完工日期,
dPreDateBT 预发货日期,
cMaker 制单人,
iStatus 状态,
SO_ 备注
from so_somain
join so_sodetails on so_e=so_e
join customer on so_de=de
join inventory on so_de=de
这个查询中我们用到了四张表,销售订单主表SO_SOMain、子表SO_SODetails,存货表Inventory、客户档案Customer。我们是如何将四张表中有用数据列提取出来的呢?这得归功于查询子句select和联合子句,join的联结方法有很多,参见MSDN。这里不再多述,我们的本意是要学习UAP,数据库方面的知识自己有空多练练就得。
有了准确无误的查询语句,我们就着手制作UAP报表了,打开UAP,登录到需要制作报表的账套。
在上面的界面中我们点击文件菜单中的新建,打开下面的操作界面
在以上界面中我们点击新建项目中的销售管理,在名称与编号中输入具体信息,自定义输入。点击确定按钮。
这时右侧的项目资源管理器中列出了我们新建报表的项目属性,依次单击节点,在报表节点
上单击右键,点选新建报表子菜单。如下图。
打开定义数据源向导界面:
这里数据源我们选择“SQL脚本查询”,数据源名称为所查询的表名或自定义输入。点击下一步。
在报表数据向导的select脚本标签中,我们把刚才写好并检测无误的查询语句粘贴进来,点击检验按钮,如无误,则弹出检验完毕。点击确定按钮。(注:如查询语句中有where脚本、GroupBy脚本必须将其对应的放入,否则报错。)
接下来单击查询结果列标签,打开如下界面
单击刷新按钮后我们得到所需要的列标题,其后两个标签可以在后面完善。这里先不理会。单击完成按钮。
在表命名框中输入名称,点击确定按钮。
转到报表格式设置页面:
在这里输入表名称
在这里单击右键,点选定义查询条件。
单击这个表体标签按住将其拖放到期望的位置。
以上是格式设置界面,在这里所做的调整将在自定义报表中展现出设置后的效果。格式可以不断的修改直至完善。
在上图界面中右键单击销售订单查询表,弹出的快捷菜单中点选查询条件,选择标准条件。
打开定义查询条件对话窗口。
点击新增按钮,弹出过滤条件定制对话框。下面以定义查询销售订单号为例,来说明如何操
作。
这里只需要操作“基本”标签项,在名称中输入字段名,提醒一下,因为我们用到了多张表,为了避免查询时出错,所以在字段名前加了表名,并用“.”隔开,如:SO_e,
标题自定义输入,编辑类型这里我们选择了参照,里面还有很多类型,需要何种类型可以根据切实情况定义,既然选择了参照,参照ID项必须指定具体参照项目名称。
在搜索框中输入销售订单,点击搜索,找到具体参照表后点确定。
比较符根据实际情况定义、数据源与名称一致即可。其它项自由选择。完成定义条件后点击确定。
这样我们就定义了一个查询条件。关闭过滤设计器窗口。
单击保存按钮保存所有的操作设置。这样基本上一张报表就完成了,但是要让特定的人员使用还要将其“发布”并做“权限”设置。
单击关闭,因为发布报表当前表不能在编辑状态。
打开“工具”菜单中的发布窗口,选中要发布的报表,单击发布按钮。这样就成功的发布了一张报表。
在系统管理中设置需要使用的人员权限。
这个操作需要管理员才能完成。
到这里真正完成了一张表的制作。看一下最终结果,在用友U872界面的视图菜单点选我的报表,打开自定义报表界面。
其中内容被挖空了,商业机密,哈哈。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1705742361a1420292.html
评论列表(0条)