会计软件分析与设计_第1页
会计软件分析与设计_第2页
会计软件分析与设计_第3页
会计软件分析与设计_第4页
会计软件分析与设计_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

会计软件分析与设计

第一章帐务处理程序分析

学习目的与要求:

帐务核算系统是会计核算软件中使用最为广泛、最为重要的一个子系统。

本章以系统开发过程为主线,简要介绍各过程的任务、要求及注意事项。

通过本章的学习,要求读者对帐务处理系统的开发过程及每个过程所涉

及的原理有一个初步的了解,明白各个过程完成的内容及任务对以后工

作的重要性。

内容提要

第一节会计工作现状调查

一、系统工作状况调查的要紧内容

1、数据方面的调查。

2、处理内容方面的调查。

3、专门事务方面的调查。

4、处理方式方面的调查。

5、代码方面的调查。

二、企业通常采纳的帐务处理程序

1、记帐凭证帐务处理程序

2、科目汇总表帐务处理程序

3、汇总记帐凭证帐务处理程序

4、多栏式日记帐务处理程序

三、会计工作状况调查的意义

会计工作现状调查是进行系统初步设计的基础,如果会计工作现状没有调

查清晰就进行系统

设计,则可能显现许多咨询题,满足不了用户的需要和功能不全的咨询题

就要使设计人员从头再

来进行系统的调查,因此,设计人员应认真对待调查工作。

第二节系统规划

一、系统规划的任务

按照现状调查所获得的资料,第一应归纳出用户的差不多需求,除满足用

户提

出的要求外,应讲明还有哪些附加功能,关于不能满足的用户要求要讲明

因,所有的系统功能要清晰,在运算机系统的配置,会计数据处理方法,

统开发的初步安排等方面进行规划,编写需求分析讲明书。

二、系统规划的内容

1、运算机系统的配置方面。

2、在信息的处理方式方面。

3、在软件开发打算方面。

第三节概要设计

一、概要设计的任务及意义

概要设计是在系统可行性分析之后,为实现系统进行的技术设计,概要设

工作的好坏,直截了当阻碍到赛用的多少,开发进度的快慢。

二、概要设计的内容

1、系统要求。

2、系统目标的确定。

3、环境设计。

4、通用性设计。

5、保密性设计。

6、可爱护性设计。

7、外部设计。

8、文件设计及其应考虑的因素

数据的使用频度;数据的差不多内容;记录格式;数据的流量;在某些时

下,是否有两个及以上的程序使用数据;占用文件时,是对文件的全部记

录进行处理,依旧处理其中某一部分;文件及数据的保密度,承诺哪些人

存取数据,承诺哪些人只读或禁止访咨询;文件名。

第四节详细设计

一、详细设计的任务

1、对概要设计的功能模块进行过程描述,开发一个能够直截了当转换成

程序语言

代码的软件表示,这种表示应当是无歧义且高度结构化的。

2.为每个模块建立一个“软件开发卷宗”文件。

二、详细设计时期的实施步骤

1、将概要设计产生的构成软件系统的各个功能模块逐步细化,形成若干

程序模块。

2、采纳详细设计工具对程序模块进行过程描述。

3、确定各个模块间的详细接口信息。

4、编写“程序设计讲明书

5、按完成标志进行评审,如未发觉专门咨询题,则处理终止,否则而进

修改,修改后再次评审,直至通过为止。

三、详细设计的完成标志

1、详细地规定了各模块之间的接口,包括参数的形式和传递方式,上下

层调用关系。

2、确定了模块内的算法及数据结构。

四、过程的结构化构造

1、过程的结构化与非结构化

2、过程的结构化应遵循的原则

使用有限数量的差不多逻辑结构;利用差不多结构将过程组成容易识别的

“块;

每块都有且只能有一个入口和一个出口;易于转换成程序代码;容易修改

五、详细设计工具

1、图形工具,以图示方法描述模块处理过程。

2、语言工具,有伪代码或结构化英语来描述数据和处理过程。

3、表格工具,用表格来表示详细处理过程,这类工具适于处理逻辑十分

复杂

的条件和活动间的关联。

4、几种常用的详细设计工具:

流程图;框图;判定树

第五节详细设计交付的文件

一、程序设计讲明书

程序设计讲明书又称详细设计讲明书。编制目的是讲明一个软件系统各层

次中的

每一个模块的设计考虑,其应考虑如下内容:

1.编写目的;2.程序系统的结构;3.程序设计讲明(程序描述;功能;性能;

输入项;输出项;算法;流程逻辑;接口;存贮分配;注释设计;限制条

件;

测试打算;尚未解决的咨询题)

二、模块开发讲明书

模块开发讲明书是在详细设计讲明书经评审和批准后建立的,并在模块开

发过程

中逐步编写出来,它是治理人员监督开发进度并为以后的爱护人员使用的

技术文

件,其要紧内容如下:

标题;模块开发情形(时刻安排);功能讲明;设计讲明;源代码清单;

测试讲明;评审的结论

第二章用户界面程序设计

学习目的与要求:

用户界面确实是用户与运算机系统进行相互交流数据与信息的一些接口规

#

氾,

用户界面的友好性直截了当关系到软件系统的质量。本章通过介绍数据输

入界面、

菜单等有关内容,讲明在进行系统友好界面设计时应遵循的一些差不多规

则及

常用惯例,通过学习,要求读者把握菜单概念及菜单选择的程序实现。

内容提要

第一节数据输入界面设计

一、用户界面及其设计要求

1、用户界面这一术语指的是用户和程序如何相互沟通,屏幕上的任何信

息、

文档资料以及键盘输入的命令差不多上用户界面的一部分,对屏幕设置,

示、菜单和联机关心信息设计的好坏决定着用户界面是否高效、友好,

也决定着软件是否能为用户同意,最佳的用户界面强调良好的屏幕设计,

易于使用和用户友好。

2、用户界面设计时应考虑的一样原则:

必须集成于系统设计之中,而不最后加上;减少击键次数来提升用户效率;

推测用户的下一步动作;提供错误信息来关心纠正错误;

提供文档来减少培训时刻;带有关心信息;支持其它的输入装置。

二、输入数据程序设计要遵循如下原则:

1、简明性

2、一致性

3、完整性

4、使用颜色的原则

5、输入格式

第二节菜单和命令设计

一、菜单及其功能

1、菜单系统将当前承诺用户选择操作的功能名称在屏幕上显示出来,让

