友商KISBOS报表开发(专业版).ppt

上传人:yyf 文档编号:5025739 上传时间:2020-01-29 格式:PPT 页数:34 大小:3.64MB
返回 下载 相关 举报
友商KISBOS报表开发(专业版).ppt_第1页
第1页 / 共34页
友商KISBOS报表开发(专业版).ppt_第2页
第2页 / 共34页
友商KISBOS报表开发(专业版).ppt_第3页
第3页 / 共34页
友商KISBOS报表开发(专业版).ppt_第4页
第4页 / 共34页
友商KISBOS报表开发(专业版).ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《友商KISBOS报表开发(专业版).ppt》由会员分享,可在线阅读,更多相关《友商KISBOS报表开发(专业版).ppt(34页珍藏版)》请在三一文库上搜索。

1、KISBOS报表开发(专业版),金蝶友商电子商务服务有限公司,渠道培训部:黄银银,想篇-软件构造 看篇-基础五步走 做篇-需求分析 练篇-多练习到熟悉精通,目录,ERP软件,前台界面,后台数据库,一、想篇-软件构造,账套号=数据库名称,二、看篇-基础五步走,SQL语言基础语法,事件探查器的使用,KISBOS基础介绍,KISBOS报表开发,KISBOS报表导出导入,数据库的结构包括了表,视图,存储过程等。,第一步:SQL语言基础语法学习,表是对数据进行存储和操作的一种逻辑结构,每一个表都代表一个对用户意义的对象。,字段是表内的具体的列,记录是表中的内容行,字段列,内容行,视图vw,第一步:SQL

2、语言基础语法学习,通过定义 SELECT 语句以检索将在视图中显示的数据来创建视图。,表与表靠相同字段相连,使用SELECT语句来创建视图,存储过程sp 存储过程是一组为了完成特定功能的SQL语句集,是利用SQL Server所提供的Transact-SQL语言所编写的程序。,第一步:SQL语言基础语法学习,存储过程是一个被调用的过程,它能够提高SQL的灵活性,提高数据库执行速度,SELECT查询语句(方法1) SELECT ALL | DISTINCT column1,column2 FROM table1,table2 WHERE “conditions“ GROUP BY “column

3、-list“ HAVING “conditions ORDER BY “column-list“ ASC | DESC ,第一步:SQL语言基础语法学习,SELECT查询语句(方法2) SELECT ALL | DISTINCT table1.column1,table2.column1, table2.column2 FROM table1 LEFT JOIN table2 on table1.column1=table2. column1 WHERE “conditions“ GROUP BY “column-list“ HAVING “conditions ORDER BY “colum

4、n-list“ ASC | DESC ,第一步:SQL语言基础语法学习,UPDATE更新语句语法 update “tablename“ set “columnname“ = “newvalue“,“nextcolumn“ = “newvalue2“. where “columnname“ OPERATOR “value“ and|or “column“ OPERATOR “value“; 实例操作:专业版中清空manager密码: update t_user set fsid=null where fname=manager 注意“=”符号和like差别,=是相等,like是模糊查询,上述实例

5、用LIKE可以写成: Update t_user set fsid=null where fname like %mana%,第一步:SQL语言基础语法学习,第一步:SQL语言基础语法学习,其他语法: 删除表 drop table “tablename“ 实例:drop table t_item 删除记录 delete from “tablename”/*删除整张表记录*/ WHERE “conditions” /*删除表中某个条件的记录*/ 实例:delete from t_user where fname=张三,第一步:SQL语言基础语法学习,SQL语言中函数所代表的意义:,第一步:SQL

6、语言基础语法学习,实例解析 -有这么一张报表的需求。做成台帐的形式,左边是取自于采购入库单,右边取自销售单。两者仅以物料编码来连接 select identity(int,1,1) Fid, ftrantype,case when fnumberin is null then fnumberout else fnumberin end fnumber, case when fnamein is null then fnameout else fnamein end fname, Fsupplynumber,fsupplyname,Fnotein,fbillnoin,fdatein,Fentry

7、idin,Fqtyin,famounin,fempnamein, -fnumberout,fnameout, Fcustnumber,fcustname,fnoteout,fbillnoout,fdateout,fentryidout,fqtyout,famountout,fempnameout into #temp from ( -自定义报表:做成台帐的形式,左边是取自于采购入库单,右边取自销售单。两者仅以物料编码来连接 -采购入库 select h.ftrantype,h.fnumber fnumberin,h.fname fnamein,h.Fcustnumber Fsupplynumb

