参照MRP计划生成采购订单时,自动带出的供应商、采购员取自哪里?用友软件股份有限公司姓名:牛春艳2010年12月18日问题描述总结分析过程问题:版本890SP1。客户咨询:参照MRP计划生成采购订单时,软件自动带出的供应商与存货档案中主要供货单位一致;但是自动带出的采购员却不是存货档案中的采购员,客户咨询二者具体如何取值,取自哪里?问题描述问题再现与自动带出不一致第一个想法:会不会跟供应商存货对照表有关系?分析过程:供应商存货对照表查看供应商存货对照表,没有任何内容,那么倒底与哪儿有关系?分析过程:SQL跟踪通过分析语句,发现参照MRP计划时,参照的数据主要是从CopyMrpList视图中取数。通过研究该视图,供应商的取值语句如下:selectvendor.cvennameascvenname,vendor.cvenabbnameascvenabbnamefromdbo.v_mps_netdemand,关联的表是:leftjoindbo.vendorondbo.inventory.cvencode=dbo.vendor.cvencode。从以上语句可以看出:参照MRP计划生成采购订单界面中,存货带出的供应商取自存货档案中的CVencode(供应商编码),即主要供货单位。分析过程下面分析采购员的取值语句:(casewhenisnull(person3.cpersoncode,'')<>''thenperson3.cpersoncodeelse(casewhenisnull(person4.cpersoncode,'')<>''thenperson4.cpersoncodeelseperson2.cpersoncodeend)end)ascpurpersoncode,(casewhenisnull(person3.cpersoncode,'')<>''thenperson3.cpersonnameelse(casewhenisnull(person4.cpersoncode,'')<>''thenperson4.cpersonnameelseperson2.cpersonnameend)end)ascpurpersonname,关联的分别表是:1、leftjoinpersonperson3onperson3.cpersoncode=v_venandinv.cpersoncode2、leftjoinpersonperson4onvendor.cVenPPerson=person4.cpersoncode3、leftjoindbo.personperson2onperson2.cpersoncode=dbo.inventory.cpurpersoncode分析过程从上页的SQL语句中可以看出:参照MRP计划生成采购订单的生单界面中,采购员的取值顺序分别是:供应商存货对照表(venandinv.cpersoncode)的采购员,然后是供应商档案(vendor.cvenpperson)的专管业务员编码,最后才是存货档案(inventory.cpurpersoncode)的采购员。分析过程本案例问题中,已经排除供应商存货对照表,那么检查一下供应商档案:验证结果供应商已经设置专管业务员,因此自动自动带出该业务员采购订单拷贝MRP计划界面中,供应商默认取自存货档案:主要供货单位;采购员默认取值有三处来源,按先后次序分别是:供应商存货对照表的采购员、供应商档案的专管业务员、存货档案的采购员。总结