欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    用友UFO解决合并报表材料.doc

    • 资源ID:2725178       资源大小:122.75KB        全文页数:8页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    用友UFO解决合并报表材料.doc

    +2008-1-281. 报表路径:先把路径列出,大家稍微看一下。D:合并报表用于存放批处理文件 (SHL文件)主要有三个内容D:合并报表03管理主体02合并口径01母公司00批命令用于存放最终合并后的报表03管理主体02合并口径01母公司用于存放最终需要合并的报表ZT023ZT003ZT013合并报表编程过程说明:1. 由于第一次编合并报表,所以很多东西不知道,那么就查资料,主要参考三个资料,一个是UFO的二次开发帮助文件,第二个是孙勇写的UFO报表高级应用培训讲义,第三个是用友报表的PDF帮助2. 客户的要求:客户要求将12张资产负债表(当然还有很多其他的表)做合并,这12张分别是不同的下属单位,由于在开始实施的时候,就考虑到合并报表的事情,所以但是在建立帐套的时候,要求所有单位的会计科目(包括辅助核算),报表格式都必须一致,所以这12张表的格式都是一模一样的。开始动手了1. 现在第一步是建立一张合并报表模板,可以直接用现有的资产负债表模板,然后把公式清空,报表文件为“D:合并报表zt0032008资产负债表.rep”2. 报表归类:我们假设合并两张报表就可以了,zt003和zt013,路径如下:D:合并报表D:合并报表zt0032008资产负债表.rep D:合并报表zt0132008资产负债表.rep简单的合并方式:将zt013的资产负债表的对应的单元格与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的数据。但是如果这样做的话,每一个单元格就要一条语句,而且如果有多张表的话,就更加复杂,而且如果到时候要修改的话,比如到了2009年的话,每一条都要改一下,甚至如果单元格发生变化,要改的话,那不是要疯掉!所以在想能不能通过变量来实现,便于后续修改。经过翻查资料,大概知道了变量的应用,然后就来实现吧。第一步,把报表路径变量化,可以直接设定一个变量&rep,然后赋值,语句如下:let &rep="D:合并报表zt0032008资产负债表.rep"那么单元格的赋值就可以这样来写:LET C7=C7+&rep->C7 RELA年 WITH &rep->年,月 WITH &rep->月这样写可以减少修改报表路径的问题,至少改个路径变量值,其他就不用改了,相对来说比较方便一些,但是,问题是单元格也是比较麻烦,一条一来,有没有什么其他办法呢?睡觉的时候突然想到能否用循环来处理,如果可以就好办多了,于是就开始实施,用while循环,但是问题是如何来表示列号和行号呢?经过翻查资料,有一个意外的发现:1) 变量使用关键字年、季、月、日为数值型,单位名称、单位编号为字符型。表示报表名:&REP_NAME->单元格名表示表页号:&TAB表示行号:#&ROW表示列号:!&COL有了这个意外的发现之后,我就想,干脆把路径、列号、行号都用变量表示算了,看看情况如何,代码如下:/设置报表路径、合并起始列、起始行let &rep1="D:合并报表"let &rep2="zt003"let &rep3="2008"let &rep4="资产负债表.rep"let &col0=3let &row0=7/设置报表路径let &rep=&rep1+&rep2+&rep3+&rep4 /设置列号let &col=&col0/设置行号let &row=&row0/通过循环合并数据,合并C7:D55的单元格while &col<=4 while &row<=55 let !&col#&row=!&col#&row+&rep->!&col#&row rela 年 with &rep->年,月 with &rep->月 let &row=&row+1 end let &row=&row0 let &col=&col+1end做了以上变动之后,至少修改起来事比较简单,可以把这段代码保存为“zt003zcfzb.shl”通过以上的批处理命令,我们在执行此批命令的时候,就可以实现把一个表的C7:D55的单元格与ZT003的对应的单元格相加。现在的情况有所变化,我们有两种需要合并的报表,比如D:合并报表zt0032008资产负债表.rep D:合并报表zt0132008资产负债表.rep最终合并到以下表:D:合并报表01母公司2008资产负债表.repZt003 资产负债表Zt003 资产负债表01母公司 资产负债表合并如何实现呢?如何来利用之前做的批命令呢?难道需要把批命令重复写一遍吗?突然想到,能否通过调用批命令文件,相当于编程里面的“include”,那问题就可以解决了,也就是说,将一个合并的批命令写成一个批命令文件,然后来调用,只要有需要合并的时候,就调用此批命令,问题就可以解决了,减少重复工作,同时容易修改。在批处理里面是有一个调用批命令的命令,就是用”DO”命令。我们把之前做的“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把文件命名为“D:合并报表批命令2008zcfzb_clear.shl”以备调用然后我们对“zcfzb_main.shl”的批命令再次修改,加入清除数据的批处理。/首先进入数据状态DATA /清空数据DO "D:合并报表批命令2008zcfzb_clear.shl"/报表取数DO "D:合并报表批命令2008zcfzb_hbbb.shl "那么以后不管有多少张表,资产负债表,损益表等等,只要每一张表都保存相应的三个批处理(主命令、清空命令、合并命令)。只是每张表需要修改的地方就是将“zcfzb_hbbb.shl”里面的参数做一些修改。比如路径、文件名称、年份,列名等等。但是能否有更好的办法呢?能否将合并数据作为一个通用的模板,用来调用呢?然后把变量的赋值放在主程序中进行,这样不是更好吗?模型:主程序:定义变量、赋值子程序1:清空数据子程序2:合并数据子程序3:数据整理这个时候,我们开始做统一规划了:D:合并报表批命令2008主程序(主批处理):zcfzb_main.shl子程序(清空数据):zcfzb_clear.shl子程序(合并报表):zcfzb_hbbb.shl先把主程序列出:主程序(主批处理):zcfzb_main.shl/-程序开始-/合并报表/合并报表说明:/zt003广海本部/-首先进入数据状态-/-把变量清空,然后要求输入关键字。DATA free allif 年=0 disp "请先输入关键字"returnelse/-设置批处理命令的路径。let &shl01="D:合并报表00批命令"let &shl02="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 &rep1="D:合并报表"let &rep2="zt003" / 设置取数帐套let &rep3="2008"let &rep4="资产负债表.rep"let &col01=3/设置列起始值 Clet &colmax01=4 /设置列循环最大值Dlet &col02=7 /设置列起始值 Glet &colmax02=8 /设置列循环最大值Hlet &row01=7/设置行起始值7let &rowmax=55 /设置行循环最大值55/-报表取数-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-/-保存报表-/savefree allend/第一层IF的结尾清空命令:zcfzb_clear.shl/清空数据CLEAR c7:d55CLEAR g7:h5合并命令:zcfzb_hbbb.shl/-合并报表-/设置报表路径、合并起始列、起始行let &rep=&rep1+&rep2+&rep3+&rep4let &col=&col0let &row=&row0/通过循环合并数据while &col<=&colmax while &row<=&rowmax let !&col#&row=!&col#&row+&rep->!&col#&row rela 年 with &rep->年,月 with &rep->月 let &row=&row+1 end let &row=&row0/重新置位,否则行的循环无法进行 let &col=&col+1end以上代码供参考,已经做了必要的注释,相信应该可以知道是做什么的。以后如果需要合并报表,其实要改的就是zcfzb_main.shl文件里面的两个段落,一个是“路径设置”,一个是“报表取数”。比如需要修改批命令的路径和批命令对应的文件名,则改以下蓝色部分。/-设置批处理命令的路径。let &shl01="D:合并报表00批命令"let &shl02="02合并口径"let &shl03="2008"let &shl04=&shl01+&shl02+&shl03let &shlclr="zcfzb_clear.shl"let &shlhb="zcfzb_hbbb.shl"let &shlclr= &shl04+&shlclrlet &shlhb= &shl04+&shlhb如果需要修改需要合并的报表,那么就改以下内容:/-报表取数-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 &rep1="D:合并报表"let &rep2="zt003" / 设置取数帐套let &rep3="2008"let &rep4="资产负债表.rep"let &col01=3/设置列起始值 Clet &colmax01=4 /设置列循环最大值Dlet &col02=7 /设置列起始值 Glet &colmax02=8 /设置列循环最大值Hlet &row01=7/设置行起始值7let &rowmax=55 /设置行循环最大值55如果需要添加合并的报表,比如添加zt013,那么就在zt003的合并代码下,添加以下代码,其实就是复制。/-报表取数-zt013let &rep2="zt013" / 设置取数帐套let &row0=&row01/设置行起始值/-01.分列取数1let &col0=&col01/设置列起始值 Clet &colmax=&colmax01 /设置列循环最大值 DDO &shlhb/-02.分列取数2let &col0=&col02/设置列起始值 Glet &colmax=&colmax02 /设置列循环最大值HDO &shlhb/-END-现在批命令也做出来了,我后来由做了一个自定义菜单,设定点击菜单命令,打开报表,然后在点击菜单的批处理命令,执行zcfzb_main.shl命令就可以了。最后完成了,希望能够给大家一点点的启发。写得比较仓促,有什么问题请发邮件至我邮箱 gdcfqufida.com.cn 或者 cfqlilei139.com。广东用友 陈凤庆2008-10-30

    注意事项

    本文(用友UFO解决合并报表材料.doc)为本站会员(一***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开