8、er,h.fcustname fsupplyname,h.fnote Fnotein,h.fbillno fbillnoin,h.fdate fdatein,h.fentryid fentryidin,h.fqty Fqtyin ,h.famount famounin,h.Fempname fempnamein, k.fnumber fnumberout,k.fname fnameout,k.Fcustnumber, k.fcustname ,k.fnote fnoteout,k.fbillno fbillnoout,k.fdate fdateout,k.fentryid fentryidou

9、t,k.fqty fqtyout,k.famount famountout,k.Fempname fempnameout from ( select a.ftrantype,c.fnumber,c.fname,d.fnumber Fcustnumber,d.fname fcustname,b.fnote,a.fbillno,a.fdate,b.fentryid,b.fqty,b.famount,E.fname Fempname from icstockbill a join icstockbillentry b on a.finterid=b.finterid join t_icitem c

10、on c.fitemid=b.fitemid join t_item d on d.fitemid=a.Fsupplyid left join t_emp e on e.fitemid=Fempid where a.ftrantype=1 -and c.fnumber=001.01 ) H left join ( -销售出库 select a.ftrantype,c.fnumber,c.fname,d.fnumber Fcustnumber,d.fname fcustname,b.fnote,a.fbillno,a.fdate,b.fentryid,b.fqty,b.famount,E.fna

11、me Fempname from icstockbill a join icstockbillentry b on a.finterid=b.finterid join t_icitem c on c.fitemid=b.fitemid join t_item d on d.fitemid=a.Fsupplyid left join t_emp e on e.fitemid=Fempid where a.ftrantype=21 -and c.fnumber=001.01 ) K on h.fnumber=k.fnumber -where k.fnumber=001.23 - union -采

12、购入库 select h.ftrantype,h.fnumber fnumberin,h.fname fnamein,h.Fcustnumber Fsupplynumber,h.fcustname fsupplyname,h.fnote Fnotein,h.fbillno fbillnoin,h.fdate fdatein,h.fentryid fentryidin,h.fqty Fqtyin ,h.famount famounin,h.Fempname fempnamein, k.fnumber fnumberout,k.fname fnameout,k.Fcustnumber, k.fcu

13、stname ,k.fnote fnoteout,k.fbillno fbillnoout,k.fdate fdateout,k.fentryid fentryidout,k.fqty fqtyout,k.famount famountout,k.Fempname fempnameout from ( select a.ftrantype,c.fnumber,c.fname,d.fnumber Fcustnumber,d.fname fcustname,b.fnote,a.fbillno,a.fdate,b.fentryid,b.fqty,b.famount,E.fname Fempname

14、from icstockbill a join icstockbillentry b on a.finterid=b.finterid join t_icitem c on c.fitemid=b.fitemid join t_item d on d.fitemid=a.Fsupplyid left join t_emp e on e.fitemid=Fempid where a.ftrantype=1- and c.fnumber=001.01 ) H right join ( -销售出库 select a.ftrantype,c.fnumber,c.fname,d.fnumber Fcus

15、tnumber,d.fname fcustname,b.fnote,a.fbillno,a.fdate,b.fentryid,b.fqty,b.famount,E.fname Fempname from icstockbill a join icstockbillentry b on a.finterid=b.finterid join t_icitem c on c.fitemid=b.fitemid join t_item d on d.fitemid=a.Fsupplyid left join t_emp e on e.fitemid=Fempid where a.ftrantype=2

16、1 - and c.fnumber=001.01 ) K on h.fnumber=k.fnumber -where k.fnumber=001.23 -order by h.fdate,h.fnumber,k.fnumber ) f order by fnumber,fdatein,fdateout -将重得数据的值更新为0,其他字符信息更新为空 -select *from #temp order by fid update a set a.fqtyin=0,a.famounin=0, a.fsupplynumber=,a.fsupplyname=,a.fnotein=,a.fbillnoi

17、n=,a.fdatein=,Fempnamein= from #temp a join #temp b on a.fnumber=b.fnumber and a.fbillnoin=b.fbillnoin and a.fentryidin=b.fentryidin where a.fidb.fid update a set a.fqtyout=0,a.famountout=0, a.fcustnumber=,a.fcustname=,a.fnoteout=,a.fbillnoout=,a.fdateout=,Fempnameout= from #temp a join #temp b on a

18、.fnumber=b.fnumber and a.fbillnoout=b.fbillnoout and a.fentryidout=b.fentryidout where a.fidb.fid -select *from #temp order by fnumber,fdatein,fdateout -select *from #temp where fnumber=001.01 order by fnumber,fdatein,fdateout select distinct identity(int,1,1) Fid,a.fnumber,a.fname,Fsupplynumber,fsu

