1、正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 1 本源码下载地址:http:/ 正式帐页详细设计 帐册分析 总帐 LP 选择:会计月份、会计科目会计科目、科目级次科目级次、输出方式(分页/连续)、包含未记帐 凭证 日记帐 LH 除资金日报表外,其他选择内容相同 按月份查询选择:会计月份、科目、币种、包含未记帐凭证、合并同类分录 按日历查询选择:会计日期、科目、币种、包含未记帐凭证、合并同类分录正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 2 现金日记帐 银行日记帐 其他日记帐 资金日报表(不属于帐册范围
2、) 选择:日期(年月日)、级次级次、包含帐前凭证 三栏帐 LHGJZQ 说明:可以不输入的项目有斜体表示 科目三栏帐 选择:会计月份、科目、币种、包含未记帐凭证、合并同类分录 部门三栏帐 科目选择:会计月份、科目、币种、包含未记帐凭证 部门选择:会计月份、部门、币种、包含未记帐凭证 科目部门:会计月份、科目、部门、币种、包含未记帐凭证 项目三栏帐 科目选择:会计月份、科目、项目类别、币种、包含未记帐凭证 项目选择:会计月份、项目类别、项目、币种、包含未记帐凭证 科目项目选择:会计月份、科目、项目类别、项目、币种、包含未记帐凭证 部门项目任意三栏帐 选择:会计月份、部门、项目类别、项目、币种、包
3、含未记帐凭证正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 3 单位三栏帐 科目选择:会计月份、会计科目、单位类别、核算币种、包含未记帐凭证 单位选择:会计月份、单位类别、单位编号、核算币种、包含未记帐凭证 科目单位选择:会计月份、会计科目、单位类别、单位编号、核算币种、包含未记帐凭证 个人三栏帐 科目选择:会计月份、科目、部门、币种、包含未记帐凭证 个人选择:会计月份、部门、个人、币种、包含未记帐凭证 科目个人选择:会计月份、科目、部门、个人、币种、包含未记帐凭证 多栏帐 LBX 科目多栏帐 选择:会计月份、分析科目(_ _ _)、出第_级多栏式帐
4、、分析级次(所有最末级栏目)、币种、 合并对称编号栏目、合并凭证分录、包括未记帐凭证 应交增值税 以前版本存在的问题 问题收集 冯军: 北京医院要求很多,大部分很合理,有关细节请问张志勇、黄金港。 明新建: 我们服务过程中,遇到的问题往往是帐页的格式与打印方式。帐页的格式由于用户的不同需要灵 活定义,但不能违反基本会计规范的约定,我们应该提供一种经常使用的缺省状态的帐页格式。正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 4 打印方式比较麻烦,有的用户提出帐页可否在上次打印的基础上连续打印?但这样作的缺点是操 作太繁锁,但不这样作的结果是导致帐页不可
5、连续性或浪费性。 张秀娟: 1、感觉最最迫切的问题是正式帐页打印,本次打印最后一页一般是不满页的,想下次打印时能够 接着上次打印的最后一页的某一行开始打印,以实现用户意义上的连续打印。用户的正式帐页一 般是每月打印一次,而不是每年打印一次。 2、正式帐页每列宽度的微调整,不要再用一个文件的方式显示出来(LSZBKD.INI)太不容易让 用户接受。 3、若用户选择“打印奇数页”“打印偶数页” ,页左、页右空白需要调换,原软件没有很好的处理。 蔺国强: 1、当前的正式帐页的输出是可以定页输出的,但由于帐页是动态形成的,因此每次在定页输出时 都要将全部的帐形成一遍,这样才能再只输出指定的几面,这种情
6、况下,若一本帐过多时,经常 给出现中断,再接原来的断点输出时,前面的准备工作要做两天才可以。在中油中就有一个单位 是这样:他的往来帐有 600 多页,输出到 400 页左右时打印机中断,再输出 401 时,要准备 40 多个小时才能再输出几页,而且每输出一部分后,机器就要死一次,这样这本帐断断续续打印了 许多天。不知你们对这个问题能有什么好的办法处理。 2、正式帐页输出中,最好能提供一个输出帐页目录及封面的功能,这样输出帐页就比较全面了。 目录中说明每个科目的帐页所在的页号。 3、现在的正式帐页输出中提供的指定页输出、奇偶页输出等最好能象OFFICE 提供的输出一样, 包括通配符的使用,这样大
7、家用起来方便一点。 石连山: 正式帐页连续打印时,缺少目录表(即打印内容与所在页号的对应关系)这样在查询打印内容时, 会很麻烦。 问题分析 帐页格式 比较灵活的设置,但不违反财务规范;正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 5 提供缺省设置,可以恢复; 提供调整列宽的设置 打印方式 连续打印; 连续打印是否考虑打印表头信息; 打印奇偶页和上留空、左留空的处理; 打印选择提供打印范围,并允许使用统配符 帐页打印 数据处理速度慢,但选择打印页数时需要重新将数据全部生成,而且在打印大数据量时经常出现 死机现象 打印前和打印时最好提供打印目录 问题解
8、决方案 分散处理 分散数据处理量,主要解决中油帐页打印问题:科目级数多,数据多而且一年帐页集中打印; 处理的方式将数据按区间进行划分、按科目或部门等进行划分 形成目录 为进行分散处理和打印中断后的继续打印,在一次打印完成后形成相应的目录,对于打印过的内 容可以选择任意页进行打印 设计思路 以辅助系统的三栏帐为例 三栏帐划分为三类:科目、对象(部门、单位、项目、个人)、科目对象 分散处理: 科目,将相关的对象选择出来,逐个传递,在帐页处理模块中进行判断,如果有数据发生则打印; 对象,将相关的科目选择出来,逐个传递,在帐页处理模块中进行判断,如果有数据发生则打印; 科目对象,将会计月份进行分割,逐
9、月传递,在帐页处理模块中分段生成数据并进行打印; 目录格式: 科目,科目、起始页号、起始行号、终止页号、终止行号 对象,对象、起始页号、起始行号、终止页号、终止行号正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 6 科目对象,月份、起始页号、起始行号、终止页号、终止行号 问题: 1、考虑在增加目录表的同时是否增加打印日志表,用于记录没有数据的详细信息,例如过次页、 承前页的余额数据等? 2、如果第一个思路可行,则必定要在公用查询组件中进行部分处理? 回答:没有必要保存,过次页和承前页数据是每次计算的。 使用的表: 1、帐册字典,所有类型的帐页使用统一
10、表 2、参数定义,将帐页进行分类,根据类型设置参数表;可以分为总帐、三栏帐和日记帐、多栏帐 三种 3、目录表,同实际目录内容相似;不同对象所在的起始页号和终止页号,对于对象的内容取决于 不同的帐页,注意参考总帐和多栏帐的目录格式 4、打印日志表,记录打印的参数,如该页的过次页余额和承前页余额、每个对象的信息和起始页 号、起始行号等 设计讨论 讨论记录 1、不同帐页的不同帐式; 处理:在同一帐册中的不同帐页需要不同帐式时,在帐册参数定义中增加帐式参数;如果在同一 帐册中帐式相同则在帐册定义中增加帐式参数 最后方案: 2、不同科目之间增加一行摘要的处理; 处理:需要对查询组件的数据处理进行修改,使
11、用科目统配时形成摘要行;同时,根据起始行号 计算过次页和承前页余额的值(以前没有考虑连续打印的情况,即该帐页不是从第一行打印的情 况)。 3、打印处理是工作量重点; 4、辅助帐页是否提供帐册定义 处理:增加帐册类型表,用于控制是否可以定义该类型的帐册 5、统计各帐页打印的极值,明确数据处理分解方式 备注:了解各帐册输出的方式,对于没有必要分解的数据可以不分解;收集用户帐册,考虑单位 往来和个人往来的处理,需要了解帐页的详细格式和业务方面的需求 6、无发生数据是否打印 处理:是否有必要在帐册定义中设置 7、当分解会计月份时,不是开始月份的要删除期初余额 最后思路 使用最初的数据处理分解方案,关键
12、是分解的粒度; 明确需要使用的表:正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 7 表名 用途 是否统一/备注 帐册类型 记录可以定义的帐页的类型 统一/系统初始时使用 SQL语句方式确定 帐册字典 记录用户定义的帐册内容 统一 帐册参数 义的帐页参数 根据参数要求分类 帐册目录 打印内容的目录 求分类 帐册日志 记录打印的进度和相应的参数 统一/每页数据一行 打印处理方式: (以个人三栏帐为例) 回避 PB 打印中的技术问题,首先考虑正常情况(换页打印)如果传递的分解参数处理后的数据 不够一页时放弃打印并返回标志,帐页输出程序自动将参数累加再进行
13、传递,直到传递的参数可 以打印一页时再进行打印;在帐册输出时维护目录信息,即记录每个被分解的对象所在的页号, 在帐页打印时维护帐册日志,即进行每页的数据范围和对象范围。 打印目录和打印日志的处理: 帐页打印每打印一页时记录打印日志,即在帐页程序中进行;当根据参数打印完毕后传递参数, 在帐册数据程序中记录打印目录; 当打印中止时, 可以根据打印目录和打印日志选择打印的页号。 遗留问题 选择帐页连续打印时表头打印如何处理? 换页方式: 连续打印方式: 方式一 方式二 方式三 问题分析: 科目 101 科目 102 科目 101 科目 102 科目 102 科目 101正式帐页详细设计(打印时间:1
14、1/27/2010 9:08:00 AM)Jin.Tiger 8 可以使用 composite 类型的数据窗口来解决,考虑复杂情况,在一页纸上可能有多个表头;参数 传递和处理算法复杂,在帐页打印时无法处理多组数据参数! 目前不考虑的问题: 1、数据发生变动的情况不考虑 2、只有打印后可以出目录,根据该目录可以帮助进行打印定位 suny意见 帐页页号的编码规则 在统一帐册中页号从1 开始顺序增加; 建议(以后做的工作):在查询打印时增加指定打印页号功能,即页号从指定数字开始编写 帐页连续打印处理 范围:应收帐款、预收帐款、应付帐款、预付帐款、备用金的个人往来、其他应收款中的个人借 款处理方法:可
15、以同 V5.1 的处理;在一张纸上不打印多个表头,即每个帐册只有一个表头;在不同 的参数帐页之间加入一个空行,并在摘要中说明下一个打印的内容 问题:在使用换页输出方式时,是否打印表头?如果打印是根据定义的参数划分表头还是按明细 对象划分(即使用科目统配时,打印一个表头还是每个科目打印一个表头)? 答:在换页输出方式时,打印表头;总帐打印时单独处理,每个科目打印一个表头 魏代森建议 修改定义界面,便于用户理解 数据结构正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 9 帐页类型(ZWZYLX) 调整后新的结构 别 名 列 名 数据类型 空值 缺省 规则
16、 注 释 类型编号 ZWZYLX_LXBH Varchar(3) No 固定结构“111” 名称 ZWZYLX_LXMC Varchar(30) No 级数 ZWZYLX_JS Char(1) No 明细否 ZWZYLX_MX Int No 1:明细;0:非明细 使用否 ZWZYLX_SYF Char(1) No 1:使用;0:不使用 类型分类 ZWZYLX_LXFL Char(2) No ZW:帐务;FZ:辅助;WL:往来 分类编号 ZWZYLX_FLBH Char(3) No 用于各系统创建树索引 create unique clustered index ZWZYLX on ZWZYLX
17、(ZWZYLX_LXBH) 备注:通过使用否在控制是否可以定义该类型的帐页 帐页 ID(ZWZYID) 别 名 列 名 数据类型 空值 缺省 规则 注 释 类型编号 ZWZYID_LXBH Varchar(3) No ZWZYLX_LXBH 输出帐式 ZWZYID_SCZS Char(1) No 1、金额式;2、数量式; 3、外币式;4量外币式 帐页ID ZWZYID_ZYID Varchar(30) No LSZBGS.F_ID;帐页设置ID 设置编号 ZWZYID_SZBH Varchar(30) No LSYMSZ.F_SZBH;页面设置编号 create unique clustere
18、d index ZWZYID on ZWZYID(ZWZYID_LXBH,ZWZYID_SCZS) 帐页格式(ZWZYGS) 别 名 列 名 数据类型 空值 缺省 规则 注 释 帐页类型 ZWZYGS_LXBH Varchar(3) No ZWZYLX_LXBH 格式编号 ZWZYGS_GSBH Varchar(3) No 名称 ZWZYGS_GSMC Varchar(60) No 输出帐式 ZWZYGS_SCZS Char(1) No 1、金额式;2、数量式; 3、外币式;4量外币式 每页行数 ZWZYGS_MYHS Int No 30 补空行否 ZWZYGS_BKHF Char(1) No
19、 1 数据不足一页时打印表格线 1:打印;0:不打印 是否套打 ZWZYGS_SFTD Char(1) No 0 1:套打;0:不套打 换页 ZWZYGS_SFHY Char(1) No 0 两组参数之间是否换页打印 1:换页打印;0:连续打印 无额打印 ZWZYGS_WEDY Char(1) No 0 无发生且无余额是否打印 1:打印;0:不打印 有额打印 ZWZYGS_YEDY Char(1) No 0 无发生但有余额是否打印 1:打印;0:不打印 帐页格式 ZWZYGS_ZYGS Varchar(4) No 帐页表格设置编号LSZBGS.F_GSBH 打印格式 ZWZYGS_DYGS V
20、archar(8) No 打印格式LSYMSZ.F_GSBH 时间 ZWZYGS_DYSJ Varchar(12) 记录上次打印的时间:YYYYMMDDHHMM 起始日期 ZWZYGS_QSRQ VARCHAR(8) 格式:YYYYMM日记帐中为YYYYMMDD 终止日期 ZWZYGS_ZZRQ VARCHAR(8) :YYYYMM YYYYMMDD 打印标志 ZWZYGS_DYBZ Char(1) 0 1:完成;0:未完成正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 10 多栏标志 ZWZYGS_DL BZ Char(1) 0 多栏帐查询中定义的
21、格式为“1” “0” :非; “1” :是 create unique clustered index ZWZYGS on ZWZYGS(ZWZYGS_LXBH,ZWZYGS_GSBH) 帐页参数(ZWSLCS)三栏帐参数 别 名 列 名 数据类型 空值 缺省 规则 注 释 帐页类型 ZWSLCS_ZYLX Varchar(3) No ZWZYGS_LXBH 格式编号 ZWSLCS_GSBH Varchar(3) No ZWZYGS_GSBH 参数编号 ZWSLCS_CSBH Varchar(3) No 参数序号 会计科目 ZWSLCS_KJKM Varchar(30) 在总帐选择中的起始会计
22、科目 结束科目 ZWSLCS_JSKM Varchar(30) 的终止会目 起始级次 ZWSLCS_QSJC Char(1) 在总帐选择中的起始分析级次 终止级次 ZWSLCS_ZZJC Char(1) 的终止分次 合并分录 ZWSLCS_HBFL Char(1) 合并同类分录 N :不合并, Y合并 部门编号 ZWSLCS_BMBH Varchar(20) 单位类别 ZWSLCS_DWLB Varchar(20) 编号 ZWSLCS_DWBH Varchar(10) 单位地区 ZWSLCS_DWDQ Varchar(20) 单位地区编号,暂时不用 项目类别 ZWSLCS_XMLB Varch
23、ar(20) 编号 ZWSLCS_XMBH Varchar(120) 个人编号 ZWSLCS_GRBH Varchar(6) 选择币种 ZWSLCS_XZBZ Varchar(10) create unique clustered index ZWSLCS on ZWSLCS(ZWSLCS_LXBH,ZWSLCS_GSBH,ZWSLCS_CSBH) 帐页目录(ZWSLML)三栏帐目录 别 名 列 名 数据类型 空值 缺省 规则 注 释 帐页类型 ZWSLML_LXBH Varchar(3) No ZWZYGS_LXBH 格式编号 ZWSLML_GSBH Varchar(3) No ZWZYGS
24、_GSBH 目录编号 ZWSLML_MLBH Varchar(6) No 流水编号 摘要内容 ZWSLML_ZYNR Varchar(60) 在连续打印时插入摘要行的内容 会计期间 ZWSLML_KJQJ Varchar(8) 格式:日记帐YYYYMMDD;其他YYYYMM 传递参数 ZWSLML_PARM Varchar(250) 分解后的参数串 起始页号 ZWSLML_QSYH Varcahr(6) 0 ZWZYRZ_DYYH 终止页号 ZWSLML_ZZYH Varchar(6) 0 ZWZYRZ_DYYH 数据行数 ZWSLML_SJHS Varchar(6) 0 记录该参数的记录数
25、create unique clustered index ZWSLML on ZWSLML(ZWSLML_LXBH,ZWSLML_GSBH,ZWSLML_MLBH) 帐页日志(ZWZYRZ) 别 名 列 名 数据类型 空值 缺省 规则 注 释 帐页类型 ZWZYRZ_LXBH Varchar(3) No ZWZYGS_LXBH 格式编号 ZWZYRZ_GSBH Varchar(3) No ZWZYGS_GSBH 打印页号 ZWZYRZ_DYYH Varchar(6) No 起始编号 ZWZYRZ_QSBH Varchar(6) No ZWSLML_MLBH 序号 ZWZYRZ_QSXH Va
26、rchar(6) No 记录本页数据的开始序号正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 1 终止编号 ZWZYRZ_ZZBH Varchar(6) No ZWSLML_MLBH 序号 ZWZYRZ_ZZXH Varchar(6) 记录本页数据的终止序号 结束标志 ZWZYRZ_JSBZ Char(1) No 0 一组参数是否打印完毕 1:完成;0:未完成 页号标志 ZWZYRZ_YHBZ Char(1) No “0” :起始页; “1” :中间页; “2” :终止页 上页行号 ZWZYRZ_SYHH Char(1) No “1” :倒数第1行;
27、 “2” :倒数第2行; “3” 3行 本页行号 ZWZYRZ_BYHH Char(1) No “1” :倒数第1行; “2” :倒数第2行; “3” 3行 create unique clustered index ZWZYRZ on ZWZYRZ(ZWZYRZ_LXBH,ZWZYRZ_GSBH,ZWZYRZ_DYYH) 数据处理设计 参数分析和模拟处理过程 相关参数(辅助三栏帐): 科目 对象 科目对象 选择参数 部门 科目、币种 部门、币种 科目、部门、币种 项目 种 项目种 、项目、币种 部门项目 科目、项目类别、币种 部门、项目、币种 科目、部门、币种 单位 、单位类币种 单位类别、
28、单位、币种 、单位类别、单位、币种 个人 科目、部门、币种 部门、个人、币种 科目、部门、个人、币种 打印分类 部门 部门 科目 月份 项目 项目 科目 月份 部门项目 项目、部门 科目 月份 单位 单位 科目 月份 个人 个人 科目 月份 思考帐页输出要求: 格式参数发生变化时,已经存在的打印目录和打印日志自动取消;正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 12 【换页打印方式】 换页打印目录: 目录编号 科目编号 起始页号 终止页号 数据行数 1 101 1 2 29 2 102 3 3 5 3 201 4 4 6 4 202 5 6 32
29、 5 203 7 7 25 6 301 8 10 59 换页打印日志: 页号 起始编号 起始序号 终止编号 终止序号 结束标志 1 1 1 1 24 0 2 1 25 1 29 1 3 2 1 2 5 1 4 3 1 3 6 1 5 4 1 4 24 0 6 4 25 4 32 1 7 5 1 5 25 1 8 6 1 6 24 0 9 6 25 6 47 0 10 6 48 6 59 1 说明:换页打印时,起始编号终止编号 换页打印处理过程描述: 步骤 帐页输出 帐页打印 1 传递: 编号0001, 科目101 页号1 组织数据 取数据打印,写入日志1 2 返回参数:起始页号、终止页号、数据
30、行数 (1,2,29) 2 形成0001目录(1,2,29) 编号0002,科目102页号3 组织数据 取数据打印,写入日志3;返回:(3,3,5) 3 形成0002目录(3,3,5) 编号0003,科目201页号4 组织数据 取数据打印,写入日志4;返回:(4,4,6) 4 形成上次传递参数的目录 传递本次参数,结束页号+1:5 组织数据,取数据分页打印写入日志; 返回(起始页号,终止页号,数据行数) 0001 101 Page1 0001 101 Page2 0002 102 Page3 0003 201 Page4 0004 202 Page5 0004 202 Page6 0005 2
31、03 Page7 0006 301 Page8 0006 301 Page9 0006 301 Page10正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 13 【连续打印方式】 连续打印目录: 目录编号 科目编号 起始页号 终止页号 数据行数 1 101 1 2 30 2 102 2 3 15 3 201 3 3 2 4 202 3 3 2 5 203 3 5 40 6 301 5 5 15 7 302 6 6 20 8 501 6 6 连续打印日志: 页号 起始编号 起始序号 终止编号 终止序号 结束标志 1 1 1 1 20 0 2 1 21
32、2 10 0 3 2 11 5 5 0 4 5 6 5 32 0 5 5 34 6 20 1 6 7 1 8 15 0 7 8 16 9 连续打印处理过程描述: 步骤 帐页输出 帐页打印 1 传递: 编号0001, 科目101, 打印页号1 组织数据,打印1页,写入日志1 取剩余数据不足一页,返回参数: 起始页号:传递的打印页号1;终止页号:当前 需要打印的页号2;数据行数:24; 完成标志:是否将传递参数的数据打完0 2 记录0001目录 (起始页号1,终止页号2,24) 传递0002,科目102,打印页号 (终止页号+完成标志2+0=2) /*将上次剩余的数据记录在临时表中*/ 组织数据,
33、形成一页打印,写入日志2 取剩余数据不足一页返回参数: (2,3,15,0) 3 记录0002目录(2,3,15) 传递0003,科目201打印页号3 组织数据,数据不足一页返回: (3,3,2,0) 4 记录0003目录(3,3,2) 传递0004,科目202打印页号3 组织数据,数据不足一页返回: (3,3,2,0) 5 记录0004目录(3,3,2) 传递0005,科目203打印页号3 组织数据,形成一页打印,写入日志3; 取剩余数据,形成一页打印,写入日志4; ,不足一页,返回:(3,5,40,0) 6 记录0005目录(3,5,40) 传递0006,科目301打印页号5 组织数据,形
34、成一页打印,写入日志5; 返回:(5,5,15,1) 7 记录0006目录(5,5,15) 传递0007,科目302打印页号6 组织数据,不足一页,返回:(6,6,20,0) 8 记录0007目录(6,6,20) 传递0008,科目501打印页号6 组织数据,形成一页打印,写入日志6; 0001 0002 0003 0004 0005 0006 0007 0008 不同参数打印在 同一页上的情况 同一参数打印在 不同页上的情况正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 14 打印方式处理分析和参数分析 分析对象 换页打印方式 连续打印方式 指定范
35、围输出方式 (指定页号必须是帐 页日志中存在的记 录) A:将指定页号内容形式临时表, 传递临时表; B:根据临时表内容组织数据,打 印帐页;返回; A:打印完成 A:将指定页号内容形式临时表, 传递临时表; B:根据临时表内容组织数据,打 印帐页;返回; A:打印完成 顺序打印输出方式 (确定打印页号后, 自动清除该之后 的打印日志内容) A:传递一组参数及指定页号; B:组织一组数据,打印指定页号 后的内容(包括指定页号),打印 过程增加打印日志,打印完一组 参数的内容后返回; A:形成下一组参数进行传递 A:传递一组参数及指定页号; B:根据参数组织数据; 将数据逐条取出存入DS IF
36、数据形成一页 THEN 打印并记录帐页日志, 删除DS 中的数据; 继续取数据形成下页内容 ELSE 返回(指定页号,当前组织的 页号,数据行数,未完成标志) END IF IF 数据在一页打印完毕 THEN 返回(指定页号,终止页号, 数据行数,打印完成标志) END IF A:根据返回值形成帐页目录; 传递下一组参数和打印页号:终 止页号+完成标志 传递参数 输出方式:指定,顺序 指定方式: 临时表(页号、参数、开始序号) 顺序方式: 1、一组参数 2、该参数的起始页号 3、打印起始页号和打印记录数 输出方式:指定,顺序 指定方式: 临时表(页号、参数、记录数) 顺序方式: 1、一组参数
37、2、该参数的起始页号 3、打印起始页号和打印记录数 返回 指定方式:打印完成标志 顺序方式:(起始页号、终止页 号、数据行数、是否完成) 指定方式:打印完成标志 顺序方式:(起始页号、终止页 号、数据行数、打印完成标志) 备注: 一、日志结构不变,打印页号、起始编号、起始序号、终止编号、终止序号 二、顺序打印时传递一组参数,要求能够从任意位置(已经打印过的)开始打印 三、指定打印时传递临时表(参数),处理时根据临时表内容运算 数据处理的核心: 在打印的处理时将数据存放到DataStore(全局变量gds_ZyPrint)中,内容同一页帐页内容相对, 当组织出一页数据时进行打印并清除数据正式帐页
38、详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 15 处理流程 处理 分类 换页打印方式 传递参数 公用参数; 帐页参数:vsParm (进行分解后的参数,在不同的帐页处理中内容不同); 起始页号:viBeginPage; (该参数打印的起始页号vsOldParameterNumber Then 组织数据ds_Data End If Wf_PrintPage(ds_Data,viBeginRow)/打印一页,不形成帐页日志 VsOldParameterNumber=vsParameterNumber Next 返回打印完成标志 指定输出方式 返回处理 提示打
39、印完成 处理 分类 连续打印方式 顺序输出方式 传递参数 公用参数; 帐页参数:vsParm (进行分解后的参数,在不同的帐页处理中内容不同); 起始页号:viBeginPage; (该参数打印的起始页号vsOldParameterNumber Then 组织数据ds_Data End If VsOldParameterNumber=vsParameterNumber If 记录序号1 And L1 Then /最后一组参数 将数据取出 If 数据序号” vsMid=取出第 I级字符 if Pos(vsMid,”.”)0 then if vsMidFill(., 该级位数) then 返回无效 end if vsKmbh=取出第 I级前的字符 if vsKmbh在科目字典中不存在 then 返回科目无效正式帐页详细设计(打印时间:11/27/2010 9:08:00 AM)Jin.Tiger 30 end if vsMid=取出第 I级后剩余的字符 I+ Next 取统配内容的语句:Where BH like*(注:将.替换为_)