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

📄

📁 visualfoxpro企业会计电算化实例
💻
📖 第 1 页 / 共 2 页
字号:
*************************************************************
*****                 期初余额的录入.prg                *****
*************************************************************
SET TALK OFF                                                 && 阻止对话结果传送到窗口
SET CENTURY ON                                               && 指定用四位数表示年 
SET DATE ANSI                                                && 日期格式yy.mm.ddSET DATE ANSI
CLOSE DATA                                                   && 关闭数据库和表  
SET SAFETY OFF                                               && 关闭安全提示窗口 
PUBLIC BEGIN,the_end                                         && 定维日期变量
DO FORM 表单2 NAME 时间表 LINK                               && 运行表单
READ EVENTS                                                  && 激活事件
DEFINE WINDOW test3 FROM 2,0 TO 26, 100 TITLE " 期初余额的录入  " CLOSE && 定义窗口
ACTIVATE WINDOW test3                                        && 激活窗口         
@ 1,40 SAY '警告!' COLOR RGB(255,0,0) font '宋体',20
@ 5,1 SAY '  期初余额的录入必须在建账之后、运行记账主程序之前。' ;
	COLOR RGB(0,128,0) font '宋体',16                        && 警告信息,前景红色
@ 7,0 SAY '如果已经运行过记账主程序,就不允许再运行期初余额的录入' ;
	COLOR RGB(0,128,0) font '宋体',16                        && 警告信息,前景红色
STORE 1 TO s                                                 && 初始化变量
@ 11,30 GET s DEFA 1 FUNC '*th 退    出;运行期初余额的录入' SIZE 2,8,8  && 命令按钮
READ                                                         && 激活对象
DO rk                                                        && 键控过程,Ctrl_End结束程序
IF s=1                                                       && 如果选择了退出
	CLEAR ALL                                                && 释放内存变量、窗口,关闭表
	CANCEL                                                   && 结束程序的执行
ENDIF
CLEAR                                                        && 请屏幕
@ 3,20 SAY '是否逐项进行期初余额的录入?' COLOR RGB(0,128,0) font '宋体',16                            && 提示信息 
STORE 1 TO h                                                 && 初始化变量
@ 7,30 GET h FUNC '*ht 逐项;单项;取消' SIZE 2,6,6 DEFA 1      && 命令按钮
READ                                                         && 激活对象
USE zk85                                                     && 打开表‘zk85’(总控67,内含67个科目)
STORE RECC() TO n85                                          && 记下纪录个数
COPY TO ARRAY zza                                            && 复制到数组
USE                                                          && 关闭表
DO CASE                                                      && 根据情况判断处理
	CASE h=1                                                 && 如果选择了逐项
		STORE 1 TO ks                                        && 记下循环开始的数
		STORE zkn TO e                                       && 记下循环结束的数
	CASE h=2                                                 && 如果选择了单项
		DIME m(n85)                                          && 定维数组
		FOR i=1 TO n85                                       && 循环
			m(i)=zza(i,1)+' '+zza(i,2)                       && 给数组赋值,编号和科目名称
		NEXT                                                 && 下一个FOR循环 
		DEFI WINDOW lst FROM 1,51 TO 20,79 TITLE '单项月合计科目选择'  && 定义列表窗口
		ACTI WINDOW lst                                      && 激活窗口
		STORE 1 TO shuliang                                  && 初始化变量 
		@ 0,0 GET shuliang FROM m FUNC '&t' DEFA 1           && List列表 
		READ CYCLE                                           && 激活对象,选择科目
		DEAC WINDOW lst                                      && 消隐列表窗口
		STORE shuliang TO ks,e && 选择了第几个科目赋给循环开始、结束的数,两数相同只循环一次
	CASE h=3                                                 && 如果选择了取消
		CLEAR ALL                                            && 释放变量、窗口、关闭表
		CANCEL                                               && 结束程序
ENDCASE
DEACTI WINDOW yhj                                            && 消隐窗口