19、pplyname,Fnotein,fbillnoin,fdatein, Fentryidin,Fqtyin,famounin,fempnamein,Fcustnumber,fcustname,fnoteout,fbillnoout,fdateout, fentryidout,fqtyout,famountout,fempnameout,fqtylockloss,c.fqtyend into #tempdata from #temp a left join t_icitem b on a.fnumber=b.fnumber left join (select fitemid,sum(fqty)f

20、qtyend,sum(fqtylock) fqtylockloss from icinventory group by fitemid) c on c.fitemid=b.fitemid -where b.fnumber=001.01 -将多余的 即时库存余额=0 update a set a.fqtyend=0 from #tempdata a join #tempdata b on a.fnumber=b.fnumber where a.fidb.fid -and a.fnumber=001.01 -删除多余数据 delete from #tempdata where fqtyin=0 a

21、nd fqtyout=0 -显示报表数据 select *from #tempdata -where fnumber=001.12.04 -删除临时表 drop table #temp drop table #tempdata,第一步:SQL语言基础语法学习,实例:查询 即时库存 执行sql语句 首先,打开sql事件探查器新建跟踪:,第二步:事件探查器的使用,2、跟踪属性选项:,3.清除跟踪,第二步:事件探查器的使用,4.停止所选择的跟踪,5.打开软件,打开即时库存表,6.到sql事件探查器内运行所选择的跟踪,第二步:事件探查器的使用,7.刷新即时库存表后,回到事件探查器,停止所选择的跟踪,到

22、下方跟踪内容中找cpu 和 reads 值最大的项目,如果项目不好区分,可以查询textdata 中类似查询的项目 ,复制这些项目到SQL查询分析器内可以验证。从而区分出自己需要的语句。,金蝶KISBOS 是针对金蝶KIS专业版和商贸版产品的一个自定义报表开发工具,KISBOS支持的产品 支持KIS 专业版 V9.0及以上版本的自定义报表 支持KIS服装鞋帽版V8.1及以上版本的自定义报表 支持KIS商贸版的所有产品,版本历程 V1.0-V2.0,实现方式 直接编写SQL语句实现 通过插件实现,第三步:KISBOS基础介绍,个性化数据报表 它弥补了现有KIS产品报表的局限性,并以灵活的方式实现

23、自定义报表,满足不同客户的个性化报表需求 对现有数据进行挖掘,组合形成客户需要的个性化数据报表 现有的标准报表不能完全满足需要,在此基础上补充部分数据,满足客户需要,第三步:KISBOS基础介绍,金蝶KISBOS运行需要登录一个账套 以金蝶专业版为例,如专业版客户端一样,正常登录 登录的账套并不承载具体的KISBOS报表,只是一个软件运行过程的必须环境 金蝶KISBOS提供了常用的专业版、标准版的数据结构查询功能,第三步:KISBOS基础介绍,第四步:KISBOS报表开发,打开软件,新增报表,1,系统默认选项,2、报表类别包括:采购,销售,仓库,存货,扩充,加入SQL语句,第四步:KISBOS

24、报表开发,SQL语句,必须以 Set Nocount on 开头,显示字段和后期效果对比图,第四步:KISBOS报表开发,1、$:这个符号用于融合上下两条线,只能用于列主标题 2、+|:这组符号用于报表单元之间的融合并分上下两个标题显示,列副标题显示在第二行;使用了这个符号后,不能再使用$符号,$用于融合两条线,+|列主标题,下设2个副标题,下设多个副标题,合计,过滤条件和后期效果对比图,第四步:KISBOS报表开发,选择窗体是通过select语句创建的,注意:过滤条件在建立的 过程中不允许任何一项为 空!,自定义过滤条件:,第四步:KISBOS报表开发,第五步:KISBOS报表导出导入,1,

25、2,3,导出的格式是ZIP格式,导入:登录软件客户端,第五步:KISBOS报表导出导入,修改,第五步:KISBOS报表导出导入,注意:重新登录后才可以 看到新增报表,设置显示/隐藏列、冻结列 如果对于某些数据列不要求显示,则可以隐藏 其他关于报表格式设置的操作,请比照处理,第五步:KISBOS报表导出导入,P29,可设置引出数据格式,KIS专业版,第五步:KISBOS报表导出导入,三、做篇-需求分析,需求调研,需要了解结果和字段来源,预期效果,需求分析,在原有报表基础上去开发报表,或者独立开发报表,编写SQL语言。,三、做篇-需求分析,接着使用KISBOS进行后期制作,从熟悉SQL,事件探查器使用开始,初级阶段,提升阶段,在原有报表上增加字段,重新开发报表,成熟阶段,独立自己编程开发报表,看懂已有用SQL开发的报表,成功来自于不断的自我学习和努力!哈哈哈!,四、练篇-多练习到熟悉精通,Thanks,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1