⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 visualfoxpro企业会计电算化实例
💻
📖 第 1 页 / 共 3 页
字号:
							REPLACE 余额 WITH yu_e          && +jhj-dhj
						ELSE                                && 否则 
? mx(jf,1),mx(jf,2),mx(jf,3)
*wait
				             WAIT WINDOW '月份不符'         && 提示信息
				             BROW TITLE  mx(jf,1)+'合计'  && 浏览,观察问题之所在
						ENDIF
					ELSE                                    && 否则,日期是上月末期,这是正常情况
						APPEND BLANK                        && 追加空纪录
						REPLACE 日期 WITH the_end           && 替换字段,下同
						REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
						REPLACE 借方 WITH jhj
						REPLACE 贷方 WITH dhj
						REPLACE 余额 WITH yu_e              &&+jhj-dhj
					ENDIF
				NEXT                                        && 下一个FOR循环
                  *********  长期待摊费用月合计总帐 ****************
				USE &zza(i,6)                               && 打开长期待摊费用科目月合计总表
				GOTO BOTTOM                                 && 指针指向末纪录
				STORE 余额  TO yu_e                         && 记下余额
				IF 日期<>syhjrq                             && 如果日期不是上月末期
					IF 日期=the_end                         && 如果是本月记账末期,说明做过月合计
						GOTO RECC()-1                       && 指针指向末之前一个纪录
						STORE 余额  TO yu_e                 && 记下余额
						GOTO BOTT                           && 指针指向末纪录
						REPLACE 日期 WITH the_end           && 替换字段,下同
						REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
						REPLACE 借方 WITH jhjz
						REPLACE 贷方 WITH dhjz
						REPLACE 余额 WITH yu_e+jhjz-dhjz
						BROWSE NOAPPEND NODELETE NOMODIFY IN SCREEN WIDTH 100 ;
						 TITLE zza(i,2)+' '+zza(i,6)+'月合计 ' && TIMEOUT 1 && 浏览
						USE                                 && 关闭表
					ELSE                                    && 否则
						WAIT WINDOW '月份不符'              && 提示信息 
						BROW TITLE zza(i,2)+zza(i,6)+'合计' && 浏览,观察问题之所在
					ENDIF
				ELSE                                        && 否则,日期是上月末期,这是正常情况
					APPEND BLANK                            && 追加空纪录
					REPLACE 日期 WITH the_end               && 替换字段,下同
					REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
					REPLACE 借方 WITH jhjz
					REPLACE 贷方 WITH dhjz
					REPLACE 余额 WITH yu_e+jhjz-dhjz
					BROWSE NOAPPEND NODELETE NOMODIFY IN SCREEN WIDTH 100 ;
					 TITLE zza(i,2)+' '+zza(i,6)+'月合计 '	&& TIMEOUT 1 && 浏览			
					USE                                     && 关闭表
				ENDIF

			CASE ALLTRIM(zza(i,2))='固定资产'         && 如果‘会计科目名’为固定资产
				USE mx1501                                  && 打开固定资产明细联系表
				STORE RECC() TO N                           && 记下纪录个数
				DIME mx(N,3)                                && 定维数组,只取3列
				COPY TO ARRAY mx                            && 复制到数组
				STORE 0.00 TO yjjez,ydjez,yyjez,ljjez,ldjez,lyez,jzz  && 初始化变量
				FOR jf=1 TO N-1                             && 循环,末纪录总是‘创建或增添新名细’,不计 
					USE &mx(jf,2)                           && 打开单项明细表
					SUM 原值借方,原值贷方,累折借方,累折贷方 FOR 日期>=BEGIN.AND.日期<=the_end ;
						TO yjje1,ydje1,ljje1,ldje1          && 求时间范围内的累加和
					yjjez=yjjez+yjje1                       && 原值借方金额累加
					ydjez=ydjez+ydje1                       && 原值贷方金额累加
					ljjez=ljjez+ljje1                       && 累折借方金额累加
					ldjez=ldjez+ldje1                       && 累折贷方金额累加
					GOTO BOTTOM                             && 指针指向末纪录
					lyez=lyez+累折余额                      && 累折余额累加 
					jzz=jzz+净值                            && 净值累加
					yyjez=yyjez+原值余额                    && 原值余额累加
				NEXT                                        && 下一个FOR循环
				****************** 处理月合计库 ************
				USE  yhj1501                                 && 打开固定资产月合计表
				STORE RECC() TO nr                          && 记下纪录个数  
				GOTO BOTTOM                                 && 指针指向末纪录
				IF 日期=the_end                             && 如果是本月记账末期,说明做过月合计
					IF nr>1                                 && 如果纪录个数大于1
						SKIP -1                             && 指针移动-1
						STORE 累折余额 TO lzye_y            && 记下累折余额 
						GOTO BOTTOM                         && 指针指向末纪录
						REPLACE 日期 WITH the_end           && 替换字段,下同
						REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
						REPLACE 原值借方 WITH yjjez
						REPLACE 原值贷方 WITH ydjez
						REPLACE 累折借方 WITH ljjez
						REPLACE 累折贷方 WITH ldjez
						REPLACE 原值余额 WITH yyjez
						REPLACE 累折余额 WITH lzye_y-累折借方+累折贷方
						REPLACE 净值 WITH 原值余额- 累折余额
					ELSE                                    && 否则
						REPLACE 日期 WITH the_end           && 替换字段,下同
						REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
						REPLACE 原值借方 WITH yjjez
						REPLACE 原值贷方 WITH ydjez
						REPLACE 累折借方 WITH ljjez
						REPLACE 累折贷方 WITH ldjez
						REPLACE 原值余额 WITH yyjez
						REPLACE 净值 WITH 原值余额- 累折余额
					ENDIF
				ENDIF
				IF 日期=GOMONTH(the_end,-1)                 && 日期是上月末期,这是正常情况
					STORE 累折余额 TO lzye_y                && 记下累折余额
					APPEND BLANK                            && 追加空纪录
					REPLACE 日期 WITH the_end               && 替换字段,下同
					REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
					REPLACE 原值借方 WITH yjjez
					REPLACE 原值贷方 WITH ydjez
					REPLACE 累折借方 WITH ljjez
					REPLACE 累折贷方 WITH ldjez
					REPLACE 原值余额 WITH yyjez
					REPLACE 累折余额 WITH lzye_y-累折借方+累折贷方
					REPLACE 净值 WITH 原值余额- 累折余额
				ENDIF
				BROW  && TIMEOUT 1                              && 浏览
				USE                                         && 关闭表

			OTHERWISE                                       && 其他
			  	IF zza(i,5)='选用科目'                      && 如果选用与否为选用科目
					USE &zza(i,3)                           && 打开科目表
					SET FILTER TO 日期>=BEGIN.AND.日期<=the_end   && 按日期范围过滤明细表
					GOTO BOTTOM                             && 指针指向末纪录
					STORE 余额 TO yu_e                      && 记下余额
					? yu_e
