利用UFO报表批处理制作合并报表(2)

2019-03-29 11:57

CLEAR G7:H55

把文件命名为“D:\\合并报表\\批命令\\2008\\zcfzb_clear.shl”以备调用

然后我们对“zcfzb_main.shl”的批命令再次修改,加入清除数据的批处理。 //首先进入数据状态 DATA //清空数据

DO \合并报表\\批命令\\2008\\zcfzb_clear.shl\ //报表取数

DO \合并报表\\批命令\\2008\\zcfzb_hbbb.shl \

那么以后不管有多少张表,资产负债表,损益表等等,只要每一张表都保存相应的三个批处理(主命令、清空命令、合并命令)。只是每张表需要修改的地方就是将“zcfzb_hbbb.shl”里面的参数做一些修改。比如路径、文件名称、年份,列名等等。

但是能否有更好的办法呢?能否将合并数据作为一个通用的模板,用来调用呢?然后把变量的赋值放在主程序中进行,这样不是更好吗? 模型:

这个时候,我们开始做统一规划了:D:\\合并报表\\批命令\\2008\\ 主程序(主批处理):zcfzb_main.shl 子程序(清空数据):zcfzb_clear.shl 子程序(合并报表):zcfzb_hbbb.shl

先把主程序列出:

主程序(主批处理):zcfzb_main.shl

//----------------------------------------------------程序开始---------------------------------------- //合并报表 //合并报表说明: //zt003广海本部

//----------------------------------------------------首先进入数据状态-------------------------------- //--把变量清空,然后要求输入关键字。 DATA free all

if 年=0

disp \请先输入关键字\return else

//--设置批处理命令的路径。 let &shl01=\合并报表\\00批命令\let &shl02=\母公司\let &shl03=\

let &shl04=&shl01+&shl02+&shl03 let &shlclr=\let &shlhb=\

let &shlclr= &shl04+&shlclr let &shlhb= &shl04+&shlhb

//----------------------------------------------------清空数据---------------------------------------------------- DO &shlclr

//----------------------------------------------------初始化取数报表-------------------------------------------- let &rep1=\合并报表\let &rep2=\

// 设置取数帐套 let &rep3=\

let &rep4=\资产负债表.rep\let &col01=3

//设置列起始值 C

let &colmax01=4

//设置列循环最大值D

let &col02=7

//设置列起始值 G

let &colmax02=8

//设置列循环最大值H

let &row01=7

//设置行起始值 7

let &rowmax=55

//设置行循环最大值55

//-----------------------------------------------------报表取数----zt003 let &rep2=\

// 设置取数帐套 let &row0=&row01

//设置行起始值

//----------------------------------------------------01.分列取数1 let &col0=&col01

//设置列起始值 C let &colmax=&colmax01 //设置列循环最大值 D DO &shlhb

//----------------------------------------------------02.分列取数2 let &col0=&col02

//设置列起始值 G let &colmax=&colmax02 //设置列循环最大值H DO &shlhb

//----------------------------------------------------END------------------------------------------

//---------------------------------------------------保存报表------------------------------------------

//save free all end

//第一层IF的结尾 清空命令:zcfzb_clear.shl //清空数据 CLEAR c7

55

CLEAR g7:h5

合并命令:zcfzb_hbbb.shl

//------------------------合并报表--------------------------------------------- //设置报表路径、合并起始列、起始行 let &rep=&rep1+&rep2+&rep3+&rep4 let &col=&col0 let &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+1 end

以后如果需要合并报表,其实要改的就是zcfzb_main.shl文件里面的两个段落,一个是“路径设置”,一个是“报表取数”。

比如需要修改批命令的路径和批命令对应的文件名,则改以下蓝色部分。 //--设置批处理命令的路径。 let &shl01=\D:\\合并报表\\00批命令\let &shl02=\\\02合并口径\let &shl03=\\\2008\

let &shl04=&shl01+&shl02+&shl03 let &shlclr=\\\zcfzb_clear.shl\

let &shlhb=\\\zcfzb_hbbb.shl\

let &shlclr= &shl04+&shlclr let &shlhb= &shl04+&shlhb

如果需要修改需要合并的报表,那么就改以下内容: //-----------------------------------------------------报表取数----zt003 let &rep2=\\\zt003\

// 设置取数帐套 let &row0=&row01

//设置行起始值

//----------------------------------------------------01.分列取数1 let &col0=&col01

//设置列起始值 C let &colmax=&colmax01 //设置列循环最大值 D DO &shlhb

//----------------------------------------------------02.分列取数2 let &col0=&col02

//设置列起始值 G let &colmax=&colmax02 //设置列循环最大值H DO &shlhb

//----------------------------------------------------END------------------------------------------

如果需要合并的列和行需要修改,则改:

//----------------------------------------------------初始化取数报表-------------------------------------------- let &rep1=\合并报表\let &rep2=\

// 设置取数帐套 let &rep3=\

let &rep4=\资产负债表.rep\let &col01=3


利用UFO报表批处理制作合并报表(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:期中教学检查材料汇编 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: