用友UFO解决合并报表

上传人:大米 文档编号:560555447 上传时间:2023-09-16 格式:DOCX 页数:11 大小:80.85KB
返回 下载 相关 举报
用友UFO解决合并报表_第1页
第1页 / 共11页
用友UFO解决合并报表_第2页
第2页 / 共11页
用友UFO解决合并报表_第3页
第3页 / 共11页
用友UFO解决合并报表_第4页
第4页 / 共11页
用友UFO解决合并报表_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《用友UFO解决合并报表》由会员分享,可在线阅读,更多相关《用友UFO解决合并报表(11页珍藏版)》请在金锄头文库上搜索。

1、2008-1-281. 报表路径:先把路径列出,大家稍微看一下D:合并报表丈艸 塚福 st-11 啊 iaa:i wftnfi虽旨e”tnX町區”3 ;:“飞y车地剧世ff :日*斑3 ffl jQ 二J ly Joeijiintj13 n TroprMi JjLx Q 二 StffTQ _j s?5tnEJ 口 QOjtM令日二| Oi砥公司E QSO田二I QZifl口轻EJ二Q换主件 田Q DL田也可 S j说#径 El Q (G齿电壬何 口 sonJH.需豪餐 田 Q KOSffi.WSffi二们母卷司 注弁口径G换壬井j!0马妄農讯岳 二|Enw粧敕隘 OeLOOS Qrino Qs

2、uas O3 抚弼 CjELtBS QelOGS Cpg tOBD0TDOBDQS.0诙叫皿泊IssiBM LlJTInrltnttirntD I -= - X I I X aCJm主要有三个内容D:合并报表O = lM3 二 ULS03 心皿耳 l2|eI:314 ijjzOl 613 二讥空* 曰1333 41:餌 3 口巩如t- t- t- E E xT t- E E t- t- t- E E- t- t- E EJJ- E- t- E.i E t- fc.- t- E - J- J.- J- J. - J.- J- J./ J- J- J. J-. J- J.- - J- J- J-

3、J. - J- J., J- - 梓件件件艸件牛件师梓件牛件仲梓件件件梓件牛件忡梓件件件- SJsfis:为立空宜杓対丈空文対対立宜対fl立宜対対立空Kaa&-3-La10 S2WBi-:aH13Z0C5L-3Q.H1330QBL-31LI13EDORI.-3IH13询i-:3iH13L-31.H13SOQBL-SLLt13EMBI.-3III13:14:L3询i-:31H13LFH13SOQB1-31LI13SMB1.-31H1314坦i-:3iH13SOQB1-31LI13SMB1.-31U1314:L3aasi-:31H13zwnL-31.H13sxe1-31Lt13SMBI.-3IH1

4、3aas-i-siItI aasi-:31H13zocnL-31.H13SOQB1-31LI13用于存放批处理文件(SHL文件)00批命令01母公司02合并口径03管理主体01母公司02合并口径03管理主体严二二用于存放最终合并后!_的报表;ZT003ZT013ZT023二片用于存放最终需要合丄1L1L:并的报表合并报表编程过程说明:1. 由于第一次编合并报表,所以很多东西不知道,那么就查资料,主要参考三个资料,一个是UFO的二次 开发帮助文件,第二个是孙勇写的UFO报表高级应用培训讲义,第三个是用友报表的PDF帮助2. 客户的要求:客户要求将12张资产负债表(当然还有很多其他的表)做合并,这

5、12张分别是不同的下属单位,由于 在开始实施的时候,就考虑到合并报表的事情,所以但是在建立帐套的时候,要求所有单位的会计科目(包 括辅助核算),报表格式都必须一致,所以这12张表的格式都是一模一样的。开始动手了1. 现在第一步是建立一张合并报表模板,可以直接用现有的资产负债表模板,然后把公式清空,报表文件为“D:合并报表zt0032008资产负债表.rep ”2. 报表归类:我们假设合并两张报表就可以了,zt003和zt013,路径如下:D:合并报表D:合并报表zt0032008资产负债表.repD:合并报表zt0132008资产负债表.rep 简单的合并方式:将zt013的资产负债表的对应的

6、单元格与ZT003对应的单元格相加。批处理放在以下文件夹:D:合并报表批处理2008我们先简单建立一个批处理,用以实现两个单元格的简单合并,文件命名为“zt003zcfzb.shl” 批命令如下:LET C7=C7+D:合并报表zt0032008资产负债表.rep-C7 RELA 年 WITH D:合并报表zt0032008资 产负债表.rep-年,月 WITH ”D:合并报表zt0032008资产负债表.rep-月起码知道以上的命令可以实现将C7单元格的数据加上“D:合并报表zt0032008资产负债表.rep” C7的 数据。但是如果这样做的话,每一个单元格就要一条语句,而且如果有多张表的