*					wait
					
					SET SAFETY OFF                          && 关闭安全提示窗口
					COPY TO TEMP1                           && 复制到临时文件TEMP1
					USE                                     && 关闭表
					ALTER TABLE TEMP1 ADD COLUMN X C(1)     && 增加一列,为了统计,SQL语句
                    CLOSE DATA	                            && 关闭当前数据库和表
					USE TEMP1                               && 打开表
					TOTAL ON X TO TEMP2                     && 计算数值字段的总和,增加之列用在此
					USE TEMP2                               && 打开表
*					brow
					DIMENSION ATEMP2(1,FCOUNT())            && 定维数组	
					store 0 to 	ATEMP2			
					COPY TO ARRAY ATEMP2                    && 复制到数组 
					**************** 处理月合计表 ********************
					USE zza(i,6)                            && 打开月合计表
					GOTO BOTTOM                             && 指针指向末纪录
					IF 日期=GOMONTH(the_end,-1)             && 日期是上月末期,这是正常情况
						APPEND BLANK                        && 追加空纪录
						FOR j=1 TO FCOUNT()                 && 循环,终值为字段个数
							IF TYPE(FIELD(j))='N'.AND.ATEMP2(1,j)#0  && 如果字段类型为数值且不等于0
								REPLACE (FIELD(j)) WITH ATEMP2(1,j)  && 替换字段
											&& FIELD(j)是字段名,(FIELD(j))是名表达式
							ENDIF	
						NEXT                                && 下一个循环
						REPLACE 日期 WITH the_end           && 替换字段,下同
						REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
						REPLACE 凭证号 WITH ' '
						IF zza(i,7)='借'                    && 如果余额方向为借
							REPLACE 余额 WITH yu_e   &&+借方-贷方
				        ELSE		
							REPLACE 余额 WITH yu_e   &&-借方+贷方
				        ENDIF
			       		FOR j=1 TO FCOUNT()                 && 循环,终值为字段个数
			       			IF FIELD(j)='借或贷'            && 如果'借或贷'字段存在
								IF zza(i,7)='借'             && 如果余额方向为借
									REPLACE 借或贷 WITH '借' && 替换字段用借
				       			ELSE		                 && 否则
									REPLACE 借或贷 WITH '贷' && 替换字段用贷
				      			ENDIF
				      		ENDIF
				     	NEXT                                 && 下一个FOR循环
						BROWSE NOAPPEND NODELETE NOMODIFY IN SCREEN WIDTH 100 ;
						 TITLE zza(i,2)+' '+zza(i,6)+'月合计 '	&& TIMEOUT 1 && 浏览			
						USE                                  && 关闭表				        
				    ELSE
				    	IF 日期=the_end                      && 如果是本月记账末期,说明做过月合计
				    		GOTO BOTTOM
							FOR j=1 TO FCOUNT()              && 循环,终值为字段个数
? j,'栏目',TYPE(FIELD(j)),ATEMP2(1,j)
								IF TYPE(FIELD(j))='N'.AND.ATEMP2(1,j)#0 && 如果字段类型为数值且不等于0
									REPLACE (FIELD(j)) WITH ATEMP2(1,j) && 替换字段
											&& FIELD(j)是字段名,(FIELD(j))是名表达式
								ENDIF	
							NEXT                             && 下一个FOR循环
							REPLACE 日期 WITH the_end        && 替换字段,下同
							REPLACE 摘要 WITH ALLTRIM(STR(yuefen))+'月份合计'
							REPLACE 凭证号 WITH ' '				    		
							IF zza(i,7)='借'                 && 如果余额方向为借
								REPLACE 余额 WITH yu_e  &&+借方-贷方
				   	   	 	ELSE		
								REPLACE 余额 WITH yu_e  &&-借方+贷方
				    	    ENDIF
				       		FOR j=1 TO FCOUNT()              && 循环,终值为字段个数
				       			IF FIELD(j)='借或贷'         && 如果'借或贷'字段存在
									IF zza(i,7)='借'         && 如果余额方向为借
										REPLACE 借或贷 WITH '借' && 替换字段用借
				        			ELSE		             && 否则
										REPLACE 借或贷 WITH '贷' && 替换字段用贷
				       				ENDIF
				       			ENDIF
				       		NEXT                             && 下一个FOR循环
							BROWSE NOAPPEND NODELETE NOMODIFY IN SCREEN WIDTH 100 ;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -