========================

目录:

1、直接SQL报表

========================

1、直接SQL报表

以BOM成本报表为例,在销售模块部署,需要购买【金蝶 K3 BOS集成开发工具】使用许可

I、本报表采用存储过程的形式编写,需要在数据库执行存储过程。

/****** Object:  StoredProcedure [dbo].[pro_bobang_BOMCost]    Script Date: 07/29/2015 16:09:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
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  from ICBOM where (1=1)and FBOMNumber >= @FBomNumber1and FBOMNumber <= case when @FBomNumber2='' then (select MAX(FBOMNumber) from ICBOM) else @FBomNumber2 endunion allselect 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)) as codefrom ( select t1.finterid as fpinterid,t2.FInterID,t1.FItemID,t2.FBOMNumber,t1.FAuxQty from  ICBOMChild t1 inner join ICBOM t2 on t1.FItemID=t2.FItemIDwhere FParentID=1038union all select t1.finterid as fpinterid,0,t1.fitemid,'',t1.FAuxQty from ICBOMChild t1 where not exists (select * from ICBOM where FItemID=t1.FItemID)) a inner join cte c on a.fpinterid=c.FInterID)select  cen,finterid,fppbomnumber,fpbomnumber,fcbomnumber,fitemid,fpitemid,fpinterid,FBomQty,code into #tmp1 from cte order by codeOPTION (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 as FPrice,
t3.FName AS FCyName,u1.FQuoteTime,u1.FDisableDate
into #tmp2 FROM t_SupplyEntry  u1 INNER 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 by FItemID) bb on 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 as FTree,t1.cen,t1.code,t1.fppbomnumber,t1.fpbomnumber,t1.fcbomnumber,t1.FItemID,t1.FBomQty,
t2.FSupID,t2.FPrice as FAuxPrice,t1.FBomQty*t2.FPrice as FAmount,case when FCbomnumber<>'' then t1.FBomQty*t2.FPrice end as FJGAmount
into #tmp3 from #tmp1 t1
left join #tmp2 t2 on t1.FItemID=t2.FItemID
left join t_ICItem t3 on t1.FItemID=t3.FItemID
order by t1.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
open auth_cur
fetch next from auth_cur into @fppbom,@fbom
while(@@fetch_status=0)
beginset @cb=0select @cb=isnull(SUM(FAmount),0) from #tmp3 where fpbomnumber=@fbom and fppbomnumber=@fppbomUPDATE #tmp3 set FAmount=isnull(FAmount,0)+@cb,FAuxPrice=isnull(FAuxPrice,0)+@cb/FBomQty where FCbomnumber=@fbom and fppbomnumber=@fppbomfetch next from auth_cur into @fppbom,@fbom
end
close auth_cur
deallocate auth_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
open auth_cur
fetch next from auth_cur into @fppbom1,@fbom1
while(@@fetch_status=0)
beginset @cb1=0select @cb1=isnull(SUM(FAmount),0) from #tmp3 where fpbomnumber=@fbom1 and fppbomnumber=@fppbom1UPDATE #tmp3 set FAmount=isnull(FAmount,0)+@cb1,FAuxPrice=isnull(FAmount,0)+@cb1/FBomQty where FCbomnumber=@fbom1 and fppbomnumber=@fppbom1fetch next from auth_cur into @fppbom1,@fbom1
end
close auth_cur
deallocate auth_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 t1
inner join t_ICItem t2 on t2.FItemID=t1.FItemID
inner join t_MeasureUnit t3 on t2.FUnitID=t3.FItemID
left join t_Supplier t4 on t1.FSupID=t4.FItemID
order by t1.codedrop table #tmp1
drop table #tmp2
drop table #tmp3
set nocount offend --exec pro_bobang_BOMCost 'BOM000001','BOM000001'
--exec pro_bobang_BOMCost '*FBomNumber*','#FBomNumber#'

II、打开【金蝶K3 BOS集成开发工具】- - 【销售管理】- - 【直接SQL报表】,新建直接SQL报表。

III、打开报表向导。

IV、点击关键字维护,添加过滤条件关键字*FBomNumber*、#FBomNumber#。,并输入生成报表的SQL语句

V、报表标题默认显示,和字段名称一样,是英文名称,修改报表标题为中文名称显示。

技巧性:在存储过程最后显示结果集,可以直接给字段加上中文别名,这样此处就不需要再去修改报表标题。

转载于:https://www.cnblogs.com/zhugq02/p/11236652.html

五、K3 WISE 开发插件《直接SQL报表开发新手指导 - BOM成本报表》相关推荐

  1. mysql创建bom表_五、K3 WISE 开发插件《直接SQL报表开发新手指导 - BOM成本报表》...

    ======================== 目录: 1.直接SQL报表 ======================== 1.直接SQL报表 以BOM成本报表为例,在销售模块部署,需要购买[金蝶 ...

  2. eclipse java开发插件_10大Java开发必备的Eclipse插件

    原标题:10大Java开发必备的Eclipse插件 今天小编来给大家介绍10个Java开发人员必备的Eclipse 插件,它们有各自的优势,你可以从中选择适合你的那款. 1. EGit EGit是 J ...

  3. uniapp插件开发:uniapp使用uni_modules开发插件、发布插件,直接导入,一键升级

    目录 背景 开发前提条件 插件开发步骤 参考 更多 背景 uni_modules是uni-app的插件模块化规范(HBuilderX 3.1.0+支持),通常是对一组js sdk.组件.页面.uniC ...

  4. java做图插件_java报表开发插件制作双轴图

    工具/原料 java报表开发插件:FineReport 大小:148.2M 适用平台:windows/linux 问题描述 多种图表类型,可在一张图表混合显示.如图表中既存在柱形图,又有折线图或面积图 ...

  5. 三、K3 Cloud 开发插件《K3 Cloud插件开发新手指导 + K3 Cloud插件开发代码调试》

    案例需求:在销售订单上新增一个按钮,在订单明细中新增一个字段,命名[即时库存]. 点击按钮,弹出"Hello World!",并获取订单明细物料的即时库存,填入字段[即时库存]. ...

  6. 定位插件_微创新 | 开发PL/SQL插件,快速定位所需字段

    点击上方蓝字?加入我们吧!成果ID:96749项目简介 PL/SQL Developer是公司数据支撑人员常年使用的数据库操作软件,提供了众多便利的功能.但同时还有一些地方可以优化,使其更适合我们的使 ...

  7. 涅槃?高效报表开发人员的五件武器

    五件武器 wujianwuqi 做数据的人,如果没做过报表,数据生涯是不完整的,但如果仅仅做报表,不经常思考进而革命,就会陷入骡子般的生活,每天转啊转,很辛苦,但很难获得认可,如果你是公司内一名报表开 ...

  8. 个人用户永久免费,可自动升级版Excel插件,使用VSTO开发,Excel催化剂功能第13波-一键生成带图片自由报表...

    在Excel的世界中,因着Excel的灵活性,觉得广大用户喜欢(一般的系统都是中规中矩,用户没法对它进行半点改变),例如可以用来做简历模板.员工信息标签.员工工资条.任意的多行多列合并单元格形成自己最 ...

  9. 视频教程-Echarts+Asp.Net+Sql Server报表开发视频教程-.NET

    Echarts+Asp.Net+Sql Server报表开发视频教程 8年一线开发经验,2年培训经验.擅长asp.net C# java 安卓 nodejs h5 css3 js 串口通讯等技术.录制 ...

最新文章

  1. 同步控制 之“重入锁”
  2. Python3网络爬虫(四): 登录
  3. 关于禁止程序重复启动的另一种需要与实现《转》
  4. 计算机网申兴趣爱好怎么写,银行网申个人特长和兴趣爱好怎么写
  5. “云计算的前世今生·从阿里看云计算”内蒙古师范大学刘晨旭博士专题报告会顺利召开...
  6. Linux sudoers文件的写法
  7. ZooKeeper 典型的应用场景
  8. Element - Vue UI Framework
  9. MongoDB增加用户认证: 增加用户、删除用户、修改用户密码、读写权限、只读权限
  10. 如何用好消息推送(push)做APP运营
  11. arm指令集_重磅!Arm宣布:指令集,客户可自定义
  12. django模板的使用方法
  13. 多线程下的资源同步访问
  14. 实习成长之路:MySQL六:行锁的功与过:怎么减少行锁对性能的影响?
  15. 精灵3P+Pix4D简单航测详细应用教程
  16. 每月一书(202101):《财富自由之路》-李笑来
  17. 睡眠伤害计算机硬件吗,电脑高手告诉您,电脑不关机只睡眠到底伤不伤硬盘?...
  18. vue基础-过滤器(Filters)
  19. IM开发快速入门(一):什么是IM系统?
  20. web3再牛 也没能逃出这几个老巨头的手掌心

热门文章

  1. Web 基础研发体系的建立
  2. 如何让电脑恢复出厂设置
  3. 编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。...
  4. 如何用appnode程序导入WP模板阁带数据的模板
  5. U盘中了蠕虫病毒后清除蠕虫并恢复文件的方法
  6. hardhat开发dapp初始化操作
  7. 【Codeforces】Codeforces Global Round 18
  8. 剖析强化学习 - 第八部分
  9. 转:S3C2440上LCD驱动(FrameBuffer)实例开发详解
  10. 心态-《了不起的我》书中的精髓:爱和期待促使我们改变,不同关系会塑造出不同的自我。