查询引挚基础.docx
《查询引挚基础.docx》由会员分享,可在线阅读,更多相关《查询引挚基础.docx(25页珍藏版)》请在冰点文库上搜索。
查询引挚基础
查询引挚(基础)
查询引挚是实施顾问必须掌握的工具,我们在实施项目过程中,肯定有一部分客户的报表不能够满足,但这些客户又不可能购买专业的报表工具,所以,需要我们实施顾问通过查询引挚实现客户的报表需求。
查询引挚对实施顾问也有一定要求和具备一定条件,具体如下:
1、具备一般SQL语句的编写能力。
2、精通客户的业务和报表取数逻辑关系。
3、熟悉NC后台表以及表之间关系。
具备以上条件后,应该很快可以熟练编写查询引挚,以下内容是按照我本人思路编写,如果在学习过程中如有问题,请及时沟通。
一、NC数据字典
数据字典:
是UAP平台提供用友全模块后台数据表和字段的平台,便于编写顾问快速了解业务单据之间逻辑关系及编写查询引挚。
路径:
客户化二次开发工具系统管理工具数据字典
二、查询引挚权限分配
查询引挚权限分配:
支持分配到个人或角色。
全部权限:
勾选后,此用户或角色在“查询引挚管理节点”可以编写及浏览自定报表功能。
全部浏览权限和浏览权限:
勾选后,在“查询引挚管理节点”,仅能查看相关报表,但不能编辑。
三、基础档案部分
3.1、存货档案
NC理念之一为集中管理,基础信息管理也是集中管理内容的一部分,存货物资的集中管理是信息化建设的前提。
为了满足不同层面的需求,NC系统存货档案分为存货基本档案(记录存货编码、名称、规格、计量单位等基本信息)、存货管理档案(公司统一管理的相关参数信息)、物料生产档案(记录库存组织或车间管理的相关参数信息),具体详见下图。
注:
NC所有业务单据和基础档案,前台作废、删除是逻辑删除,前台执行删除或作后,当时并未从数据库物理删除,而是把表中的DR标志变为1(删除标识),系统定期清除标志为1的数据。
因此我们编写查询引挚或SQL语句时,一定加上DR=0(有效数据)的过滤条件。
存货基本档案:
Bd_invbasdoc
存货管理档案:
Bd_invmandoc
物料生产档案:
Bd_pruduce
表间关联关系:
select*frombd_invbasdoca,bd_invmandocb,bd_pruducecwherea.pk_invbasdoc=b.pk_invbasdocandb.PK_invbasdoc=c.pk_invbasdocanda.dr=0andb.dr=0andc.dr=0
3.2、客商档案
为了满足不同层面的需求,NC系统客商档案分为客商基本档案(记录客商编码、名称、纳税人登记号、联系人、收货地址等基本信息)、客商管理档案(记录客商所属部门、业务员、库存组织、采购组织等相关管理信息),具体详见下图。
客商基本档案:
bd_cubasdoc
客商管理档案:
bd_cumandoc
表关关联关系:
select*frombd_cubasdoca,bd_cumandocbwherea.pk_cubasdoc=b.pk_cumandocanda.dr=0andb.dr=0
3.3其他基础档案
部门档案:
bd_deptdoc
人员档案:
bd_psndoc
库存组织:
bd_calbody
仓库档案:
bd_stordoc
业务类型:
bd_busitype
收发类别:
bd_rdcl
销售组织:
bd_salestru
采购组织:
bd_purorg
四、NC业务单据与后台数据库表
NC数据库表共分为两块,基础档案表(如:
存货档案、仓库档案、部门档案、人员档案)和业务单据表(如:
销售出库单、销售发票、销售订单)两部分;业务单据数据库表中不存放基础档案的名称、编码等相关信息,都是通过单据模版显示公式取的名称(数据库表中只存储基础档案主建)。
4.1销售模块
4.1.0销售业务单据流程图
4.1.1销售订单
销售主表:
so_sale
销售订单附表:
so_saleorder_b
销售订单执行情况表:
so_saleexecute
表间关联:
select*fromsalea,so_saleorder_bb,so_saleexecutec
wherea.csaleid(主键)=b.csaleidandb.csaleid=c.csaleidanda.dr=0andb.dr=0andc.dr=0
4.1.2销售发票
销售发票主表:
so_saleinvoice
销售发票附表:
so_saleinvoice_b
主子表关联:
Select*fromso_saleinvoicea,so_saleinvoice_bb
where.a.Csaleid=b.csaleidanda.dr=0andb.dr=0
4.2库存模块
4.2.1库存采购入库单
4.2.2库存产成品入库单
4.2.3库存调拨入库单
4.2.4库存调拨出库单
4.2.5库存销售出库单
4.2.6库存材料出库单
4.2.7库存其他出库单
以上库存单据在后台表名相同,是通过单据类型编码cbilltypecode区分单据。
如:
库存采购入库单编码为45库存销售出库单编码为4C
出入库表头:
ic_general_h
出入库表体:
ic_general_b
Select*formic_general_ha,ic_general_bba.cgeneralhid=b.cgeneralhidanda.dr=0andb.dr=0anda.cbilltypecode(单据类型)=45(库存采购入库单)
下图中,红方框内的数据表称为出入库单表体、红方框外上与下两部分称为出入库单表体。
4.3存货核算模块
4.3.1销售成本结转单
4.3.2材料出库单
4.3.3其他出库单
4.3.4采购入库单
4.3.5其他入库单
4.3.6调拨入库单
4.3.7调拨出库单
以上库存单据在后台表名相同,是通过单据类型编码cbilltypecode区分单据。
如:
采购入库单编码为I2销售成本结转单编码为I5
出入库表头:
ia_bill
出入库表体:
ia_bill_b
Select*formia_billa,ia_bill_bba.cbillid=b.cbillidanda.dr=0andb.dr=0anda.cbilltypecode(单据类型)=I2(库存采购入库单)
下图中,红方框内的数据表称为单据子表、红方框外上与下两部分称为单据主表
4.4采购管理模块
4.4.0采购业务单据流程图
4.4.1请购单
下图中的红线标识上方为请购单头(po_praybill)红线标识范围内的为(请购单体)po_praybill_b
请购单头与请购单体关联关系如下:
Select*frompo_praybilla,po_praybill_bbwherea.cpraybillid=b.cpraybillidanda.dr=0andb.dr=0
4.4.2采购订单
下图中的红线标识上方为采购订单头(po_order)红线标识范围内的为采购订单体(po_order_b)
采购订单表头表体关系:
Select*frompo_ordera,po_order_bbwherea.corderid=b.corderidanda.dr=0andb.dr=0
4.4.3采购到货单
下图中的红线标识上方为到货单头(po_arriveorder)红线标识范围内的为到货单体(po_arriveorder_b)
到货单头与到货单体之间关系:
Select*frompo_arriveordera,po_arriveorder_bbwherea.corderid=b.corderidanda.dr=0andb.dr=0
4.4.4采购发票
下图中的红线标识上方为发票头(po_invoice)红线标识范围内的为发票体(po_invoice_b)
发票头与发票体之间关系:
Select*frompo_invoicea,po_invoice_bbwherea.Cinvoiceid=b.Cinvoiceidanda.dr=0andb.dr=0
五、查询引挚学习案例
5.1销售订单汇总表,要求格式如下:
客户名称
销售组织
部门
业务员
存货名称
规格
数量
金额
报表分析:
通过上表要求显示字段分析:
客户名称对应表(bd_cubasdoc)
销售组织名称(bd_salestru)
部门档案名称(bd_deptdoc)
业务员名称(bd_psndoc)
存货名称、规格(bd_invbasdoc)
数量、金额(so_saleorder_b)
销售主表(so_saleorder_b)
通过SQL实现方案如下:
selecta.dapprovedate,
h.custname,
c.vsalestruname,
d.deptname,
e.psnname,
f.invname,
sum(b.nnumber),
sum(b.nsummny)
fromso_salea,
so_saleorder_bb,
bd_salestruc,
bd_deptdocd,
bd_psndoce,
bd_invbasdocf,
bd_cumandocg,
bd_cubasdoch
以上是销售订单汇总表所要使用的后台表名
wherea.csalecorpid=c.csalestruid
anda.cdeptid=d.pk_deptdoc
anda.cemployeeid=e.pk_psndoc
andb.cinvbasdocid=f.pk_invbasdoc
anda.ccustomerid=g.pk_cumandoc
andg.pk_cubasdoc=h.pk_cubasdoc
以上是销售订单汇总使用表之间关系
anda.dr=0
andb.dr=0
andc.dr=0
ande.dr=0
andf.dr=0
andg.dr=0
andh.dr=0
以上条件是查询数据库中的有效数据。
anda.dapprovedate>='2010-05-01'
anda.dapprovedate<='2010-05-31'
anda.pk_corp=(公司PK)
以上条件是查询销售订单汇总表的条件,如:
日期、公司
groupbya.dapprovedate,
h.custname,
c.vsalestruname,
d.deptname,
e.psnname,
f.invname
5.2按照上表,使用查询引挚工具实现如下。
5.2.1报表设计(SQL向导)
通过查询引挚建立数据表之间关系和设置相关固定和浮动条件。
5.2.1增加查询引挚文件夹
5.2.2增加查询引挚对像(临时表)
接上图
接上图
把数据库的表选到SQL向导界面。
下图相当于以下SQL语句
Select*fromso_salea,
so_saleorder_bb,
bd_salestruc,
bd_deptdocd,
bd_psndoce,
bd_invbasdocf,
bd_cumandocg,
bd_cubasdoch
接上图:
把数据库中的表关联到一起,SQL语句如下:
Select*fromso_salea,
so_saleorder_bb,
bd_salestruc,
bd_deptdocd,
bd_psndoce,
bd_invbasdocf,
bd_cumandocg,
bd_cubasdoch
wherea.csalecorpid=c.csalestruid
anda.cdeptid=d.pk_deptdoc
anda.cemployeeid=e.pk_psndoc
andb.cinvbasdocid=f.pk_invbasdoc
anda.ccustomerid=g.pk_cumandoc
andg.pk_cubasdoc=h.pk_cubasdoc
接上图:
增加报表中要显示的字段。
数量:
nvl(so_saleorder_b.nnumber,0),判断如果此字段为空时,取0。
接上图
增加固定筛选条件(固定条件是不可选择)。
Dr=0
拉上图:
增加待定条件(待定条件是指可以选择)
第一步:
增加参数
第二步:
定义待定条件
固定条件和待定条件显示结果
接上图,按字段排序
查询结果如下:
注,以上为报表设计部分,以下为报表格式显示部分
5.2.2报表格式设计与发布模块节点
查询结果如下:
5.2报表注册到模块界面
接上图
刷新报表功能菜单
分配报表权限