7、话,就更加复杂,而且如果到 时候要修改的话,比如到了2009 年的话,每一条都要改一下,甚至如果单元格发生变化,要改的话,那不是 要疯掉!所以在想能不能通过变量来实现,便于后续修改。 经过翻查资料,大概知道了变量的应用,然后就来实现吧。第一步,把报表路径变量化,可以直接设定一个变量&rep,然后赋值,语句如下:let &rep=D: 合并报表zt0032008资产负债表.rep那么单元格的赋值就可以这样来写:LET C7=C7+&rep-C7 RELA 年 WITH &rep-年,月 WITH &rep-月这样写可以减少修改报表路径的问题,至少改个路径变量值,其他就不用改了,相对来说比较方便一

8、些, 但是,问题是单元格也是比较麻烦,一条一来,有没有什么其他办法呢?睡觉的时候突然想到能否用循环来处理,如果可以就好办多了,于是就开始实施,用while循环,但是 问题是如何来表示列号和行号呢?经过翻查资料,有一个意外的发现:1)变量使用关键字年、季、月、日为数值型,单位名称、单位编号为字符型。表示报表名:&REP NAME-单元格名表示表贝号:&TAB 表示行号:#&ROW 表示列号:!& COL有了这个意外的发现之后,我就想,干脆把路径、列号、行号都用变量表示算了,看看情况如何,代码 如下:设置报表路径、合并起始列、起始行let &rep1=D: 合并报表let &rep2=zt003l

9、et &rep3=2008let &rep4=资产负债表.replet & col0=3let &row0=7设置报表路径let & rep=& repl+&rep2+&rep3+&rep4设置列号let & col=&colO设置行号let &row=& rowO通过循环合并数据,合并C7:D55的单元格while & col=4while & row! &col#&row rela 年 with &rep-年,月 with &rep-月let & row=& row+1endlet &row=& row0let & col=&col+1end做了以上变动之后,至少修改起来事比较简单,可以把

10、这段代码保存为“zt003zcfzb.shl”通过以上的批处理命令,我们在执行此批命令的时候,就可以实现把一个表的C7:D55的单元格与ZT003 的对应的单元格相加。现在的情况有所变化,我们有两种需要合并的报表,比如如何实现呢? 如何来利用之前做的批命令呢?难道需要把批命令重复写一遍吗?突然想到,能否通过调用批命令文件,相当于编程里面的“include”,那问题就可以解决了,也就是说, 将一个合并的批命令写成一个批命令文件,然后来调用,只要有需要合并的时候,就调用此批命令,问题就 可以解决了,减少重复工作,同时容易修改。在批处理里面是有一个调用批命令的命令,就是用” DO”命令。我们把之前做

11、的“zt003zcfzb.shl”重新另存为“zcfzb_hbbb.shl”,路径如下:DO D: 合并报表 批命令2008 zcfzb_hbbb.shl 然后我们建立一个“zcfzb_main.shl”的批处理文件来调用。代码如下: 首先进入数据状态DATA报表取数DO D: 合并报表 批命令2008zcfzb_hbbb.shl 把此文件放在:D:合并报表00批命令01母公司2008 zcfzb_main.shl为了能够在进入报表的时候,将最终合并的报表的数据先清空,同样我们做一个清空的批处理命令。 清空数据,合并数据前先把数据清空。CLEAR C7:D55CLEAR G7:H55把文件命名

12、为“D:合并报表批命令2008zcfzb_clear.shl”以备调用然后我们对“zcfzb_main.shl”的批命令再次修改,加入清除数据的批处理。 首先进入数据状态DATA那么以后不管有多少张表,资产负债表,损益表等等,只要每一张表都保存相应的三个批处理(主命令、 清空命令、合并命令)只是每张表需要修改的地方就是将“zcfzb_hbbb.shl”里面的参数做一些修改。比如路 径、文件名称、年份,列名等等。但是能否有更好的办法呢?能否将合并数据作为一个通用的模板,用来调用呢?然后把变量的赋值放在 主程序中进行,这样不是更好吗?模型:主程序:定义变量、赋值子程序1:清空数据子程序2:合并数据

13、子程序3:数据整理这个时候,我们开始做统一规划了: D:合并报表批命令2008 主程序(主批处理):zcfzb_main.shl子程序(清空数据): zcfzb_clear.shl子程序(合并报表): zcfzb_hbbb.shl先把主程序列出:主程序(主批处理): zcfzb_main.shl/程序开始/合并报表/合并报表说明:/zt003 广海本部/首先进入数据状态/-把变量清空,然后要求输入关键字。DATAfree allif 年=0disp 请先输入关键字returnelse/-设置批处理命令的路径。let &shl01=D:合并报表00批命令let &shl02=01 母公司let

14、&shl03=2008let &shl04=&shl01+&shl02+&shl03let &shlclr=zcfzb_clear.shllet &shlhb=zcfzb_hbbb.shllet &shlclr= &shl04+&shlclrlet &shlhb= &shl04+&shlhb/清空数据DO &shlclr/let &rep1=D: 合并报表let &rep2=zt003/ 设置取数帐套let &rep3=2008let &rep4=资产负债表.replet &col01=3let &colmax01=4-初始化取数报表/设置列起始值C设置列循环最大值Dlet &col02=7let &colmax02

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号