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

📄 +

📁 visualfoxpro企业会计电算化实例
💻
📖 第 1 页 / 共 2 页
字号:
					ENDIF 
				NEXT                                    && 下一个FOR循环
				@ 20,40 GET kk DEFA 1 FUNC'*th 确认;取销' SIZE 2,4,4  && 命令按钮
				READ CYCLE                              && 激活对象
				IF kk=2                                 && 如果选择了取消
					CLEAR ALL                           && 释放变量、窗口,关闭表
					CANCEL                              && 终止程序的执行
				ENDIF
				STORE 0 TO cbfyhj                       && 初始化合计变量  
				FOR j=1 TO cbfyend(i)                   && 循环,终值为借方与摘要相隔的字段数(栏目数)
					cbfyhj=cbfyhj+cbfyfieldje(i,j)      && 合计
				NEXT                                    && 下一个FOR循环
				EXIT                                    && 无条件跳出DO循环
			ENDDO                                       && 下一个DO循环
			DEAC WINDOW sccb                            && 挂起窗口
		ENDIF
	ENDIF
	USE                                                 && 关闭表

	IF ALLTRIM(zza(i,4))='应交税金'.AND.ALLTRIM(zza(i,5))='应交(增值税)' && 如果是mx221001
		IF zza(i,6)<>0                                  && 如果借方的值不等于零
			DEFI WINDOW sccb TITLE ' '+zza(i,4)+zza(i,5)+'栏目选摘 ';
				FROM 0,20 TO 26,80 CLOSE                && 定义窗口
			ACTI WINDOW sccb                            && 激活窗口
			IF USED('kmhmx')=.T.                        && 如果打开了科目或明细表
				SELECT kmhmx                            && 激活工作区
				USE &zza(i,9)                           && 打开表
			ELSE                                        && 否则
				SELECT 0                                && 激活工作区
				USE &zza(i,9) ALIAS kmhmx               && 打开表
			ENDIF
			FOR j=5 TO 30                               && 循环,查找借方字段
				IF ALLTRIM(FIELD(j))='借方'             && 如果找到借方
					cbfyend(i)=j-5                      && 记下借方与摘要相隔的字段数(栏目数)
					EXIT                                && 跳出FOR循环
				ENDIF 
				cbfyfield(i,j-4)=FIELD(j)               && 记下借方与摘要相隔的各个字段名
			NEXT                                        && 下一个FOR循环
			FOR j=1 TO cbfyend(i)                       && 循环,终值为借方与摘要相隔的字段数(栏目数)
				cbfyxh(i,j)=0                           && 初始化摘要与借方之间的各个字段(栏目)的序号
			NEXT                                        && 下一个FOR循环
			FOR j=1 TO cbfyend(i)                       && 循环,终值为借方与摘要相隔的字段数(栏目数)
				@ j,5 GET cbfyxh(i,j) FUNC '*c '+cbfyfield(i,j)  && 列出字段名复选框,供复选
			NEXT                                        && 下一个FOR循环
			@ 20,40 GET kk DEFA 1 FUNC'*th 确认;取销' SIZE 2,4,4  && 命令按钮
			READ CYCLE                                  && 激活对象
			IF kk=2                                     && 如果选择了取消
				CLEAR ALL                               && 释放变量、窗口,关闭表
				CANCEL                                  && 终止程序的执行
			ENDIF
			FOR j=1 TO 30                               && 循环
				cbfyfieldje(i,j)=0.00                   && 初始化摘要与借方之间的各个字段(栏目)的值
			NEXT                                        && 下一个FOR循环
			DO WHILE .T.                                && DO循环
				DEFI WINDOW sccb TITLE ' '+zza(i,4)+zza(i,5)+'输入金额 ';
					FROM 0,20 TO 26,80 CLOSE                && 定义窗口
				ACTI WINDOW sccb                        && 激活窗口
				CLEAR                                   && 清窗口
				FOR j=1 TO cbfyend(i)                   && 循环,终值为借方与摘要相隔的字段数(栏目数)
					IF cbfyxh(i,j)=1                    && 如果摘要与借方之间的某个字段(栏目)的序号等于1,意味着复选时选中
						@ j,5 SAY cbfyfield(i,j) GET cbfyfieldje(i,j)  && 编辑摘要与借方之间的各个字段(栏目)的金额
					ELSE                                && 否则
						@ j,5 SAY cbfyfield(i,j) GET cbfyfieldje(i,j) DISA  && 禁止编辑
					ENDIF
				NEXT                                    && 下一个FOR循环
				@ 20,40 GET kk DEFA 1 FUNC'*th 确认;取销' SIZE 2,4,4  && 命令按钮
				READ CYCLE                              && 激活对象
				IF kk=2                                 && 如果选择了取消
					CLEAR ALL                           && 释放变量、窗口,关闭表
					CANCEL                              && 终止程序的执行
				ENDIF
				STORE 0 TO cbfyhj                       && 初始化合计变量
				FOR j=1 TO cbfyend(i)                   && 循环,终值为借方与摘要相隔的字段数(栏目数)
					cbfyhj=cbfyhj+cbfyfieldje(i,j)      && 合计
				NEXT                                    && 下一个FOR循环
				IF cbfyhj<>zza(i,6)                     && 如果合计不等于借方
					FOR k=1 TO 1000                     && 循环 
						?? CHR(7)                       && 笛声
					NEXT                                && 下一个FOR循环
					@ 0,10 SAY '金额合计不等' COLOR r+/w  && 提示信息
				ELSE                                    && 否则
					EXIT                                && 跳出DO循环
				ENDIF
			ENDDO                                       && 下一个DO循环
			DEAC WINDOW sccb                            && 挂起窗口
		ENDIF

		IF zza(i,7)<>0                                  && 如果贷方的值不等于零
			DEFI WINDOW sccb TITLE ' '+zza(i,4)+zza(i,5)+'栏目选摘 ';
				FROM 0,20 TO 26,80 CLOSE                && 定义窗口
			ACTI WINDOW sccb                            && 激活窗口
			IF USED('kmhmx')=.T.                        && 如果打开了科目或明细表
				SELECT kmhmx                            && 激活工作区
				USE &zza(i,9)                           && 打开表
			ELSE                                        && 否则
				SELECT 0                                && 激活工作区
				USE &zza(i,9) ALIAS kmhmx               && 打开表
			ENDIF
			FOR j=11 TO 30                              && 循环,查找贷方
				IF ALLTRIM(FIELD(j))='贷方'             && 如果找到贷方
					cbfyend(i)=j-11                     && 记下借方与贷方相隔的字段(栏目)个数
					EXIT                                && 跳出FOR循环
				ENDIF
				cbfyfield(i,j-10)=FIELD(j)              && && 记下明细的贷方与借方之间的各个字段名(不包括贷方和借方本身)
			NEXT                                        && 下一个FOR循环
			FOR j=1 TO cbfyend(i)                       && 循环,终值为借方与贷方相隔的字段(栏目)个数
				cbfyxh(i,j)=0                           && 初始化贷方与借方之间的各个字段(栏目)的序号
			NEXT                                        && 下一个FOR循环
			FOR j=1 TO cbfyend(i)                       && 循环,终值为借方与贷方相隔的字段(栏目)个数
				@ j,5 GET cbfyxh(i,j) FUNC '*c '+cbfyfield(i,j)  && 列出字段名复选框,供复选
			NEXT                                        && 下一个FOR循环
			@ 20,40 GET kk DEFA 1 FUNC'*th 确认;取销' SIZE 2,4,4  && 命令按钮
			READ CYCLE                                  && 激活对象
			IF kk=2                                     && 如果选择了取消
				CLEAR ALL                               && 释放变量、窗口,关闭表
				CANCEL                                  && 终止程序的执行
			ENDIF
			FOR j=1 TO 30                               && 循环
				cbfyfieldje(i,j)=0.00                   && 初始化贷方与借方之间的各个字段(栏目)的值
			NEXT                                        && 下一个FOR循环
			DO WHILE .T.                                && DO循环
				DEFI WINDOW sccb TITLE ' '+zza(i,4)+zza(i,5)+'输入金额 ';
					FROM 0,20 TO 26,80 CLOSE                && 定义窗口
				ACTI WINDOW sccb                        && 激活窗口
				CLEAR                                   && 清窗口
				FOR j=1 TO cbfyend(i)                   && 循环,终值为借方与贷方相隔的字段(栏目)个数
					IF cbfyxh(i,j)=1                    && 如果贷方与借方之间的某个字段(栏目)的序号等于1,意味着复选时选中
						@ j,5 SAY cbfyfield(i,j) GET cbfyfieldje(i,j)  && 编辑贷方与借方之间的各个字段(栏目)的金额
					ELSE                                && 否则
						@ j,5 SAY cbfyfield(i,j) GET cbfyfieldje(i,j) DISA  && 禁止编辑
					ENDIF
				NEXT                                    && 下一个FOR循环
				@ 20,40 GET kk DEFA 1 FUNC'*th 确认;取销' SIZE 2,4,4  && 命令按钮
				READ CYCLE                              && 激活对象
				IF kk=2                                 && 如果选择了取消
					CLEAR ALL                           && 释放变量、窗口,关闭表
					CANCEL                              && 终止程序的执行
				ENDIF
				STORE 0 TO cbfyhj                       && 初始化合计变量
				FOR j=1 TO cbfyend(i)                   && 循环,终值为借方与贷方相隔的字段(栏目)个数
					cbfyhj=cbfyhj+cbfyfieldje(i,j)      && 合计
				NEXT                                    && 下一个FOR循环
				IF cbfyhj<>zza(i,7)                     && 如果合计与贷方不等
					FOR k=1 TO 1000                     && 循环
						?? CHR(7)                       && 笛声
					NEXT                                && 下一个FOR循环
					@ 0,10 SAY '金额合计不等' COLOR r+/w  && 提示信息
				ELSE                                    && 否则
					EXIT                                && 跳出DO循环
				ENDIF
			ENDDO                                       && 下一个DO循环
			DEAC WINDOW sccb                            && 挂起窗口
		ENDIF
	ENDIF
NEXT                                                    && 下一个FOR循环
RETURN                                                  && 结束栏目填写子程序

⌨️ 快捷键说明

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