/****** Object: StoredProcedure [dbo].[pro_bobang_BOMCost] Script Date: 07/29/2015 16:09:11 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

drop procpro_bobang_BOMCostGO

create PROC [dbo].[pro_bobang_BOMCost]

@FBomNumber1 varchar(50), --bom单号

@FBomNumber2 varchar(50) --bom单号

as

begin

SET ANSI_WARNINGS OFF

set nocount on

--1.--业务员查找某个BOM单,包含所有BOM(已使用,未使用,已审核,未审核)

with cte as(select convert(varchar(100),'') as cen,Finterid,FBOMNumber as fppbomnumber,convert(varchar(50),'') as fpbomnumber,Fbomnumber AS FCbomnumber,fitemid,fitemid as fpitemid,0 as fpinterid,convert(decimal(18,4),1) as FBomQty,convert(varchar(500),RIGHT('000000'+CONVERT(varchar(10),Finterid),6)) as code fromICBOMwhere (1=1)and FBOMNumber >= @FBomNumber1

and FBOMNumber <= case when @FBomNumber2='' then (select MAX(FBOMNumber) from ICBOM) else @FBomNumber2 end

union all

select convert(varchar(100),cen+'------'),a.finterid,c.fppbomnumber,convert(varchar(50),c.FCbomnumber) as fpbomnumber,a.fbomnumber as fcbomnumber,a.fitemid,c.fpitemid,a.fpinterid,convert(decimal(18,4),a.FAuxQty) as FBomQty,convert(varchar(500),c.code+RIGHT('000000'+convert(varchar(10),a.finterid),6)) ascodefrom(select t1.finterid asfpinterid,t2.FInterID,t1.FItemID,t2.FBOMNumber,t1.FAuxQtyfrom ICBOMChild t1 inner join ICBOM t2 on t1.FItemID=t2.FItemIDwhere FParentID=1038

union all

select t1.finterid as fpinterid,0,t1.fitemid,'',t1.FAuxQty from ICBOMChild t1 where not exists (select * from ICBOM where FItemID=t1.FItemID)) ainner join cte c on a.fpinterid=c.FInterID

)select cen,finterid,fppbomnumber,fpbomnumber,fcbomnumber,fitemid,fpitemid,fpinterid,FBomQty,code into #tmp1 from cte order bycodeOPTION (MAXRECURSION 0)--2.--取采购价格管理物料最新日期的价格(已审核,可使用)

SELECT distinct u1.FSupID,u1.FItemID,case when u1.fcyid=1 then u1.FPrice*t3.FExchangeRate/(1+v1.FValueAddRate/100) else u1.FPrice*t3.FExchangeRate end asFPrice,

t3.FNameASFCyName,u1.FQuoteTime,u1.FDisableDateinto #tmp2 FROMt_SupplyEntry u1INNER JOIN t_ICItem t1 ON u1.FItemID=t1.FItemIDINNER JOIN t_Supply u2 ON u1.FSupID=u2.FSupID AND u1.FItemID=u2.FItemID AND u1.FPType=u2.FPTypeINNER JOIN t_Currency t3 ON t3.FCurrencyID=u1.FCyIDINNER JOIN t_Currency u3 ON u3.FCurrencyID=u2.FCurrencyIDINNER JOIN t_Supplier v1 ON u1.FSupID=v1.FItemIDinner join(select MAX(fquotetime) as fquotetime,FItemID from t_SupplyEntry where FCheckerID>0 group byFItemID

) bbon bb.FItemID=u1.FItemID and bb.fquotetime=u1.FQuoteTimeWHERE t1.FErpClsID not in (6,8) and u1.FCheckerID>0 and u1.FUsed=1

--3.--列出BOM明细成本,取采购价格的最新价格

select t1.cen+t1.code asFTree,t1.cen,t1.code,t1.fppbomnumber,t1.fpbomnumber,t1.fcbomnumber,t1.FItemID,t1.FBomQty,

t2.FSupID,t2.FPriceas FAuxPrice,t1.FBomQty*t2.FPrice as FAmount,case when FCbomnumber<>'' then t1.FBomQty*t2.FPrice end asFJGAmountinto #tmp3 from#tmp1 t1left join #tmp2 t2 on t1.FItemID=t2.FItemIDleft join t_ICItem t3 on t1.FItemID=t3.FItemIDorder byt1.code,t3.FNumber--4.--循环计算中间件成本---这部分部署会出错,先注释,部署成功,再解除注释更新存储过程

declare @cb decimal(18,4),@fbom varchar(50),@fppbom varchar(50)declare auth_cur cursor for

select fppbomnumber,fcbomnumber from #tmp3 where FAuxPrice is null and fcbomnumber<>'' and cen<>'' order by cen desc

openauth_curfetch next from auth_cur into @fppbom,@fbom

while(@@fetch_status=0)begin

set @cb=0

select @cb=isnull(SUM(FAmount),0) from #tmp3 where fpbomnumber=@fbom and fppbomnumber=@fppbom

UPDATE #tmp3 set FAmount=isnull(FAmount,0)+@cb,FAuxPrice=isnull(FAuxPrice,0)+@cb/FBomQty where FCbomnumber=@fbom and fppbomnumber=@fppbom

fetch next from auth_cur into @fppbom,@fbom

end

closeauth_curdeallocateauth_cur----这部分部署会出错,先注释,部署成功,再解除注释更新存储过程

--5.--循环计算成品件成本---这部分部署会出错,先注释,部署成功,再解除注释更新存储过程

declare @cb1 decimal(18,4),@fbom1 varchar(50),@fppbom1 varchar(50)declare auth_cur cursor for

select fppbomnumber,fcbomnumber from #tmp3 where fcbomnumber<>'' and cen='' order by cen desc

openauth_curfetch next from auth_cur into @fppbom1,@fbom1

while(@@fetch_status=0)begin

set @cb1=0

select @cb1=isnull(SUM(FAmount),0) from #tmp3 where fpbomnumber=@fbom1 and fppbomnumber=@fppbom1

UPDATE #tmp3 set FAmount=isnull(FAmount,0)+@cb1,FAuxPrice=isnull(FAmount,0)+@cb1/FBomQty where FCbomnumber=@fbom1 and fppbomnumber=@fppbom1

fetch next from auth_cur into @fppbom1,@fbom1

end

closeauth_curdeallocateauth_cur----这部分部署会出错,先注释,部署成功,再解除注释更新存储过程

select t1.FTree,case when t1.fpbomnumber='' then t1.FCbomnumber end as fpbomnumber,t2.FNumber,t2.FName,t2.FModel,t3.FName as FUnitName,t1.FBomQty,t1.FAuxPrice,t1.FAmount,t1.FJGAmount,t4.FName as FSupName from#tmp3 t1inner join t_ICItem t2 on t2.FItemID=t1.FItemIDinner join t_MeasureUnit t3 on t2.FUnitID=t3.FItemIDleft join t_Supplier t4 on t1.FSupID=t4.FItemIDorder byt1.codedrop table#tmp1drop table#tmp2drop table#tmp3set nocount off

end

--exec pro_bobang_BOMCost 'BOM000032','BOM000032'--exec pro_bobang_BOMCost '*FBomNumber*','#FBomNumber#'

多层bom展开_金蝶K3 WISE BOM多级展开_BOM成本表相关推荐

  1. 金蝶K3 WISE BOM多级展开_BOM成本表

    /****** Object: StoredProcedure [dbo].[pro_bobang_BOMCost] Script Date: 07/29/2015 16:09:11 ******/ ...

  2. 金蝶K3 BOM 如何设置,金蝶K3 的BOM在哪里设置

    BOM即物料生产清单,也叫产品结构或配方,指物料(通常是完成品或半成品.部品)的组成情况--该物料由哪些下级物料组成,每一下级物料的用量是多少,其对应的属性等.进入K/3系统,单击[计划管理]→[生产 ...

  3. 金蝶k3单据编码规则_金蝶K3 Wise 用SQL生成单号(单据编号)及单据内码(单据ID)

    一生成各种单据的编号 详细实现过程参见存储过程p_BM_GetBillNo ICBillNo表存放所有单据的编码信息,其中FBillID用于p_BM_GetBillNo的第一个参数 以采购申请单为例, ...

  4. 金蝶k3单据编码规则_金蝶K3 Wise 用SQL生成单号(单据编号)及单据内码(单据ID) -...

    一生成各种单据的编号 详细实现过程参见存储过程p_BM_GetBillNo ICBillNo表存放所有单据的编码信息,其中FBillID用于p_BM_GetBillNo的第一个参数 以采购申请单为例, ...

  5. 金蝶K3 WISE 视频教程-金速鹏-专题视频课程

    金蝶K3 WISE 视频教程-409人已学习 课程介绍         系统基础:系统安装.部署,账套.用户及权限,金蝶企业云平台,基础资料.系统设置.初始化.k3BOS初步. 供应链:采购.仓储.销 ...

  6. 关于金蝶k3 wise供应生门户登陆界面屏蔽业务账套多余功能模块设置方法

    关于金蝶k3 wise供应生门户登陆界面屏蔽业务账套多余功能模块设置方法 1. 找到以下路径 ...\Kingdee\K3ERP\KDHR\SITEFILE\WEBUI\ 找到"Login. ...

  7. 金蝶K3 WISE 15.1金蝶K3 15.1金蝶K3 V15.1 金蝶K3 WISE 15.0金蝶K3 15.0金蝶K3 V15.0 14.3/14.2/14.1/14.0/13.1/13.0 12

    金蝶K3 WISE 15.1金蝶K3 15.1金蝶K3 V15.1 金蝶K3 WISE 15.0金蝶K3 15.0金蝶K3 V15.0 14.3/14.2/14.1/14.0/13.1/13.0 12 ...

  8. 玩转金蝶K3 WISE API接口

    目录 VB版测试 Delphi版测试 C#版测试 Java版(手机客户端)测试 基于API的服务程序 开发自己的API接口 金蝶K3 WISE 从14.3版本开始提供API接口,实现企业上下游(供应商 ...

  9. 金蝶K3 WISE 15版本用户手册

    金蝶K3 WISE 15版本用户手册 网盘 提取码:fsoh

最新文章

  1. 论文笔记:Unsteady Multi-Element Time Series Analysis and Prediction Based on Spatial-Temporal Attention
  2. bat产品经理能力模型_产品经理如何构建自己的产品能力模型?
  3. TeamViewer密码存储
  4. CSS实现三列图片等宽等间距布局
  5. 在下拉菜单中,传递的value参数为 id时,如何拿到其 label值?
  6. oracle rac 通信端口,浅析Oracle 10g rac更改listener端口
  7. eclipse maven打包_我的Java Web之路47 - 使用Maven改造租房网工程
  8. Java学习的准备工作
  9. 我爱免费之FreeFileSync文件夹同步软件
  10. matlab画图数据分析,Matlab绘图教程(大量经典实例)解析.ppt
  11. JAVA王思聪吃热狗程序_易语言制作王校长吃热狗游戏的源码
  12. 用 HBuilder X 编辑 Markdown 文档,如何自定义表格列宽
  13. 玩客云添加到我的计算机,电脑连接玩客云访问玩客云硬盘空间传输文件方法
  14. kafka 使用及学习过程中的爬坑记录
  15. [机器学习] 训练过程中的train,val,test的区别
  16. python爬虫实操|爬取nba中国官网球员数据
  17. Unity AssetBundle学习笔记
  18. 案例学习-万事达卡全球业务服务中心(GBSC)
  19. [MySQL光速入门]003 留点作业...
  20. jmeter - perfMon性能监控

热门文章

  1. 电子合同的实现 合同套打
  2. uniapp小程序中使用base64格式的字体图标iconfont的详细步骤
  3. Python爬虫合集:花6k学习爬虫,终于知道爬虫能干嘛了
  4. 助德清打造新AI 应用县,京东AI系列创新产品亮相地信会!
  5. C++实现声音文件的播放(OpenAL、Fmod、BASS、SFML)
  6. 【ACM- OJ】《九折?》C++
  7. 升级 ThinkPad T61 BIOS 版本
  8. 小乌龟git如何同步远程分支_GitLab结合Git小乌龟实现不同代码分支合并
  9. 根据文字信息,生成电子凭证(图片)
  10. office的分页设置和共多少页设置