CLEAR                                                        && 清窗口
DIME a(200),b(62),mx(300,12)                                && 定维数组
STORE 0 TO a                                                 && 初始化数组 
STORE ' ' TO b                                               && 初始化数组
FOR i= ks TO e                                               && 循环
	? zza(i,2)                                               && 输出信息,观察进度
	IF i=32.OR.i=42                                          && 如果是固定资产 长期待摊费用
		DEACTIVATE WIND test3
		DO 固定资产和长期待摊费用                          && 执行过程
		LOOP                                                 && 将控制权直接返给FOR语句  
	ENDIF
	IF zza(i,5)='选用科目'                                   && 如果选用与否时选用科目
		USE &zza(i,3)                                        && 打开科目表  
        IF RECC()=0                                          && 如果文件为空
        	APPEND BLANK                                     && 追加空纪录
        ELSE                                                 && 否则
			DELETE FOR RECNO()<RECC()                        && 做删除标记
			PACK                                             && 永久删除做了删除标记的纪录
		ENDIF
		REPLACE 日期 WITH the_end                            && 替换字段,下同
		REPLACE 凭证号 WITH ' '
		REPLACE 摘要 WITH '期初余额录入'
		IF 借方#0                                            && 如果有试验数据
			REPLACE 借方 WITH 0.00
        ENDIF
        IF 贷方#0			                                 && 如果有试验数据
			REPLACE 贷方 WITH 0.00
		ENDIF	
		DEFINE WINDOW test3 FROM 2, 1 TO 26, 98 TITLE zza(i,2)+" 录入期初余额  ";
		 ZOOM  MINIMIZE FLOAT GROW CLOSE                     && 定义窗口
		ACTIVATE WINDOW test3                                && 激活窗口
		BROW FIELD 日期,摘要,余额                            && 浏览,录入期初余额
		******************* 处理月合计 ****************
		USE &zza(i,6)                                        && 打开科目月合计表
		ZAP
		APPEND FROM &ZZA(I,3)
		DEFINE WINDOW test3 FROM 2, 1 TO 26, 98 TITLE zza(i,2)+" 月合计期初余额  ";
		 ZOOM  MINIMIZE FLOAT GROW CLOSE                     && 定义窗口
		ACTIVATE WINDOW test3                                && 激活窗口
		BROW  FIELD 日期,摘要,余额                           && 浏览
	ENDIF
	
	IF zza(i,5)='选用明细'
             ********************** 处理明细 ******************* 
		USE zza(i,4)                                         && 打开明细联系表
		COPY TO ARRAY mx                                     && 复制到数组
		STORE RECC() TO N                                    && 记下纪录个数
		STORE 0.00 TO MXYEHJ                                 && 初始化余额合计变量
		FOR k=1 TO N-1                                       && 循环,末纪录总是‘创建或增添新明细’,不计
			USE &mx(k,2)                                     && 打开明细表
	        IF RECC()=0                                          && 如果文件为空
    	    	APPEND BLANK                                     && 追加空纪录
        	ELSE                                                 && 否则
				DELETE FOR RECNO()<RECC()                        && 做删除标记
				PACK                                             && 永久删除做了删除标记的纪录
			ENDIF
			REPLACE 日期 WITH the_end                            && 替换字段,下同
			REPLACE 凭证号 WITH ' '
			REPLACE 摘要 WITH '期初余额录入'
			IF 借方#0                                            && 如果有试验数据
				REPLACE 借方 WITH 0.00
        	ENDIF
	        IF 贷方#0			                                 && 如果有试验数据
				REPLACE 贷方 WITH 0.00
			ENDIF	
			IF 借方#0
				REPLACE 借方 WITH 0.00
        	ENDIF
			DEFINE WINDOW test3 FROM 2, 1 TO 26, 98 TITLE zza(i,2)+mx(k,1)+" 录入期初余额  ";
			 ZOOM  MINIMIZE FLOAT GROW CLOSE                     && 定义窗口
			ACTIVATE WINDOW test3                                && 激活窗口
			BROW FIELD 日期,摘要,余额                            && 浏览,录入期初余额
                 ******************* 处理明细月合计 ******************
			USE &mx(k,3)                                    && 打开明细月合计表
			ZAP                                             && 清除表
            APPEND FROM &mx(k,2)                            && 把明细表的内容追加到月合计表中
			DEFINE WINDOW test3 FROM 2, 1 TO 26, 98 TITLE zza(i,2)+mx(k,1)+" 月合计期初余额  ";
			 ZOOM  MINIMIZE FLOAT GROW CLOSE                     && 定义窗口
			ACTIVATE WINDOW test3                                && 激活窗口
			BROW FIELD 日期,摘要,余额                            && 浏览,录入期初余额
			MXYEHJ=MXYEHJ+余额
		NEXT                                                && 下一个FOR循环

		******************* 处理总账 ****************
		USE &zza(i,3)                                        && 打开科目表  
        IF RECC()=0                                          && 如果文件为空
        	APPEND BLANK                                     && 追加空纪录
        ELSE                                                 && 否则
			DELETE FOR RECNO()<RECC()                        && 做删除标记
			PACK                                             && 永久删除做了删除标记的纪录
		ENDIF
		REPLACE 日期 WITH the_end                            && 替换字段,下同
		REPLACE 凭证号 WITH ' '
		REPLACE 摘要 WITH '期初余额录入'
		IF 借方#0                                            && 如果有试验数据
			REPLACE 借方 WITH 0.00
        ENDIF
        IF 贷方#0			                                 && 如果有试验数据
			REPLACE 贷方 WITH 0.00
		ENDIF	

⌨️ 快捷键说明

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