




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品文档精品文档2008-1-281.报表路径:先把路径列出,大家稍微看一下。 合并报表I ,口、台井捱汞文忤0 祝施卿 益君叩 收盘® ZfliJ)帮助Q 局,O 7 |Qa» 心 3tf 6| - X 切国,精品文档卸上如 |二n抨支弹窕王 "F 口RET.hLh dFraip-w ? i laxd 口 SOFTU Q ijnstt*至表叵。例超3日便批加辛日qm母公司I压 口国0电台井口径国口 0:浩氏主住+口回司舟二)石井口径舟的管瘠主由二 SWjfLttWfi阳训报衷晴狼口 £0的据树I技h式期自如07日SM0 S0&&HD13
2、tkOZJ内口铝工七口4白EKH-L-31 IC 93B008-L-3I 14 3314 133J®-L-5I 1113文群尹_JctlJI.3 mD23 口口际名饰工大小美渔惨例.目鼬Lflalalal班班31 隼一疾*H五H 件件件件件一 莫文玄文文件洋洋 文文文二加母依司 匏合井口径 E营理主体 3»7报要腹费 的报连腹短 缸嘛裹/藤二)联昨3 口若炳 口门耐 6则二女 303 二式机3 二共3H 二将 LT 二式融 _Je1331 二工闲3 ?jEt313 5国匕的3文件天 文件天 文忤是 文忤是 文件观 文阵赛 文件再 立伸再 文件赛 文件赛 文件理 女件浜 支件
3、娓 空件共 玄件霹 支件再MS5-1-3I IS MU5-L-5I H IS MO&-L-JI. U IS 20K-1-JI K 13 MXB-l-Jl H 13 2ttB-L-3:l Ik 13 3B8-L-31 143 20®-L-31 K.I32OC0-L-31 H.I3 2OK-L-31 14.13 2OK-L-31 H.I3 20W-L-S1 14.13 2C0&-L-S1 30®-Lai 14 13主要有三个内容合并报表用于存放批处理文件(SHL文件)00批命令01母公司02合并口径03管理主体01母公司02合并口径03管理主体1 y用于存放最终
4、合并后 的报表ZT003ZT013ZT023用于存放最终需要合 并的报表合并报表编程过程说明:1 .由于第一次编合并报表,所以很多东西不知道,那么就查资料,主要参考三个资料,一个是UFO的二次开发帮助文件,第二个是孙勇写的 UFO报表高级应用培训讲义,第三个是用友报表的 PDF帮助2 .客户的要求:客户要求将12张资产负债表(当然还有很多其他的表)做合并,这12张分别是不同的下属单位,由于在开始实施的时候,就考虑到合并报表的事情,所以但是在建立帐套的时候,要求所有单位的会计科目(包括辅助核算),报表格式都必须一致,所以这12张表的格式都是一模一样的。开始动手了1 .现在第一步是建立一张合并报表
5、模板,可以直接用现有的资产负债表模板,然后把公式清空,报表文件为“ 合并报表资产负债表.rep”2 .报表归类:我们假设合并两张报表就可以了,zt003和zt013,路径如下:合并报表合并报表资产负债表.rep合并报表资产负债表.rep简单的合并方式:将 zt013的资产负债表的对应的单元格与ZT003对应的单元格相加。批处理放在以下文件夹:合并报表批处理2008我们先简单建立一个批处理,用以实现两个单元格的简单合并,文件命名为“ zt003zcfzb.shl ”批命令如下:LET合并报表资产负债表.rep"->C7 RELA年WITH合并报表资产负彳表.rep"-&
6、gt;年,月合并报表资产负债表.rep”->月起码知道以上的命令可以实现将C7单元格的数据加上“合并报表资产负债表.rep” C7的数据。但是如果这样做的话,每一个单元格就要一条语句,而且如果有多张表的话,就更加复杂,而且如果到时候要修改的话,比如到了2009年的话,每一条都要改一下,甚至如果单元格发生变化,要改的话,那不是要疯掉! !所以在想能不能通过变量来实现,便于后续修改。经过翻查资料,大概知道了变量的应用,然后就来实现吧。第一步,把报表路径变量化,可以直接设定一个变量&rep,然后赋值,语句如下:合并报表资产负债表.rep"那么单元格的赋值就可以这样来写:LET
7、 C7=C7+&rep->C7 RELA 年 WITH &rep-> 年,月 WITH &rep-> 月这样写可以减少修改报表路径的问题,至少改个路径变量值,其他就不用改了,相对来说比较方便一些,但是,问题是单元格也是比较麻烦,一条一来,有没有什么其他办法呢?睡觉的时候突然想到能否用循环来处理,如果可以就好办多了,于是就开始实施,用while循环,但是问题是如何来表示列号和行号呢?经过翻查资料,有一个意外的发现:1)变量使用关键字年、季、月、日为数值型,单位名称、单位编号 为字符型。表示报表名:&REP_NAME->单元格名表示表页号:&
8、amp;TAB表示行号:#&ROW表示列号:!&COL有了这个意外的发现之后,我就想,干脆把路径、列号、行号都用变量表示算了,看看情况如何,代码 如下:设置报表路径、合并起始列、起始行合并报表"let &rep2="zt003"let &rep3="2008”资产负债表.rep"let &col0=3let &row0=7设置报表路径做了以上变动之后,至少修改起来事比较简单,可以把这段代码保存为“ zt003zcfzb.shl ”通过以上的批处理命令,我们在执行此批命令的时候,就可以实现把一个表的
9、 C7:D55的单元格与ZT003的对应的单元格相加。现在的情况有所变化,我们有两种需要合并的报表,比如合并报表资产负债表.rep合并报表资产负债表.rep最终合并到以下表:如何实现呢?如何来利用之前做的批命令呢?难道需要把批命令重复写一遍吗?突然想到,能否通过调用批命令文件,相当于编程里面的“include",那问题就可以解决了,也就是说,将一个合并的批命令写成一个批命令文件,然后来调用,只要有需要合并的时候,就调用此批命令,问题就 可以解决了,减少重复工作,同时容易修改。在批处理里面是有一个调用批命令的命令,就是用“DO”命令。我们把之前做的“zt003zcfzb.shl”重新另
10、存为“zcfzb_hbbb.shl”,路径如下:合并报表 批命令2008 zcfzb hbbb.shl "然后我们建立一个"zcfzb_main.shl”的批处理文件来调用。代码如下:首先进入数据状态把此文件放在:合并报表00批命令01母公司2008 zcfzb_main.shl为了能够在进入报表的时候,将最终合并的报表的数据先清空,同样我们做一个清空的批处理命令。清空数据,合并数据前先把数据清空。CLEAR C7:D55CLEAR G7:H55把文件命名为“合并报表批命令2008zcfzb_clear.shl ”以备调用然后我彳门对"zcfzb main.shl
11、”的批命令再次修改,加入清除数据的批处理。首先进入数据状态DATA清空数据合并报表批命令 2008zcfzb clear.shl"报表取数合并报表 批命令2008zcfzb hbbb.shl "那么以后不管有多少张表,资产负债表,损益表等等,只要每一张表都保存相应的三个批处理(主命令、 清空命令、合并命令)。只是每张表需要修改的地方就是将“zcfzb_hbbb.shl ”里面的参数做一些修改。比如路径、文件名称、年份,列名等等。但是能否有更好的办法呢?能否将合并数据作为一个通用的模板,用来调用呢?然后把变量的赋值放在 主程序中进行,这样不是更好吗?模型:主程序:定义变量、赋
12、值子程序1 :清空数据子程序2:合并数据子程序3:数据整理这个时候,我们开始做统一规划了:合并报表批命令2008主程序(主批处理):zcfzb_main.shl子程序(清空数据):zcfzb_clear.shl精品文档子程序(合并报表):zcfzb_hbbb.shl先把主程序列出:主程序(主批处理):zcfzb_main.shl/ 程序开始合并报表合并报表说明:/zt003广海本部/ 首先进入数据状态-把变量清空,然后要求输入关键字。DATAfree allif 年=0disp ”请先输入关键字"returnelse-设置批处理命令的路径。合并报表00批命令”let &shl
13、02="01 母公司"let &shl03="2008”let &shl04=&shl01+&shl02+&shl03let &shlclr="zcfzb_clear.shl"let &shlhb="zcfzb_hbbb.shl"let &shlclr= &shl04+&shlclrlet &shlhb= &shl04+&shlhb/ 清空数据DO &shlclr/ 初始化取数报表-合并报表"let &a
14、mp;rep2="zt003”/ 设置取数帐套let &rep3="2008”资产负债表.rep"let &col01=3设置列起始值 Clet &colmax01=4设置列循环最大值Dlet &col02=7设置列起始值 Glet &colmax02=8设置列循环最大值Hlet &row01=7设置行起始值7let &rowmax=55设置行循环最大值55/ 报表取数-zt003精品文档精品文档let &rep2="zt003"/ 设置取数帐套let &row0=&
15、;row01设置行起始值/01.分列取数1let &col0=&col01设置列起始值Clet &colmax=&colmax01设置列循环最大值DDO &shlhb/02.分列取数2let &col0=&col02设置列起始值 Glet &colmax=&colmax02设置列循环最大值HDO &shlhb/END/ 保存报表/savefree allend第一层IF的结尾清空命令:zcfzb_clear.shl清空数据CLEAR c7:d55CLEAR g7:h5合并命令:zcfzb_hbbb.shl/合并报表
16、设置报表路径、合并起始列、起始行let &rep=&rep1+&rep2+&rep3+&rep4let &col=&col0let &row=&row0end以上代码供参考,已经做了必要的注释,相信应该可以知道是做什么的。以后如果需要合并报表,其实要改的就是zcfzb_main.shl文件里面的两个段落,一个是“路径设置”个是“报表取数”。比如需要修改批命令的路径和批命令对应的文件名,则改以下蓝色部分。-设置批处理命令的路径。精品文档精品文档let &shl01="合并报表00批命令"let &
17、amp;shl02=" 02 合并 口径"let &shl03=" 2008” let &shl04=&shl01+&shl02+&shl03let &shlclr=" zcfzb_clear.shl" let &shlhb=" zcfzb_hbbb.shl"let &shlclr= &shl04+&shlclr let &shlhb= &shl04+&shlhb如果需要修改需要合并的报表,那么就改以下内容:/ 报表取数-
18、zt003let &rep2=" zt003"/ 设置取数帐套let &row0=&row01设置行起始值/01.分列取数1let &col0=&col01设置列起始值Clet &colmax=&colmax01设置列循环最大值DDO &shlhb/02.分列取数2let &col0=&col02设置列起始值 Glet &colmax=&colmax02设置列循环最大值HDO &shlhb/END如果需要合并的列和行需要修改,则改:/合并报表"let &rep2="zt003"let &rep3="2008”资产负债表.rep"let &col01=3let &colmax01=4let
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 变更租赁条款的相关协议
- 《供应链管理实务》课件
- 铁道机车专业教学湖南铁道左继红98课件
- 工程排碱沟施工方案
- 中华酒文化课件
- 《GB 4706.80-2014家用和类似用途电器的安全 暖脚器和热脚垫的特殊要求》(2025版)深度解析
- 中专职业形象课件模板
- 大学生职业规划大赛《给排水科学与工程专业》生涯发展展示
- 个性与职业课件
- 有条件的股东内部股权转让合同
- 铁粉运输合同协议
- 广东省珠海市2024-2025学年七年级下学期期中考试英语试题(无答案)
- 2024年中国南水北调集团水网发展研究有限公司招聘考试真题
- (四调)武汉市2025届高中毕业生四月调研考试 语文试卷(含答案详解)
- 第4单元 亮火虫(教学设计)-2024-2025学年粤教花城版(2024)音乐一年级下册
- 车间生产材料管理制度
- 2023年郑州铁路职业技术学院单招职业技能考试题库及答案1套
- 2025年融媒体中心招聘考试笔试试题(60题)附答案
- 湖南省2025届高三“一起考”大联考(模拟二)语文试题及参考答案
- 西师大版小学五年级数学(下)期中测试题(含答案)
- 商业地产项目整体经营方案
评论
0/150
提交评论