用户

选择并完成该功能的一种用户界面形式。

2、菜单的功能

•使不熟练的的用户熟练软件,即表述其功能和特性

•提供可选项的清单

•简化选择,从而防止产生错误

・降低训练费用,因为菜单一步步引导用户完成任务

-减少用户的经历负担

二、菜单式样

1、水平上托式菜单。

2、竖直上托式。

3、下拉菜单。

4、全屏幕菜单。

5、图标式菜单(类WINDOWS风格)。

三、菜单设计的考虑及权衡

1、设计按下ESC键将操纵返回到上一级菜单。

2、同时提供亮条选择菜单及字母菜单选择。

3、考虑用户拥有使用过的其它软件的菜单风格。

4、提供快捷选择。

四、菜单设计原则

1、菜单设计所使用的名称要前后一致。

2、减少选项的数目,一样不要超过8项。

3、减少菜单级数的数目,一样不要超过4级。

4、提供快速返回键。

5、菜单选项的选项内容易于懂得,一样不要使用技术性强的术语。

第四第用户界面程序设计举例

一、下拉式菜单设计举例

CLEAR

DOWHILE.T.

@1,1PROMPT"凭证输入”

@1,10PROMPT“查询”

@1,20PROMPT“记帐”

@1,30PROMPT“打印”

@1,40PROMPT“系统设置”

@1,50PROMPT“月末结转”

@1,60PROMPT“数据库爱护”

@1,70PROMPT“退出”

MENUTOCHO

DOCASE

CASECHO=1

SELECT10

USEGQCW1

APPENDBLANK

REPLACEBHWITHMXM,RRWITH”凭证输入”

RQWITHMA1,SJ1WITHTIME()

SETCOLORTOGB

@4,2CLEARTO11,22DOUBLE

SETCOLORTOWIB

@3,1CLEARTO10,21DOUBLE

@5,3PROMPT“1,采购单输入”

@6,3PROMPT“2,领料单输入”

@7,3PROMPT“3,修改采购单”

@8,3PROMPT“4,修改领料单”

@9,3PROMPT“0,退出”

MENUTOCHOI

DOCASE

ENDCASE

ENDCASE

ENDDO

二、全屏幕菜单设计举例

三、全屏幕菜单设计举例2

第四章凭证处理程序分析与设计

第一节凭证的手工处理

一、凭证的分类

1、凭证一样分为原始凭证和记帐凭证

2、记帐凭证一样分为收款凭证、付款凭证和转帐凭证。

记帐凭证一样具有以下内容:

1.凭证的名称。

2.填制凭证的日期和编号。

3.经济业务的内容摘要。

4.经济业务的金额。

5.填制凭证的单位及有关人员。

6.应借应贷帐户的名称。

7.所附原始凭证的张数和过帐备注。

二、会计人员对记帐凭证的处理程序大至如下:

1.按照原始凭证填制记帐凭证;

2.审核凭证,审查其合法性、正确性;

3.修改凭证,对错误的凭证进行修改;

4.查阅凭证,查阅已填制的凭证;

5.传递凭证,从填制或取得会计凭证到将其归档储存为止,在有关业务部门

间按照规定的时刻,路线传递处理的程序。

第二节电算化凭证处理

一、电算化凭证处理的功能

1.录入为用户提供:

显示凭证表格;灵活的编辑手段;储存用户录入的凭证;

提供一定的检控功能;返回主控模块;

2.查询为用户提供:

用户查询某个特定凭证;按凭证编号查询;

按任一条件查询满足条件的第一张凭证;

按任意组合条件查询满足条件的第一张凭证(凭证编号不能参加条件组合);

用户查询多张凭证;

按任一条件逐个查询满足条件的凭证;

按任意组合条件逐个查询满足条件的凭证;

暂存查询信息;

3、修改及删除

4、凭证输出

二、电算化凭证处理与手工凭证处理的区别:

1.信息项不完全相同

2.凭证的编号方法不一样

3.储备形式不同

4.储备空间的利用率不一样

第三节凭证处理程序的安全可靠性

一、凭证出错的来源

1、人为造成

2、(系统)处理程序出错。

3、电算化凭证处理模块的安全可靠性操纵的措施:

L严格的多级安全操纵用户级;凭证级

2.全方位的录入检测

二、数据安全可靠性的实施措施

1、逻辑校验法利用数据间的逻辑关系

2、平稳校验法利用“有借必有贷,借贷必相等”的会计差不多准则。

3、查询校验法利用数据的相对稳固性

4、关联校验法利用凭证数据的对应不可能性

5、重复校验法利用概率统计的原理

第四节凭证处理程序的设计

一、系统应满足的要求

1.稳固性

系统应能保证所有的处理稳固、处理的结果不随时刻波动,仅仅依靠于输

入。

2.一致性

系统内的数据必须保持一致。

3.良好的用户界面

用户界面要求方便适用、美观简洁。

4.灵活性

不受时刻、过程的限制。

5.完备性

提供一切有关凭证处理的功能,并加以强化。

6.快速

二、凭证处理模块的设计

第五节凭证处理程序的实现

一、凭证录入

