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

📄

📁 visualfoxpro企业会计电算化实例
💻
📖 第 1 页 / 共 2 页
字号:
			@ 4,4 SAY '新明细帐页细目库名:' GET xxmkm DEFA ' ' SIZE 1,12
			READ                                          && 激活对象
			INSERT BLANK                                  && 插入空记录
			REPLACE 明细名称 WITH xxmmc,明细库名 WITH xxmkm  && 替换字段
			STORE xxmmc TO mxj1(rec)                      && 赋值,下同
			STORE xxmkm TO mxj(rec,2)
			BROW                                          && 浏览
			DEFI WINDOW jg FROM 4,1 TO 16,100 TITLE ;
				'请输入固定资产明细通项数据   警告:必须输入原值、使用年限和残值,'+;
				'否则将无法进行累计折旧!' 	CLOSE ZOOM MINI FLOAT  && 定义窗口
			ACTI WINDOW jg                                && 激活窗口
			CHANGE  IN jg FIELDS 明细名称,编号,规格,型号,;
				原值:v=原值>0:F:e='原值必须大于零',;
				使用年限:v=使用年限>0:F:e='使用年限必须大于零',;
				残值:v=cf():F,月折旧额:v=F():F            && 编辑字段,F强制校验
			IF USED('KM15011000')                           && 如果固定资产科目表已打开 
				SELECT KM15011000                           && 激活科目库名工作区
			ELSE                                          && 否则
			    SELECT 0                                  && 激活科目库名工作区
			    USE KM1501000                              && 打开固定资产科目表
			ENDIF    
			COPY STRU TO &xxmkm                           && 复制结构给新细目表明
			SELECT 0                                      && 激活工作区
			USE &xxmkm ALIAS xxmkm                        && 打开表
			APPEND BLANK                                  && 追加空记录
			REPLACE xxmkm.原值借方 WITH mx.原值,xxmkm.原值余额 WITH mx.原值  && 替换字段
			BROW                                          && 浏览
			DEAC WINDOW jg                                && 挂起窗口
			USE                                           && 关闭表
*			a(rec)=1                                     && 相当于这个纪录被选中
		  CASE  zka(h,2)='长期待摊费用'
			DO CASE                                       && 根据情况判断处理
				CASE rec>1                                && 当记录个数大于1				
					GOTO rec-1                            && 指针指向末记录的前一个记录
					STORE 明细库名 TO xmkm1               && 字段值赋给变量,下同
					STORE 月合计库 TO yhjk1
				CASE rec<=1                               && 当记录个数小于等于
					STORE 'mx'+RIGHT(zka(h,3),7) TO xmkm1 && 把科目库名km转换为明细表名mx
					STORE 'mj'+RIGHT(zka(h,3),7) TO yhjk1 && km变mj
			ENDCASE
			STORE LEFT(xmkm1,2)+ALLTRIM(STR(VAL(RIGHT(xmkm1,7))+1,7,0)) TO xxmkm
			                                && 明细表名顺序号加1,成为新明细表名 
			STORE LEFT(yhjk1,2)+ALLTRIM(STR(VAL(RIGHT(yhjk1,7))+1,7,0)) TO xyhjk
			                                && 月合计表名顺序号加1,成为新月合计表名
			DEFI WINDOW xmx FROM 4,20 TO 15,90 TITLE ' 新明细添加 ' DOUBLE CLOSE
			ACTI WINDOW xmx                               && 定义并激活窗口
			CLEAR                                         && 清窗口
			STORE ' ' TO xxmmc                            && 初始化变量
			@ 1,4 SAY '末页明细科目及库名:'+'  '+ALLTRIM(明细名称)+'  '+明细库名
			@ 3,4 SAY '新明细帐页细目名称:' GET xxmmc DEFA ' ' SIZE 1,40
			@ 4,4 SAY '新明细帐页细目库名:' GET xxmkm DEFA ' ' SIZE 1,12 DISA
			READ                                          && 激活对象
			INSERT BLANK                                  && 插入空记录
			REPLACE 明细名称 WITH xxmmc,明细库名 WITH xxmkm,月合计库 WITH xyhjk && 替换字段
			STORE xxmmc TO mxj1(rec)                      && 给数组变量赋值,下同
			STORE xxmkm TO mxj(rec,2)
			DEFI WINDOW jg FROM 4,1 TO 16,100 TITLE ;
				'请输入长期待摊费用明细通项数据   警告:必须输入原值,'+;
				'否则将无法进行计提摊销!' 	CLOSE ZOOM MINI FLOAT  && 定义窗口
			ACTI WINDOW jg                                && 激活窗口
			BROW                                          && 浏览
			USE &xmkm1                                    && 打开名细表名
			COPY STRU TO &xxmkm                           && 赋值表结构,下同
			COPY STRU TO &xyhjk
			USE &xxmkm                                    && 打开新名细表
			APPEND BLANK                                  && 追加空记录
			REPLACE 日期  WITH GOMONTH(the_end,-1)  && 用上月记帐末日替换字段
			REPLACE 摘要 WITH '新建明细'                  && 替换字段
			USE &xyhjk                                    && 打开月合计表
			APPEND BLANK                                  && 追加空记录 
			REPLACE 日期  WITH GOMONTH(the_end,-1)  && 用上月记帐末日替换字段
			REPLACE 摘要 WITH '新建明细'                  && 替换字段
			USE                                           && 关闭表
			a(rec)=1                                     && 相当于这个纪录被选中
			DEAC WINDOW jg
		  OTHERWISE               && 否则(非固定资产和长期待摊费用的其他科目的明细)
			DO CASE                                       && 根据情况判断处理
				CASE rec>1                                && 当记录个数大于1				
					GOTO rec-1                            && 指针指向末记录的前一个记录
					STORE 明细库名 TO xmkm1               && 字段值赋给变量,下同
					STORE 月合计库 TO yhjk1
				CASE rec<=1                               && 当记录个数小于等于
					STORE 'mx'+RIGHT(zka(h,3),7) TO xmkm1 && 把科目库名km转换为明细表名mx
					STORE 'mj'+RIGHT(zka(h,3),7) TO yhjk1 && km变mj
			ENDCASE
			STORE LEFT(xmkm1,5)+ALLTRIM(STR(VAL(RIGHT(xmkm1,4))+1,4,0)) TO xxmkm
			                                && 明细表名顺序号加1,成为新明细表名 
			STORE LEFT(yhjk1,5)+ALLTRIM(STR(VAL(RIGHT(yhjk1,4))+1,4,0)) TO xyhjk
			                                && 月合计表名顺序号加1,成为新月合计表名
			DEFI WINDOW xmx FROM 4,20 TO 15,90 TITLE ' 新明细添加 ' DOUBLE CLOSE
			ACTI WINDOW xmx                               && 定义并激活窗口
			CLEAR                                         && 清窗口
			STORE ' ' TO xxmmc                            && 初始化变量
			@ 1,4 SAY '末页明细科目及库名:'+'  '+ALLTRIM(明细名称)+'  '+明细库名
			@ 3,4 SAY '新明细帐页细目名称:' GET xxmmc DEFA ' ' SIZE 1,40
			@ 4,4 SAY '新明细帐页细目库名:' GET xxmkm DEFA ' ' SIZE 1,12 DISA
			READ                                          && 激活对象
			INSERT BLANK                                  && 插入空记录
			REPLACE 明细名称 WITH xxmmc,明细库名 WITH xxmkm,月合计库 WITH xyhjk && 替换字段
			STORE xxmmc TO mxj1(rec)                      && 给数组变量赋值,下同
			STORE xxmkm TO mxj(rec,2)
			BROW                                          && 浏览
			USE &xmkm1                                    && 打开名细表名
			COPY STRU TO &xxmkm                           && 赋值表结构,下同
			COPY STRU TO &xyhjk
			USE &xxmkm                                    && 打开新名细表
			APPEND BLANK                                  && 追加空记录
			REPLACE 日期  WITH GOMONTH(the_end,-1)  && 用上月记帐末日替换字段
			REPLACE 摘要 WITH '新建明细'                  && 替换字段
			USE &xyhjk                                    && 打开月合计表
			APPEND BLANK                                  && 追加空记录 
			REPLACE 日期  WITH GOMONTH(the_end,-1)  && 用上月记帐末日替换字段
			REPLACE 摘要 WITH '新建明细'                  && 替换字段
			USE                                           && 关闭表
			a(rec)=1                                     && 相当于这个纪录被选中
		ENDCASE
		CLEAR                                             && 清窗口
		STORE .F. TO tf                                   && 给逻辑变量赋 .F.
		@ 2,20 SAY '继续添加新明细吗? '                   && 显示文本
		@ 5,15 GET t1 DEFA 1 FUNC '*ht 添加 ; 取消' SIZE 2,4,30  && 命令按钮 
		READ                                              && 激活对象
		CLEAR                                             && 清窗口 
		IF t1=1                                           && 如果选择了添加
			tf=.T.                                        && 给逻辑变量赋 .T.
			rec=rec+1                                     && 记录个数加 1
			IF USED('mx')=.F.                             && 如果别名mx表为打开
				SELECT 0                                  && 激活工作区
				USE &zka(h,4) ALIAS mx                    && 打开表
			ELSE                                          && 否则
				SELECT mx                                 && 激活工作区
			ENDIF                                         
		ELSE                                              && 否则(选择了取消)
			DEAC WINDOW xmx                               && 挂起窗口
			EXIT                                          && 跳出DO循环
		ENDIF
	ENDIF
ENDDO                                                     && 下一个DO循环
RETURN                                                    && 返回主程序

	FUNC cf                                               && 自定义函数,计算残值
		REPLACE 残值 WITH 原值*0.03                       && 替换字段
		RETURN                                            && 返回.T.

	FUNC F                                                && 自定义函数,计算月折旧额
		REPLACE 月折旧额 WITH (原值-残值)/使用年限/12     && 替换字段
		RETURN                                            && 返回.T.

⌨️ 快捷键说明

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