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

📄

📁 visualfoxpro企业会计电算化实例
💻
📖 第 1 页 / 共 2 页
字号:
*************************************************************
*           凭证分录子程序       凭证分录.PRG               *
*           调用程序             记帐主程序.PRG             *
*************************************************************
SET TALK OFF                                                 && 阻止对话结果传送到窗口
FOR i=1 TO kmmxgs                                            && 循环,终值为科目名细个数
	DO CASE                                                  && 根据情况判断处理
		CASE ALLTRIM(zza(i,4))='现金'.OR.ALLTRIM(zza(i,4))='银行存款';
				.OR.ALLTRIM(zza(i,4))='其他货币资金'         && 当现金、银行存款'、其他货币资金
			IF FILE(zza(i,9)+'.dbf')				         && 如果文件存在 
				USE &zza(i,9)                                && 打开文件
			ELSE                                             && 否则
				WAIT WINDOW (zza(i,4))+zza(i,9)+'文件不存在' && 提示信息
				CLEAR ALL                                    && 释放变量、窗口,关闭表
				CANCEL                                       && 终止程序的执行
			ENDIF
			GOTO BOTTOM                                      && 指针指向末纪录
			STORE 余额 TO yu_e                               && 记下余额
			APPEND BLANK                                     && 追加空纪录
			REPLACE 日期 WITH riqi,摘要 WITH zza(i,1)        && 替换字段
			REPLACE 结算凭证号 WITH zza(i,3)                 && 替换字段
			IF zza(i,10)='转帐'                              && 如果是转账凭证
				REPLACE 凭证号 WITH ALLTRIM(STR(bianhao))    && 替换凭证号
			ELSE                                             && 否则(收、付款凭证)
				REPLACE 凭证号 WITH ALLTRIM(STR(bianhao))+'-1'  && 替换凭证号加‘-1’,以示区别
			ENDIF
			IF zza(i,6)<>0                                   && 如果借方不等于零
				REPLACE 借方 WITH zza(i,6)                   && 替换借方
			ELSE                                             && 否则
				REPLACE 贷方 WITH zza(i,7)                   && 替换贷方
			ENDIF
			REPLACE 余额 WITH yu_e+借方-贷方                 && 替换余额
			STORE zza(i,8) TO jdbs                           && 借贷标识
			FOR j=1 TO 9                                     && 循环查找
				IF zza(j,8)<>jdbs                            && 如果找到不相等的借贷标识
					REPLACE 对方科目 WITH zza(j,4)           && 替换对方科目
					EXIT                                     && 跳出FOR循环
				ENDIF
			NEXT                                             && 下一个FOR循环
			BROWSE;
				NOAPPEND NODELETE NOMODIFY IN SCREEN WIDTH 100 TITLE zza(i,9)+' '+zza(i,4)
				                                             && 浏览
			USE                                              && 关闭表

		CASE ALLTRIM(zza(i,4))='长期待摊费用'                    && 当科目名称为长期待摊费用
			IF FILE(zza(i,9)+'.dbf')				         && 如果文件存在 
				USE &zza(i,9)                                && 打开文件
			ELSE                                             && 否则
				WAIT WINDOW (zza(i,4))+zza(i,9)+'文件不存在' && 提示信息
				CLEAR ALL                                    && 释放变量、窗口,关闭表
				CANCEL                                       && 终止程序的执行
			ENDIF
			GOTO BOTTOM                                      && 指针指向末纪录
			STORE 余额 TO yu_e                               && 记下余额
			APPEND BLANK                                     && 追加空纪录
			REPLACE 日期 WITH riqi,摘要 WITH zza(i,1)        && 替换字段
			IF zza(i,10)='转帐'                              && 如果是转账凭证
				REPLACE 凭证号 WITH ALLTRIM(STR(bianhao))    && 替换凭证号
			ELSE                                             && 否则(收、付款凭证)
				REPLACE 凭证号 WITH ALLTRIM(STR(bianhao))+'-1'  && 替换凭证号加‘-1’,以示区别
			ENDIF
			IF zza(i,6)<>0                                   && 如果借方不等于零
				REPLACE 借方 WITH zza(i,6)                   && 替换借方
			ELSE                                             && 否则
				REPLACE 贷方 WITH zza(i,7)                   && 替换贷方
			ENDIF
			REPLACE 余额 WITH yu_e+zza(i,6)-zza(i,7)         && 替换余额
			REPLACE 借或贷 WITH '借'                         && 替换借贷标识
			IF 余额=0                                        && 如果余额等于零
				REPLACE 借或贷 WITH ' '                      && 借贷标识为空
			ENDIF
			BROWSE ;
				NOAPPEND NODELETE NOMODIFY IN SCREEN WIDTH 100 ;
				TITLE zza(i,9)+' '+zza(i,4)+' '+zza(i,5)     && 浏览
			USE                                              && 关闭表
			        && 以上处理长期待摊费用明细,以下处理长期待摊费用科目
			IF zza(i,6)<>0                                   && 如果借方不等于零
				USE mx1901001     && 打开长期待摊费用科目表,此处用明细第一个表代替科目表
				GOTO BOTTOM                                  && 指针指向末纪录 
				STORE 余额 TO yu_e                           && 记下余额
				APPEND BLANK                                 && 追加空纪录
				REPLACE 日期 WITH riqi,摘要 WITH zza(i,1)    && 替换字段
				IF zza(i,10)='转帐'                          && 如果是转账凭证
					REPLACE 凭证号 WITH ALLTRIM(STR(bianhao))  && 替换凭证号
				ELSE                                         && 否则(收、付款凭证)
					REPLACE 凭证号 WITH ALLTRIM(STR(bianhao))+'-1'  && 替换凭证号加‘-1’,以示区别
				ENDIF
				REPLACE 借方 WITH zza(i,6)                   && 替换字段
				REPLACE 余额 WITH yu_e+zza(i,6)-zza(i,7)     && 替换字段
				REPLACE 借或贷 WITH '借'                     && 替换借贷标识
				IF 余额=0                                    && 如果余额等于零
					REPLACE 借或贷 WITH ' '                  && 借贷标识为空                     
				ENDIF
			ENDIF
			USE                                              && 关闭表

		CASE ALLTRIM(zza(i,4))='库存商品'                    && 当科目名称为库存商品
			IF FILE(zza(i,9)+'.dbf')				         && 如果文件存在 
				USE &zza(i,9)                                && 打开文件
			ELSE                                             && 否则
				WAIT WINDOW (zza(i,4))+zza(i,9)+'文件不存在' && 提示信息
				CLEAR ALL                                    && 释放变量、窗口,关闭表
				CANCEL                                       && 终止程序的执行
			ENDIF
			GOTO BOTTOM                                      && 指针指向末纪录 
			STORE 余额 TO yu_e                               && 记下余额
			STORE 余数量 TO ysl                              && 记下数量  
			APPEND BLANK                                     && 追加空纪录
			IF zza(i,8)='借'                                 && 如果借贷标识为借
				REPLACE 借方 WITH zza(i,6)                   && 替换借方金额
				REPLACE 借数量 WITH ccpshuliang(i)           && 替换产成品数量
				IF ccpdj(i)#0.00                             && 如果产成品单价不等于零
					REPLACE 借单价 WITH ccpdj(i)             && 替换单价
				ENDIF 
				REPLACE 余数量 WITH ysl+ccpshuliang(i)       && 替换余额数量
			ELSE                                             && 否则
				REPLACE 贷方 WITH zza(i,7)                   && 替换贷方金额
				REPLACE 贷数量 WITH ccpshuliang(i)           && 替换贷数量
				IF ccpdj(i)#0.00                             && 如果产成品单价不等于零
					REPLACE 贷单价 WITH ccpdj(i)             && 替换单价
				ENDIF
				REPLACE 余数量 WITH ysl-ccpshuliang(i)       && 替换余额数量
			ENDIF
			REPLACE 日期 WITH riqi,摘要 WITH zza(i,1)        && 替换字段
			IF zza(i,10)='转帐'                              && 如果是转账凭证
				REPLACE 凭证号 WITH ALLTRIM(STR(bianhao))    && 替换凭证号
			ELSE                                             && 否则(收、付款凭证)
				REPLACE 凭证号 WITH ALLTRIM(STR(bianhao))+'-1'   && 替换凭证号加‘-1’,以示区别
			ENDIF
			REPLACE 余额 WITH yu_e+zza(i,6)-zza(i,7)         && 替换字段
			REPLACE 产品型号 WITH ccpxh(i)                   && 替换字段
			BROWSE ;
				NOAPPEND NODELETE NOMODIFY IN SCREEN WIDTH 100 ;
				TITLE zza(i,9)+' '+zza(i,4)+' '+zza(i,5)     && 浏览
			USE                                              && 关闭表

		CASE ALLTRIM(zza(i,4))='应交税金'                    && 当科目名称为应交税金
			DO CASE
				CASE ALLTRIM(zza(i,4))='应交税金'.AND.ALLTRIM(zza(i,5))='应交增值税' 
				                                             && 名细 mx2171001
					IF FILE(zza(i,9)+'.dbf')				 && 如果文件存在 
						USE &zza(i,9)                        && 打开文件
					ELSE                                     && 否则
						WAIT WINDOW (zza(i,4))+zza(i,9)+'文件不存在' && 提示信息
						CLEAR ALL                            && 释放变量、窗口,关闭表
						CANCEL                               && 终止程序的执行
					ENDIF
					GOTO BOTTOM                              && 指针指向末纪录
					STORE 余额 TO yu_e                       && 记下余额
					APPEND BLANK                             && 追加空纪录 
					REPLACE 日期 WITH riqi,凭证种类 WITH zza(i,10),;
						摘要 WITH zza(i,1)                   && 替换字段 
					IF zza(i,10)='收款'.OR.zza(i,10)='付款'  && 如果是收款或付款
						REPLACE  凭证号 WITH ALLTRIM(STR(bianhao))+'-1'  && 替换凭证号加‘-1’
					ELSE                                     && 否则(转帐)
						REPLACE  凭证号 WITH ALLTRIM(STR(bianhao))  && 替换凭证号
					ENDIF
					IF zza(i,6)#0                            && 如果借方不等于零
						FOR j=1 TO cbfyend(i)                && 循环,终值为摘要与借方之间的栏目个数
							IF cbfyfieldje(i,j)#0.00         && 如果这个栏目金额不等于零
								REPLACE (cbfyfield(i,j)) WITH cbfyfieldje(i,j) && 替换字段
							ENDIF         
							    && cbfyfield(i,j)为数组元素,内容为字段名
                                && (cbfyfield(i,j))为字段名名表达式
                                && 这点地方可能不好理解,清参阅二十七章栏目填写应交税金部分
						NEXT                                 && 下一个栏目(字段)
						REPLACE 借方 WITH zza(i,6)           && 替换借方金额
					ENDIF
					IF zza(i,7)#0                            && 如果贷方不等于零
						FOR j=1 TO cbfyend(i)                && 循环,终值为借方与贷方之间的栏目个数
							IF cbfyfieldje(i,j)#0.00         && 如果这个栏目金额不等于零
								REPLACE (cbfyfield(i,j)) WITH cbfyfieldje(i,j)  && 替换字段
							ENDIF                            && cbfyfield(i,j)为数组元素,内容为字段名
							                                 && (cbfyfield(i,j))为字段名名变量
						NEXT                                 && 下一个栏目(字段)
						REPLACE 贷方 WITH zza(i,7)           && 替换贷方金额
					ENDIF
					REPLACE 余额 WITH yu_e-借方+贷方         && 替换余额
					BROWSE;
						NOAPPEND NODELETE NOMODIFY IN SCREEN WIDTH 100 ;
						TITLE zza(i,9)+' '+zza(i,4)+' '+zza(i,5)  && 浏览
					USE                                      && 关闭表
				OTHERWISE                                    && 其他,未交增值税、城建税、车税
					IF FILE(zza(i,9)+'.dbf')				 && 如果文件存在 
						USE &zza(i,9)                        && 打开文件
					ELSE                                     && 否则
						WAIT WINDOW (zza(i,4))+zza(i,9)+'文件不存在' && 提示信息
						CLEAR ALL                            && 释放变量、窗口,关闭表
						CANCEL                               && 终止程序的执行
					ENDIF
					GOTO BOTTOM                              && 指针指向末纪录
					STORE 余额 TO yu_e                       && 记下余额
					APPEND BLANK                             && 追加空纪录
					REPLACE 日期 WITH riqi,摘要 WITH zza(i,1)&& 替换字段
					IF zza(i,10)='收款'.OR.zza(i,10)='付款'  && 如果是收款或付款
						REPLACE  凭证号 WITH ALLTRIM(STR(bianhao))+'-1'   && 替换凭证号加‘-1’
					ELSE                                     && 否则(转帐)
						REPLACE  凭证号 WITH ALLTRIM(STR(bianhao))  && 替换凭证号
					ENDIF                                    
					REPLACE 借方 WITH zza(i,6),贷方 WITH zza(i,7)  && 替换字段
					REPLACE 余额 WITH yu_e-zza(i,6)+zza(i,7) && 替换余额字段
					BROWSE ;
						NOAPPEND NODELETE NOMODIFY IN SCREEN WIDTH 100 TITLE;
						 zza(i,9)+' '+zza(i,4)+zza(i,5)      && 浏览
					USE                                      && 关闭表

⌨️ 快捷键说明

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