会员名称: 登录密码: (找回密码) 登录 会员注册
 
 

分类

问题
上个主题 下个主题
主题:KIS专业版9.0新功能之“KISBOS自定义报表”攻略
avatar
eric
社区贡献Top 50
帖子 461
积分 6,181
发贴时间:2006-11-6 13:53:02   已到期,未完成 2006-12-24 16:22:14
赠分:0      回答:8   已经到期    
KIS专业版9.0新功能之“KISBOS自定义报表”攻略

这是我在用KISBOS制作自定义报表的一点心得体会,希望能帮到初次使用这个工具的朋友。

因为我其实也是初次使用和摸索出来一点点东西。高手就别看了~~~见笑见笑~~~

(可惜不能发HTML,不然可以把图发上来,开始了)

一、 KISBOS到底是什么东东?先看看究竟

耶,不错,可以自己定义一些自定义报表了,真好,不必拘泥于专业版现有的一些报表了,可以随意发挥自己的聪明才智做一些客户想要的报表了……(暗暗:大话了,就我这三脚猫工夫那能做什么好报表?)

然后我在论坛看到一个不错的帖子http://www.kingdee.com:8080/forum/Article.asp?ID=230102
也是讲自定义报表的。并且作者做了一个不错的自定义报表放上去了,下下来用了下,感觉不错。
作者也进行了一下总结:
总结
1、KIS-BOS不能自定义过滤界面,这使得开发大受限制,不能在一个表按多个汇总依据汇总
2、汇总表不能的联查明细表,明细表不能联查单据,功能大受限制
3、据说准备在下一个版本提供,期待ing

作者的作品效果图如下
http://www.aishoes.com/temp/photo.jpg
实现功能
1、按业务员汇总出销售出库单
2、在一个表内显示出销售数量、出库成本、销售金额、出库毛利,使得可以直接看出每个业务员的销售业绩,包括销量、销售额和贡献的销售出库毛利,这个是多个客户要求的。
3、同时也汇总出开票数量、金额、未开票数量和金额等

看到这些也已经觉得不错了,不过下载并引入报表却发现不是图片上的一样的,感觉象是作者误将他设计的早一个版本的报表发上来,缺了些内容。

没关系,我们也亲自来DIY一次,实现作者效果图中的功能。

待续……


注意:请不要发站内短信给我,我无法回复!!!
-------------------------------------------
我自逍遥人不问
www.shbbs.net
回答
当前第 1 页共 2 页(18 条记录)   [1] 2 下页 >
avatar
eric
社区贡献Top 50
帖子 461
积分 6,181

二、 做好准备工作,开工咯

1、 装了一个迷你简化版的VB,乖乖,才区区几M的安装包,因为只要编译KISBOS的报表DLL,足够用了,就这点得攒微软一个……然后想起以前装过的VB.NET,那个晕就不用说了~~~~~
2、 当然,没有装KIS9.0的KISBOS的话,先把这个也装了吧,不然什么也干不了。
3、 然后进入Program Files\Kingdee\KIS\KIS BOS找到自定义报表范例KISBOSRptPlugin(example).rar并解压,记得把只读属性去掉,不然不能编辑。
4、 然后双击KISBOSRptPlugin.vbp这个项目用VB打开,不能打开就手工启动VB,然后选文件打开。
5、 在工程窗口双击打开frmSaleOutDetail,注意frmSaleOutDetailFZ是用于KIS服装鞋帽版的。
6、 可以看到frmSaleOutDetail是一个FORM,内容就是一个TEXTBOX控件,内容就是一个带有特殊过滤查询的SQL语句。点击改控件属性窗口的TEXT下拉按纽,即可将内容复制出来,如下
select
v1.fbillno,v1.fcurrencyid,v1.FSupplyID,v1.fdcstockid,v1.fdate,v1.fempid,v1.ftrantype,v1.fstatus,v2.FItemid,v2.fauxpropid,v2.funitid,v2.fauxqty,v2.FPrice
,t1.fname as fitemname,t2.fname as fcustname,t4.fname as fempname,t5.fname as fcurrencyname
,t6.fname as funitname,t8.fname as fdcstockname,t9.fname as fsalestyle
,t1.fnumber as fitemnumber,t2.fnumber as fcustnumber,t4.fnumber as fempnumber
,t5.fnumber as fcurrencynumber,t6.fnumber as funitnumber,t8.fnumber as fdcstocknumber
,t7.FName as FAuxPropName
From icstockbill v1
Join icstockbillentry v2 On v2.Finterid = v1.FInterID
Join t_ICItem t1 On v2.FItemID=t1.FItemID
Left Join t_Organization t2 On v1.FSupplyID=t2.FItemID
Left Join t_DepartMent t3 On v1.FDeptID=t3.FItemID
Left Join t_Emp t4 On v1.FEmpID=t4.FItemID
Left Join t_Currency t5 On v1.FCurrencyID =t5.FCurrencyID
Left Join t_MeasureUnit t6 On t1.FSaleUnitID = t6.FMeasureUnitID
left join t_auxitem t7 on v2.fauxpropid = t7.fitemid
left join t_stock t8 on v1.fdcstockid=t8.fitemid
left join t_submessage t9 on v1.fsalestyle=t9.finterid
where v1.fcancellation=0 and v1.ftrantype=21
and {strFdateFrom} and {strFdateTo}
and {strFcustNumberFrom} and {strFcustNumberTo}
and {strFempNumberFrom} and {strFempNumberTo}
and {strFItemNumberFrom} and {strFItemNumberTo}
and {strFdcstockNumberFrom} and {strFdcstockNumberTo}
and {strFsalestyleNumberFrom} and {strFsalestyleNumberTo}
7、 各位,如果对专业版比较熟悉的话,是否已经比较有点明白到KISBOS是怎么回事了?这不就是专业版的一个报表查询分析语句吗!简单ING
8、 注意,where后面有一些特殊标记{strFdateFrom},{strFcustNumberFrom}等,从字面即可理解意思,如下:
{strFdateFrom} – 日期范围起始 {strFdateTo} – 日期范围终止
{strFcustNumberFrom} - 客户ID起始 {strFcustNumberTo} – 客户ID终止
{strFempNumberFrom} …… 职员ID
{strFItemNumberFrom} …… 物料ID
{strFdcstockNumberFrom} …… 仓库ID
{strFsalestyleNumberFrom} …… 销售方式ID
9、 好了,这些查询什么时候用到,怎么用在后面说明
10、 然后直接编译一个DLL,咱们就直接先用范例看看效果吧。点VB编辑器的文件菜单-生成KISBOSRptPlugin.dll,在保存窗口中只写KISBOSRptPlugin.dll,保存到C:/即可,这样就生成了一个报表DLL文件。

待续……


注意:请不要发站内短信给我,我无法回复!!!
-------------------------------------------
我自逍遥人不问
www.shbbs.net
回答时间:2006-11-6 14:22:08
 
avatar
eric
社区贡献Top 50
帖子 461
积分 6,181
三、 好了,DLL我已经编译了,怎么看到报表效果呢?关键的步骤来了~~
1、 找到WINDOWS\system32\KISCOM,打开CustomReport.mdb,打不开?晕,装OFFICE ACCESS吧。
2、 详细讲内容比较多,这时候打开 Program Files\Kingdee\KIS\KIS BOS\金蝶KISBOS报表中心二次开发和功能说明.doc仔细看看吧,看看如何增加报表以及过滤项目。
3、 如果比较明白就不用看了,直接打开T_RepFilter表,将FrepKey列的XS02全部复制一份,并改名为XS001即可。
4、 同样,先也简单地打开T_RepHeadCaption表,将FrepKey列的XS02全部复制一份,并改名为XS001即可。
5、 还有打开T_RepList表,复制一条FrepKey列的XS02全部复制一份,并改名为XS001。同时命名为“业务员销售汇总表”,这个是在专业版报表中显示的报表名称。
6、 然后打开KISBOS报表中心主程序,是不是看到你自己定义的报表了“XS001”,“业务员销售汇总表”。
7、 点导出,选中自己定义的报表(注意可以多选,如果想在专业版界面中一次显示多个自定义报表就可以选择所需要的几个报表一起导出,然后位置依次增加20)
8、 下一步时选择放到专业版的销售模块,位置为默认(多个报表位置依次加20)
9、 然后选中左边栏后点“>”按纽,在弹出窗中指定刚刚编译好的DLL,就是房在c:\下的。下一步,保存。就打上了一个ZIP报表包了,可以被其他电脑直接导入了。由于本机已经存在了记录所以可以直接看到销售管理中已经增加了刚才的自定义报表。进去看看吧。
10、 哗,看是看到了,不过这个报表可没什么用,很多信息都没有。数据也不齐全,不是用户所需要的。不过没关系,已经看到出来了数据,已经很兴奋了,因为看到了初步过程,接下来就知道改怎么弄了。

待续……


注意:请不要发站内短信给我,我无法回复!!!
-------------------------------------------
我自逍遥人不问
www.shbbs.net
回答时间:2006-11-6 14:45:43
 
avatar
eric
社区贡献Top 50
帖子 461
积分 6,181
四、 示范的报表也已经看过了,怎么才能做出客户需要的报表呢?要有汇总哦~~

首先,大家要先把前面讲到的内容消化,不然就无法深化下去了

现在到了发挥的时候了,想各种方法提升是DIY爱好者的最大特色,也是发挥创造力的关键!作为一名合格的DIY爱好者,就必须学会分析、发挥,才能出成果。

实际上深化到现在,最主要的是如何让SQL语句帮我们做更多事情,这样才能汇总出所需要的报表。实际上如果是完全自己摸索,估计到明年也基本上做不出象样的报表,因为专业版那2000多表实在是不好搞。

是不是灵机一动发现捷径了?

没错,对了就是SQLSERVER的事件探查器!!!!!!!!

既然我是专业版的门外汉,既然我写不出强大的SQL,那我先看看专业版自己是怎么写SQL的,然后再加以变通不就事半功倍了吗?哈哈哈……

实际上这也是唯一的捷径,跟踪出了专业版SQL后直接在查询分析器就能出报表,并且可以汇总、小计、合计,然后再次灵光一闪,是不是连KISBOS的功能极弱的合计功能全面用专业版强大的汇总、小计、合计取代呢?事实上是完全可以的,并且还会自动增加上低色,就象是专业版的标准报表一样。上面提到的图效果中就看到了小计合计,并且有低色的。

再次,哈哈哈……发现捷径总是让人开心,继续探索。。。

什么?—— 用的MSDE?SQLSERVER的事件探查器在那里找?汗,楞什么,赶紧装SQLSERVER 2000啊,记得打SP4

待续……


注意:请不要发站内短信给我,我无法回复!!!
-------------------------------------------
我自逍遥人不问
www.shbbs.net
回答时间:2006-11-6 15:16:25
 
avatar
eric
社区贡献Top 50
帖子 461
积分 6,181
今天暂且打住,实际上到现在大部分的朋友都已经知道下面该怎么摸索了,因为KISBOS实现的精髓都已经写出来了.

且先等等,看看有没有朋友能够做出前面提到的图中功能一样的报表出来!过几日我再看情况把后续详细内容补上!

注意:请不要发站内短信给我,我无法回复!!!
-------------------------------------------
我自逍遥人不问
www.shbbs.net
回答时间:2006-11-6 15:19:33
 
avatar
goodzsz
社区贡献Top 500
帖子 88
积分 924
建议【ericLU】把你做的最终报表发出来试用啊。
回答时间:2006-11-7 13:27:03
 
avatar
pc05
社区贡献Top 10
帖子 839
积分 24,019
行政专版版主
真是不错,大家跟着试做下吧.

----
QQ群15529689邀请您做技术指导!
南涧彝族自治县人民政府制定招商引资特别优惠措施,天地下少有,详情请浏览http://nj.dali.gov.cn/DefaultStyle/DefaultStyle_NewPage.aspx?PageId=11844&TagControlID=12372&LibInfoID=502710
回答时间:2006-11-7 14:16:28
 
avatar
fish
社区贡献Top 75
帖子 189
积分 4,123
是呀,强烈支持把所做报表供献出来

----
Kingdee打倒用友的唯一希望
金蝶中国软件业的希望
回答时间:2006-11-8 8:48:13
 
avatar
流沙
社区贡献Top 500
帖子 85
积分 1,494
是啊,之前那位仁兄发过了,也学习了一下,引入之后发现表内容不全,ericLU支持你发最终的报表出来。哇哈哈。。。
回答时间:2006-11-9 10:20:12
 
avatar
Suntime
社区贡献Top 10
帖子 1,932
积分 20,062
小企业管理版主
试了一下,到最后,打开自定义报表时,提示“ActiveX部件不能创建对象”,难道是编译的DLL文件有问题?

郁闷!!
图画曾识零陵郡,不到潇湘岂有诗!
回答时间:2006-11-9 12:55:56
 
avatar
eric
社区贡献Top 50
帖子 461
积分 6,181
TO【suntime】
可能是SQL脚本被截断了,成了错误的脚本无法执行。最好是能够用VB跟踪错误,不知道你是否会用,你可以先运行专业版,进入报表前先在VB中点运行当前项目(就是编译的当前项目),并且在代码中适当位置设置断点,然后从专业版进自定义报表就能被VB跟踪到,一步一步执行就能找到错误原因了。

TO【流沙】
开始做完的因中毒而丢失,过几天等闲了些我重新做出来提供给大家参考。

注意:请不要发站内短信给我,我无法回复!!!
-------------------------------------------
我自逍遥人不问
www.shbbs.net
回答时间:2006-11-9 17:19:37
当前第 1 页共 2 页(18 条记录)   [1] 2 下页 >
View as RSS news feed in XML
© 2007 金蝶国际软件集团 版权所有 | 关于我们 | 联系我们 | 隐私申明 | 使用帮助