<}c<]c^{c

*凭证输入总控程序PZSR.PRG

*{c<}c5{c*fcr|c<|c^|c

PARAW_TITLE,BAR_NUM

HIDEMENUMAINMENU

SETCOLOROFSCHEME13TORGB(150,150,150,50,50,50),,;

RGB(150,150,150,50,50,50),RGB(150,150,150,150,0,0),RGB(150,150,150,50,5

0,50)

DEFINEWINDOWSZFROM1,0TO23,79FOOTER""+W_TITLE+"

"COLORSCHEME13

ACTIVATEWINDOWSZ

CHO=1

DOCASE

CASEBAR_NUM=1

DOPZSR11

CHO=0

CASEBAR_NUM=2

DOPZSR22

CHO=0

CASEBAR_NUM=3

DOPZSR4

CHO=0

CASEBAR_NUM=5

PZLXQ="S"

DOCXPZKHC1WITHPZLXQ

CASEBAR_NUM=6

PZLXQ="F"

DOCXPZKHC1WITHPZLXQ

CASEBAR_NUM=7

PZLXQ="Z"

DOCXPZKHC1WITHPZLXQ

CASEBAR_NUM=9

DOPZXG11

SELE1

DELEALLFORJE=O

PACK

CHO=0

CASEBAR_NUM=10

DOPZXG22

SELE1

DELEALLFORJE=O

PACK

CHO=0

CASEBAR_NUM=11

DOPZXG4

SELE1

DELEALLFORJE=O

PACK

CHO=0

CASEBAR_NUM=13

DODYPZ

CASEBAR_NUM=14

DODYPZMXB1

CASEBARNUM=15

DODYPZHZB

ENDCASE

IFCHO=0

DOPZKBF

ENDIF

CLEARWINDOWSZ

RETURN

*:EOF:PZSR.PRG

*收款凭证输入程序PZSR11.PRG

JjC*|c^{c

SETTALKOFF

DEFIWINDPZSR1FROM19,20TO21,60SHADCOLOSCHE12

DEFIWINDPZSR2FROM19,10TO21,70SHADCOLOSCHE14

AN="Y"

PUBLICDIMENSIONZY(25),DFKM(25),JE(25),XMH(25)

DOWHILEUPPER(AN)="Y"

JFKM1=""

FDJ1=0

BH1=""

RQ1=MRQ

MRB="S"

DOZWBHWITHBH1

MY=1

MX="Y"

MHJ=0

MHJ1=0

MHJ2=0

MX="Y"

DOWHILEUPPER(MX)="Y"

I=1

DOWHILEI<=25

STORESPACE(24)TOZY(I)

DFKM(I)=SPACE(ll)

XMH(I)=SPACE(IO)

JE(I)=0.00

I=1+1

ENDDO

CLEAR

DOWHILE,T.

CLEARTYPE

A2="XXXXXXXXXXXXXXXXXXXXXXXX"

A3="999########"

A5="XXXXXXXXXX"

A6="999999999.99"

DOWHILE.T.

SETFORMATTOPZ12

READ

IFREADKEY()=36.OR.READKEY()=292

EXIT

ELSE

LOOP

ENDIF

ENDDO

SETFORMATTO

@17,58GETFDJ1PICTURE"99"

READ

IFJFKM1="".AND.BH1=""

CLEAR

RETURN

ENDIF

IFMY=1

SELECT1

SEEK"&BH1"+"S"

IF.NOT.EOFO

ACTIWINDPZSR1

@0,1SAY"重号,按任意键重新输入”

WAIT""

DEACWINDPZSR1

LOOP

ENDIF

SELECT2

SEEK"&BH1"+"S"

IF.NOT.EOFO

ACTIWINDPZSR1

@0,1SAY”重号,按任意键重新输入”

WAIT""

DEACWINDPZSR1

LOOP

ENDIF

ENDIF

SELE1

IFLEN(TRIM(BH1))<4

ACTIWINDPZSR1

@0,1SAY”编号长度不够4位,按任键重新输入!”

WAIT""

DEACWINDPZSR1

LOOP

ENDIF

SELECT3

IFJFKM1=""

LOOP

ELSE

SEEKJFKM1

IF.NOT.EOF()

ACTIWINDPZSR2

@0,1SAY"借方科目名称:"+TRIM(KMMC)+"按任意键连续"

WAIT""

DEACWINDPZSR2

ENDIF

IFEOF().OR.UPPE(KMRB)="H"

ACTIWINDPZSR1

@0,1SAY"借方科目错,按任意键重新输入”

WAIT""

DEACWINDPZSR1

LOOP

ENDIF

ENDIF

I=1

DOWHILEI<=25

IFDFKM(I)<>""

MHJ2=MHJ2+JE(I)

MHJ1=MHJ2

ENDIF

I=1+1

ENDDO

@15,61GETMHJ1PICTURE"#########.##"

READ

IFMHJ1OMHJ2

ACTIWINDPZSR1

@0,1SAY”输入金额错,按任意键连续"

WAIT""

DEACWINDPZSR1

MHJ2=MHJ

LOOP

ENDIF

FLAG=0

SELECT3

J=1

DOWHILEJ<=25

IFJE(J)<>0.00

IFTRIM(DFKM(J))<>""

SEEKTRIM(DFKM(J))

IF.NOT.EOFO

MKMDM=TRIM(DFKM(J))

KMMC1=""

DOZW_KMMCWITHMKMDM,KMMC1

IFLEN(TRIM(KMMCl))<>0

ACTIWINDPZSR2

@0,1SAY"贷方科目名称:"+TRIM(KMMC1)+"按任意键连续"

WAIT""

DEACWINDPZSR2

ENDI

ENDIF

IFEOF().OR.UPPE(KMRB)="H"

FLAG=1

EXIT

ENDIF

ENDIF

ENDIF

J=J+l

ENDDO

IFFLAG=1

ACTIWINDPZSR1

@0,1SAYTRIM(DFKM(J))+"贷方科目代码错,按任意键重新输入

WAIT""

DEACWINDPZSR1

MHJ2=MHJ

LOOP

ENDIF

FLAG3=0

SELECT4

I=1

DOWHILEI<=25

IFLEN(TRIM(XMH(I)))<>0

SEEKTRIM(XMH(I))

IFEOF()

ACTIWINDPZSR1

@0,1SAY"编号:"+TRIM(XMH(I))+"错,按任意键重新输入"

WAIT""

DEACWINDPZSR1

FLAG3=1

EXIT

ENDIF

IFLEN(TRIM(XMH(I)))<>LEN(TRIM(PJH))

ACTIWINDPZSR1

@0,1SAY"编号:"+TRIM(XMH⑴)+"错,按任意键重新输入"

WAIT""

DEACWINDPZSR1

FLAG3=1

EXIT

ENDIF

ACTIWINDPZSR2

@0,1SAY"名称:"+TRIM(DWMC)+”按任意键连续”

WAIT""

DEACWINDPZSR2

ENDIF

I=1+1

ENDDO

IFFLAG3=1

MHJ2=MHJ

LOOP

ENDIF

YN="Y"

ACTIWINDPZSR1

@0,1SAY"请检查录入凭证正确否?Y/N"GETYN

READ

IFUPPER(YN)o"Y"

MHJ2=MHJ

DEACWINDPZSR1

LOOP

ELSE

MHJ=MHJ2

DEACWINDPZSR1

EXIT

ENDIF

ENDDO

SELECT1

J=1

DOWHILEJ<=25

IFJE(J)<>0.00

IFDFKM(J)<>""

APPENDBLANK

REPLACERQWITHRQ1,BHWITHBH1,ZYWITHZY(J)

REPLACEKMDMWITHDFKM(J),JEWITHJE(J),PZRBWITH"S"

REPLACEJDWITH"D",PJHWITHXMH(J)

ENDIF

ENDIF

J=J+l

ENDDO

ACTIWINDPZSR1

STORE"N"TOMX

@0,1SAY"还有同号凭证否Y/N?"GETMX

READ

DEACWINDPZSR1

IFUPPER(MX)="N"

APPENDBLANK

REPLACERQWITHRQ1,BHWITHBH1,ZYWITHZY(1),KMD

MWITHJFKM1

REPLACEJEWITHMHJ,PZRBWITH"S",JDWITH"J"

REPLACEFDJWITHFDJ1

EXIT

ENDIF

MX="Y"

MY=0

ENDDO

ACTIWINDPZSR1

@0,1SAY"连续输入否?Y/N"GETAN

READ

DEACWINDPZSR1

IFUPPER(AN)o"Y"

EXIT

ENDIF

ENDDO

CLEAR

RETURN

*:EOF:PZSR11.PRG

*生成凭证号ZWBH.PRG

PARAMETERSMBH

SETTALKOFF

SELE1

SETINDETODATA\PZKHC1

GOTOP

LOCATEFORUPPER(PZRB)=UPPER(MRB)

IFEOF()

SELECT2

SETINDETOPZK1

LOCATEFORUPPER(PZRB)=UPPER(MRB)

IFEOF()

MBH="0001"

RETURN

ELSE

GOBOTTOM

MBH=BH

DOWHILE.NOT.BOF()

IFUPPER(PZRB)<>UPPER(MRB)

SKIP-1

IFBOF()

MBH="0001"

EXIT

ENDIF

ELSE

XI=VAL(BH)

XI=Xl+1

X2=TRIM(LTRIM(STR(X1)))

DOCASE

CASELEN(X2)=1

MBH="000"+X2

CASELEN(X2)=2

MBH="00"+X2

CASELEN(X2)=3

MBH="0"+X2

CASELEN(X2)=4

MBH=X2

ENDCASE

EXIT

ENDIF

ENDDO

RETURN

ENDIF

ELSE

GOBOTTOM

MBH=BH

DOWHILE.NOT.BOF()

IFUPPER(PZRB)<>UPPER(MRB)

SKIP-1

IFBOF()

MBH="0001"

EXIT

ENDIF

ELSE

XI=VAL(BH)

XI=Xl+1

X2=TRIM(LTRIM(STR(X1)))

DOCASE

CASELEN(X2)=1

MBH="000"+X2

CASELEN(X2)=2

MBH="00"+X2

CASELEN(X2)=3

MBH="0"+X2

CASELEN(X2)=4

MBH=X2

ENDCASE

EXIT

ENDIF

ENDDO

ENDIF

RETURN

51c<{c^}c^|c

*凭证输入格式文件PZSR11.FMT

JjC^|c<|c<]c^{c^|c

*fc*jC^|c*}c^c*{c^c^c<{c^c

*第一屏*

<|c^c<|c*!*<|c<{cJ|C<|c^c^c

@17,50SAY,附单据张,

@5,16GETJFKM1

@5,36GETRQ1

@5,64GETBH1

@9,3GETZY(1)PICTA2

@9,30GETDFKM(l)PICTA3

@9,43GETXMH(l)PICTA5

@9,60GETJE(1)PICTA6

@10,3GETZY(2)PICTA2

@10,30GETDFKM(2)PICTA3

@10,43GETXMH(2)PICTA5

@10,60GETJE(2)PICTA6

@11,3GETZY(3)PICTA2

@11,30GETDFKM(3)PICTA3

@11,43GETXMH(3)PICTA5

@11,60GETJE(3)PICTA6

@12,3GETZY(4)PICTA2

@12,30GETDFKM(4)PICTA3

@12,43GETXMH(4)PICTA5

@12,60GETJE(4)PICTA6

@13,3GETZY(5)PICTA2

@13,30GETDFKM(5)PICTA3

@13,43GETXMH(5)PICTA5

@13,60GETJE(5)PICTA6

@17,20SAY'第一屏,

@20,26SAY'输入完一张凭证键Fl退出,

READ

51c

*生成科目名称ZW_KMMC*

PARAMETERSKMDM,KMMC1

KMDM1=""

KMDM2=""

KMDM3=""

KMDM4=""

KMDM1=SUBSTR(KMDM,1,3)

DOCASE

CASELEN(TRIM(KMDM))=11

KMDM2=SUBSTR(KMDM,1,5)

KMDM3=SUBSTR(KMDM,1,7)

KMDM4=SUBSTR(KMDM,1,9)

KMDM4=SUBSTR(KMDM,1,11)

CASELEN(TRIM(KMDM))=9

KMDM2=SUBSTR(KMDM,1,5)

KMDM3=SUBSTR(KMDM,1,7)

KMDM4=SUBSTR(KMDM,1,9)

CASELEN(TRIM(KMDM))=7

KMDM2=SUBSTR(KMDM,1,5)

KMDM3=SUBSTR(KMDM,1,7)

CASELEN(TRIM(KMDM))=5

KMDM2=SUBSTR(KMDM,1,5)

ENDCASE

MI=1

KMMC1=""

SELECT3

DOWHILEMI<=4

MJ=STR(MI,1)

IFKMDM&MJo""

SEEKKMDM&MJ

KMMC1=KMMC1+TRIM(KMMC)+'7"

KMDM&MJ=""

ENDIF

MI=MI+1

ENDDO

RETURN

*查询凭证程序CXPZKHC1.PRG*

PARAPZLXQ

PUBLICDIMENSIONPZHl(lOOO)

STORE""TOPZH1

DEFIWINDPZCXFROM3,25TO16,50SHADDOUBLCOLOSCHE

14

DEFIWINDPZCX1FROM18,20TO21,60SHADDOUBLCOLOSC

HE14

DOWHILE.T.

ACTIWINDPZCX

@0,3SAY”凭证查询功能选择模块”

@2,3PROMPT"1按日期查询"

@3,3PROMPT"2按凭证号查询"

@4,3PROMPT"3按科目码查询"

@5,3PROMPT"4按金额查询"

@6,3PROMPT"5按组合条件查询"

@7,3PROMPT"6查询期限发生额"

@8,3PROMPT"0退出"

@10,2SAY"请选择"

MENUTOCH

DEACWINDPZCX

B12=DATE()

Bll=DATE()

Il=1

DOCASE

CASECH=1

DOWHILE.T.

ACTIWINDPZCX1

@0,0SAY"输入查询日期求:日至日

@0,15GETBll

@0,27GETB12

READ

DEACWINDPZCX1

IFB11>B12

LOOP

ELSE

EXIT

ENDIF

ENDDO

SELECT1

BO=""'+DTOC(B11)+

B2=+DTOC(B12)+

Bl="RQ>=CTOD("+BO+").AND.RQ<=CTOD("+B2+").AND.UPP

E(PZRB)=";

+UPPE(PZLXQ)+

KZ1=""

DOCXPZKHC2WITHPZLXQ,KZ1

IFKZlo""

LOOP

ENDIF

DOCXPZKHC3WITHPZLXQ

CASECH=2

DOWHILE,T.

All=""

A12=""

ACTIWINDPZCX1

@0,0SAY"请输入查询凭证号:号至号"

@0,18GETAllPICTURE"9999"

@0,28GETA12PICTURE"9999"

READ

A11=TRIM(A11)

A12=TRIM(A12)

DEACWINDPZCX1

IFA11>A12.OR.LEN(TRIM(A11))=O.OR.LEN(TRIM(A12))=0

LOOP

ELSE

EXIT

ENDIF

ENDDO

Bl="BH>='"+All+",.AND.BH<='"+A12+",.AND.UPPE(PZRB)=,"+

UPPE(PZLXQ)+

SELECT1

KZ1=""

DOCXPZKHC2WITHPZLXQ,KZ1

IFKZlo""

LOOP

ENDIF

DOCXPZKHC3WITHPZLXQ

CASECH=3

KMBM1=""

DOWHILE.T.

ACTIWINDPZCX1

@0,0SAY”请输入查询科目编码:"GETKMBM1PICTURE"9999999

9999"

READ

DEACWINDPZCX1

IFLEN(TRIM(KMBM1))=0

LOOP

ELSE

EXIT

ENDIF

ENDDO

KMBM1=+KMBM1+

Bl="KMDM="+KMBM1+".AND.UPPE(PZRB)="++UPPE(PZLXQ)+

SELECT1

KZ1tl

DOCXPZKHC2WITHPZLXQ,KZ1

IFKZlo""

LOOP

ENDIF

DOCXPZKHC3WITHPZLXQ

CASECH=4

Cll=0

ACTIWINDPZCX1

@0,0SAY”请输入查询金额:"GETCllPICTURE"9999999999.99"

READ

DEACWINDPZCX1

Bl="JE="+STR(C11,12,2)+".AND.UPPE(PZRB)="++UPPE(PZLXQ)+

SELECT1

KZ1=""

DOCXPZKHC2WITHPZLXQ,KZ1

IFKZlo""

LOOP

ENDIF

DOCXPZKHC3WITHPZLXQ

CASECH=5

DOWHILE.T.

Alli=0

A112=0

Cll=""

C12=0

ACTIWINDPZCX1

@0,0SAY"输入查询要求:日期日至日"

@1,0SAY"凭证号号至号"

@0,17GETB11

@0,27GETB12

@1,17GETAlliPICTURE"9999"

@1,27GETA112PICTURE"9999"

READ

DEACWINDPZCX1

IFA111>A112.OR.B11>B12.OR.A111=O.OR.A112=0

LOOP

ELSE

EXIT

ENDIF

ENDDO

BO=+DTOC(B11)+

B2="'"+DTOC(B12)+

Bl="RQ>=CTOD("+BO+").AND.RQ<=CTOD("+B2+").AND.BH>="++;

STR(A111,4,0)++".AND.BH<="++STR(A112,4,0)++;

".AND.UPPE(PZRB)="++UPPE(PZLXQ)+

SELECT1

KZ1=""

DOCXPZKHC2WITHPZLXQ,KZ1

IFKZlo""

LOOP

ENDIF

DOCXPZKHC3WITHPZLXQ

CASECH=6

KMBM1=""

RQ1=0

RQ2=0

DOWHILE,T.

ACTIWINDPZCX1

@0,1SAY”请输入查询科目代码:"GETKMBM1PICTURE"9999999

tl

READ

DEACWINDPZCX1

IFKMBM1=""

LOOP

ELSE

EXIT

ENDIF

ENDDO

SELECT3

SEEKKMBM1

IFEOF()

ACTIWINDPZCX1

@0,0SAY"查无此科目码!按任一键返回!"

WAIT""

DEACWINDPZCX1

LOOP

ENDIF

DOWHILE.T.

ACTIWINDPZCX1

@0,0SAY"请输入查询期限从日至日"

@0,17GETRQ1PICTURE"99"VALIDRQ1>=1.AND.RQ1<=31

@0,24GETRQ2PICTURE"99"VALIDRQ2>=1.AND.RQ2<=31

READ

DEACWINDPZCX1

IFRQ1>RQ2.OR.RQ1=0.OR.RQ2=0

LOOP

ELSE

EXIT

ENDIF

ENDDO

DOCXPZKHC4

CASECH=7

RETURN

ENDCASE

ENDDO

RETURN

*:EOF:CXPZKHC1.PRG

*查询凭证子程序CXPZKHC2.PRG*

<}c

PARAMETERSPZLXQ,KZ1

DEFIWINDPZCX21FROM18,20TO20,60SHADCOLOSCHE12

SELECT1

GOTOP

LOCAFOR&B1

IFEOF()

ACTIWINDPZCX21

@0,0SAY"查无此凭证!按任一键返回!"

WAIT""

DEACWINDPZCX21

KZ1="N"

RETURN

ENDIF

PZH1=SPACE(4)

DOWHILE.NOT.EOF()

IFPZH1(I1)<>BH

Il=11+1

PZHl(Il)=BH

ENDIF

CONTINUE

ENDDO

RETURN

<jc5jc

*查询凭证子程序CXPZKHC3.PRG*

?{c51c*|c^|c^|c^|c<}c^}c?|c

PARAPZLXQ

SELE12

USEDATA\ZWKLK

MDWMC=DWMC

SELECT1

J=2

DOWHILEJ<=I1

LOCATEFORBH=PZH1(J).AND.PZRB=PZLXQ

IFLOWER(PZLXQ)="S"

LX="收款"

ELSE

IFLOWER(PZLXQ尸"F"

LX="付款"

ELSE

LX="转帐"

ENDIF

ENDIF

@1,35SAYLX+"凭证"

LINE1="单位:"+TRIM(MDWMC)+""+NN+"年"+YY+"月"+RR+"日"+"

第"+BH+"号"

LINE2="।11——I

LINE3="|摘要|科目名称|JD|金额|"

LINE4="|11-

H-

@2,0SAYLINE1

@3,0SAYLINE2

@4,0SAYLINE3

@5,0SAYLINE4

PZH1(J)=BH

I=5

DOWHILE.NOT.EOF().AND.BH=PZH1(J).AND.PZRB=PZLXQ

SELECT3

STORE""TOKMMC1,KMMC2,KMMC3

IFLEN(TRIM(A->KMDM))=3

SEEKA->KMDM

KMMC1=TRIM(KMMC)

ELSE

IFLEN(TRIM(A->KMDM))=5

SEEKLEFT(A->KMDM,3)

KMMC1=TRIM(KMMC)

SEEKA->KMDM

KMMC2=TRIM(KMMC)

ELSE

IFLEN(TRIM(A->KMDM))=7

SEEKLEFT(A->KMDM,3)

KMMC1=TRIM(KMMC)

SEEKLEFT(A->KMDM,5)

KMMC2=TRIM(KMMC)

SEEKA->KMDM

KMMC3=TRIM(KMMC)

ELSE

SEEKLEFT(A->KMDM,3)

KMMC1=TRIM(KMMC)

SEEKLEFT(A->KMDM,5)

KMMC2=TRIM(KMMC)

SEEKLEFT(A->KMDM,7)

KMMC3=TRIM(KMMC)

SEEKA->KMDM

KMMC3=KMMC3+TRIM(KMMC)

ENDIF

ENDIF

ENDIF

SELECT1

IFI<=12

I=1+1

@1,0SAY"|"+SUBS(ZY,1,18)

@I,20SAY"|"+TRIM(KMMCl)+"-"+TRIM(KMMC2)+"-"+TRIM(KM

MC3)

IFLOWER(JD)="J"

@I,56SAY"|"+"借"+"|"+STR(JE,12,2)+"|"

ELSE

@I,56SAY"|"+"贷"+"|"+STR(JE,12,2)+"|"

ENDIF

ELSE

@ROW(),0SAY"111—

@ROW()+1,20SAY"阅毕,按任一键连续"

WAIT""

CLEA

@1,35SAYLX+"凭证"

@2,0SAYLINE1

@3,0SAYLINE2

@4,0SAYLINE3

@5,0SAYLINE4

1=6

@1,0SAY"|"+SUBS(ZY,1,18)

@I,20SAY"|"+TRIM(KMMC1)+"-"+TRIM(KMMC2)+"-"+TRIM(KM

MC3)

IFLOWER(JD)="J"

@I,56SAY"|"+"借|"+STR(JE/2,2)+"|"

ELSE

@I,56SAY"|"+"贷|"+STR(JE,12,2)+"|"

ENDIF

ENDIF

SKIP

ENDDO

@1+1,0SAY"111——1—

@1+2,10SAY"第"+LTRIM(RTRIM(STR(J-1)))+"张”

@1+3,10SAY"按R键返屏!Q键退出!其它键连续…"

WAIT""TOFl

IFUPPE(F1)="Q"

CLEA

RETURN

ENDIF

CLEA

IFUPPE(F1)="R"

J=J-2

ENDIF

IFJ<1

J=1

ENDIF

J=J+l

ENDDO

IFJ=2

RETURN

ENDIF

@1+3,8SAY"查询完毕,按任一键返回.•…"

WAIT""

@1+3,8SAYSPACE(70)

RETURN

第五章登记帐簿程序分析与设计

第一节登记帐簿程序分析

在凭证输入终止后即需要用凭证数据来更新科目余额文件中相应科目的发

生额数

据项和累计发生额数据项,并运算出期末余额数据项,由于凭证数据中相

同科目

的业务不止一笔,因此,在更新数据之前,即要将凭证数据按科目代码进

行汇总

,将汇总的结果来对科目余额文件中相应的科目余额数据项进行更新操作,

从而

形成最新的科目余额数据,然后按照逐级汇总的方法,下级科目汇总后生

成上级

科目余额数据,这确实是登记帐薄的过程。那个过程有两个要紧步骤,一

是凭证汇

总,二是按科目逐级汇总。

只有明细科目的数据是从临时汇总库得到的,其它的数据差不多上由下级

科目经汇总

后得到的,在登记帐薄程序中所要用到的数据库有PZKHC.DBF文件(未登

帐凭证数

据)、KMYE.DBF(科目余额)、DMMCK.DBF(单位往来帐余额文件)和PZK.

DBF(已登帐

凭证文件),另外确实是一些临时用汇总文件,临时用汇总文件的文件结构

与凭证库

文件结构相同,这些文件的内容如下所示:

凭证库文件结构

1RQ日期D8

2BH凭证号C4

3KMDM科目代码C11322:2:2与科目代码库的内容一致

4ZY摘要C24

5JE金额N122

6FDJ附单据N2

7PZRB凭证类别C1S,F,Z

8JD借贷C1J,D

9PJH单位代码C10与单位往来帐的一致

科目余额库文件结构

1RQ(日期)日期型8

2KMDM(科目代码)字符型113:2;2:2:2

3KMMC(科目名称)字符型12

4NCYE(年初余额)数值型122

5NCLX(年初类型)字符型12J,D

6QCYE(期初余额)数值型142

7QCLX(期初类型)字符型1J,D

8JFF(借方发生)数值型142

9DFF(贷方发生)数值型142

10JFLJ(借方累计)数值型142

11DFLJ(贷方累计)数值型142

12QMYE(期末余额)数值型142

13QMLX(期末类型)字符型1J,D

14KMRB(科目待征)字符型1H汇总型,M明细型

单位往来帐文件结构

1PJH单位编号字符型10

2DWMC单位名称字符型24

3QCYE期初余额数字型122

4QCLX期初类型字符型1

5JFF借方发生额数字型122

6DFF贷方发生额数字型122

7JFLJ借方累计额数字型122

8DFLJ贷方累计额数字型122

9QMYE期末余额数字型122

10QMLX期末类型字符型1

第二节登记帐薄程序设计

文件被打开的工作区间是:

A区:凭证文件(未登帐凭证文件)PZKHC.DBF

B区:凭证文件(已登帐凭证文件)PZK.DBF

C区:科目余额文件KMYE.DBF

D区:单位往来帐文件DWMC.DBF

E区:单位往来帐凭证文件

*更新帐簿GXZP.PRG*

*}c

DEFIWINDGXZPFROM4,20TO16,60SHADCOLOSCHE14DOU

BL

DEFIWINDGXZP1FROM18,20TO20,60SHADCOLOSCHE12

ACTIWINDGXZP

YY="N"

@0,1SAY”登计帐簿否Y/N?"GETYYPICTURE"X"

READKLM》

UH14*23[JZ]图5.2

IFUPPER(YY)o"Y"

DEACWINDGXZP

RETURN

ENDIF

SELECT9

USEBAK\KMYEBFINDEXBAK\KMYEBF1

DELETEALL

PACK

APPENDFROMDATA\KMYE

USE

SELECT9

USEBAK\DMMCKBFINDEXBAK\DMMCKBF1

DELETEALL

PACK

APPENDFROMDATA\DMMCK

USE

SELECT3

REINDEX

SELECT1

SETINDETODATA\PZKHC2

REINDEX

SELECT4

REINDEX

IFFILE("MKMHZJ.DBF")

ERASEMKMHZJ.DBF

ENDI

IFFILE("MKMHZD.DBF")

ERASEMKMHZD.DBF

ENDI

SELECT1

PZH1=BH

GOBOTTOM

PZH2=BH

IFRECCOUNT()=0

ACTIWINDGXZP1

@0,1SAY"凭证缓冲文件没有记录,按任意键退出!"

WAIT""

DEACWINDGXZP1

DEACWINDGXZP

RETURN

ENDIF

MDWMC=

@1,1SAY”正在进行汇总"+TRIM(MDWMC)+"记帐凭证

IFFILES("KMHZJ.DBF")

ERASEKMHZJ.DBF

ENDIF

IFFILES("KMHZD.DBF")

ERASEKMHZD.DBF

ENDIF

SELECT1

TOTALONKMDMTOKMHZJFORUPPER(JD)="J"FIELDSJE

TOTALONKMDMTOKMHZDFORUPPER(JD)="D"FIELDSJE

TOTALONPJHTOMKMHZJFORUPPER(JD)="J";

,AND.TRIM(PJH)<>SPACE(LEN(TRIM(PJH)))FIELDSJE

TOTALONPJHTOMKMHZDFORUPPER(JD)="D";

,AND.TRIM(PJH)oSPACE(LEN(TRIM(PJH)))FIELDSJE

SELECT0

USEKMHZJ

INDEXONKMDMTOKMHZJ1

SETINDEXTOKMHZJ1

SELECT0

USEKMHZD

INDEXONKMDMTOKMHZD1

SETINDEXTOKMHZD1

SELECT0

USEMKMHZJ

INDEXONPJHTOMKMHZJ1

SETINDEXTOMKMHZJ1

SELECT0

USEMKMHZD

INDEXONPJHTOMKMHZD1

SETINDEXTOMKMHZD1

@2,1SAY"正在更新科目余额文件的本期发生额...”

SELECT3

UPDAONKMDMFROMKMHZJREPLJFFWITHJFF+KMHZJ->JE,;

JFLJWITHJFLJ+KMHZJ->JE,RQWITHRQRANDOM

UPDAONKMDMFROMKMHZDREPLDFFWITHDFF+KMHZD->J

E,;

DFLJWITHDFLJ+KMHZD->JE,RQWITHRQRANDOM

PH="Y"

@3,1SAY"正在汇总余额文件的本期发生额

DOGXFSEWITH"F",PH

IFUPPER(PH)o"Y"

SELECTKMYE

DELETEALL

PACK

APPENDFROMBAK\KMYEBF

SELECTDMMCK

DELETEALL

PACK

APPENDFROMBAK\DMMCKBF

ACTIWINDGXZP1

@0,1SAY"此次做帐不成功,请检查凭证,按任意键退出"

WAIT""

DEACWINDGXZP1

DEACWINDGXZP

SELE1

SETINDETODATA\PZKHC1

DOKMBJ

RETURN

ENDIF

@4,1SAY"正在更新往来帐余额文件的本期发生额...”

SELECT4

UPDAONPJHFROMMKMHZJREPLJFFWITHJFF+MKMHZJ->JE,;

JFLJWITHJFLJ+MKMHZJ->JERANDOM

UPDAONPJHFROMMKMHZDREPLDFFWITHDFF+MKMHZD->J

E,;

DFLJWITHDFLJ+MKMHZD->JERANDOM

SELECT3

DOGXQC

@5,1SAY"正在汇总余额文件的累计发生额

DOGXFSEWITH"LJ",PH

@6,1SAY"正在更新余额文件的期末数据

DOGXQM1

@7,1SAY"正在汇总往来帐本期发生额

DOGXFSE1WITH"F"

@8,1SAY"正在汇总往来帐累计发生额

DOGXFSE1WITH"LJ"

@9,1SAY"正在汇总往来帐期末发生额

DOGXQM2

SELECT2

APPENDFROMDATA\PZKHC

REINDEX

SELE1

ZAP

@10,1SAY"对科目余额文件进行备份!"

SELE9

USEBAK\KMYEBFINDEBAK\KMYEBF1

ZAP

APPEFROMDATA\KMYE

@10,1SAY"对记帐凭证文件进行备份!"

SELE9

USE

SELE9

USEBAK\PZKBFINDEBAK\PZKBF1,BAK\PZKBF2

ZAP

APPEFROMDATA\PZK

@10,1SAY"往来帐余额文件备份!"

SELE9

USE

USEBAK\DMMCKBFINDEBAK\DMMCKBF1

ZAP

APPEFROMDATA\DMMCK

SELECT5

ZAP

APPENDFROMDATA\PZKFORTRIM(PJH)<>SPACE(LEN(TRIM(PJ

H)))

DEACWINDGXZP

CLOSEDATA

ERASEKMHZJ.DBF

ERASEKMHZD.DBF

ERASEMKMHZJ.DBF

ERASEMKMHZD.DBF

DOZWOPEN

RETURN

更新上级发生额数据源程序

5jc*{c

*更新发生额GXFSE.PRG*

?{c51c*|c^|c<|c^|c^c*|c^c

PARAMETERSZD,PH

SELECT3

GOBOTTOM

ZD1="JF"-ZD

ZD2="DF"-ZD

STORE0TOBM5J,BM5D,BM7J,BM7D,BM9J,BM9D,JZJ,

DZJ

DOWHILE.NOT.BOF()

IFLEN(TRIM(KMDM))=9

BM9J=BM9J+&ZD1

BM9D=BM9D+&ZD2

ELSE

IFLEN(TRIM(KMDM))=7

IFBM9J<>0

REPLACE&ZD1WITHBM9J

BM9J=0

ENDIF

IFBM9D<>0

REPL&ZD2WITHBM9D

BM9D=0

ENDIF

BM7J=BM7J+&ZD1

BM7D=BM7D+&ZD2

ELSE

IFLEN(TRIM(KMDM))=5

IFBM7J<>0

REPLACE&ZD1WITHBM7J

BM7J=0

EDIF

IFBM7D<>0

REPLACE&ZD2WITHBM7D

BM7D=0

ENDIF

BM5J=BM5J+&ZD1

BM5D=BM5D+&ZD2

ELSE

IFBM5J<>0

REPLACE&ZD1WITHBM5J

BM5J=0

ENDIF

IFBM5D<>0

REPLACE&ZD2WITHBM5D

BM5D=0

ENDIF

ENDIF

ENDIF

ENDIF

IFLEN(TRIM(KMDM))=3

JZJ=JZJ+&ZD1

DZJ=DZJ+&ZD2

ENDIF

SKIP-1

ENDDO

IFJZJoDZJ

PH="N"

ENDIF

RETURN

更新期末数据源程序

?|c

*更新期末GXQM2.PRG*

^|c^}c^|c

SELECT4

GOTOP

MQMYE=0

DOWHILE.NOT.EOF()

IFQCLX="J"

MQMYE=QCYE+JFF-DFF

IFMQMYE<0

MQMLX="D"

ELSE

MQMLX="J"

ENDIF

ELSE

MQMYE=QCYE+DFF-JFF

IFMQMYE<0

MQMLX="J"

ELSE

MQMLX="D"

ENDIF

ENDIF

REPLACEQMLXWITHMQMLX,QMYEWITHABS(MQMYE)

SKIP

ENDDO

RETURN

第六章帐簿打印程序分析与设计

第一节帐簿数据的生成过程

一、三栏式明细帐数据的生成过程

在帐簿打印程序中数据来自两个数据文件一一凭证库和科目余额库,而明

帐的结构是:如果本明细帐存在期初余额,则生成所需的明细帐数据库的

一行应从科目余额库中取出相应科目的期初余额,如果余额为零,则明细

据库中就不需要设置“期初余额”这一条记录,接下来的明细数据就要从

证库中去取,凭证库中的金额是在借方则凭证数据转存到明细帐数据库的

方金额项,否则转存到贷方金额项,依此规定取出全部符合要求的凭证数

,最后还要从科目余额库中取出本明细帐的期末余额(如果需要还要取出本

累计发生额数据项)

二、单位往来帐数据生成程序分析

*生成往来帐数据DYWLZ.PRG

51c

DEFINWINDDYWLZ1FROM4,20TO10,60SHADCOLOSCHE14

DEFINWINDDYWLZ2FROM18,20TO20,60SHADCOLOSCHE1

2

SETTALKOFF

SETCOLORTOW/N

SELECT5

DOWHILE,T.

ACTIWINDDYWLZ1

MPZRB=""

MKMMC=SPACE(12)

@0,0SAY”请输入往来帐科目:"GETMPZRBPICTURE"99999"

@1,0SAY”请输入往来帐名称:"GETMKMMCPICTURE"XXXXX

XXXXXXX"

@2,0SAY"只需输入科目或名称!”

READ

IFLEN(TRIM(MPZRB))=O.AND.LEN(TRIM(MKMMC))=O

DEACWINDDYWLZ1

RETURN

ENDIF

SELECT3

IFLEN(TRIM(MPZRB))<>0

IFLEN(TRIM(MPZRB))=5

SEEKSUBSTR(TRIM(MPZRB),1,3)

MKMMC=KMMC

ENDIF

SEEKTRIM(MPZRB)

IFEOF()

ACTIWINDDYWLZ2

@0,0SAY"科目错,按任意键连续”

WAIT""

DEACWINDDYWLZ2

LOOP

ENDIF

MKMMC=TRIM(MKMMC)+KMMC

@1,0SAYSPACE(40)

@1,0SAY”科目名称:"+MKMMC

EXIT

ELSE

IFMKMMCo""

LOCATEFORTRIM(KMMC)=TRIM(MKMMC)

IFEOF()

ACTIWINDDYWLZ2

@0,0SAY"科目名称错,按任意键连续"

WAIT""

DEACWINDDYWLZ2

LOOP

ENDIF

@0,0SAYSPACE(40)

@0,0SAY"往来帐科目:"+KMDM

MPZRB=KMDM

EXIT

ENDIF

ENDIF

ENDDO

MSL=0

MX="N"

MA=0

@3,0SAY”查询某个单位或个人否Y/N?"GETMXPICTURE"X"

READ

SELECT4

IFUPPER(MX)="Y"

STORESPACE(IO)TOMBH

@4,0SAY”请输入单位或个人编号(<=10位)"GETMBHPICTUR

E"9999999999"

READ

MBH=TRIM(MBH)

SEEKMBH

MA=1

ELSE

SEEKMPZRB

MA=0

ENDIF

MPJH=TRIM(PJH)

SELECT8

USEDATA\WLZDYK

DELETEALL

PACK

SELECT4

DOWHILE.NOT.EOF()

SELECT8

APPENDBLANK

IFUPPER(D->QCLX)="J"

ZFH=1

ELSE

ZFH=-1

ENDIF

REPLACEZYWITHTRIM(D->DWMC)+”期初余额",JE3WITHD->Q

CYE*ZFH

MJE=JE3

MPJH=TRIM(D->PJH)

SELECT5

IFMA=1

LOCATEFORTRIM(PJH>TRIM(MBH).AND.LEN(TRIM(PJH))=LEN(TRI

M(MBH))

ELSE

LOCATEFORTRIM(PJH)=TRIM(D->PJH).AND.LEN(TRIM(PJH))=LEN(T

RIM(D->PJH))

ENDIF

DOWHILE.NOT.EOF()

SELECT8

APPENDBLANK

IFUPPER(E->PZRB)="S"

MPZRB="收"

ENDIF

IFUPPER(E->PZRB)="F"

MPZR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论