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

📄 +

📁 visualfoxpro企业会计电算化实例
💻
📖 第 1 页 / 共 2 页
字号:

*************************************************************
**                      科目创建与增删.PRG                 **
*************************************************************
SET TALK OFF                                                 && 对话结果不显示在窗口
SET DATE ANSI                                                && 设置日期格式YY.MM.DD
SET CENTURY ON                                               && 设置世纪格式YYYY
CLEAR ALL                                                    && 释放变量、窗口、关闭表
PUBLIC mxj(300,2),mxj1(300),ax(300),a(300)                   && 定维公共数组
PUBLIC BEGIN,the_end                                         && 定义公共变量
STORE {  .  .  } TO BEGIN,the_end                            && 初始化公共变量
DO FORM 表单2 NAME 记账开始结束时间 LINK                     && 执行表单
READ EVENTS                                                  && 激活事件
SELECT 1                                                     && 激活工作区
USE 科目总控!zk85 ALIAS zk85                                && 打开科目总控数据库中的表zk85
COPY TO ARRAY zka                                            && 复制到总控数组
DEFINE WINDOW kmcj FROM 0,10 TO 25,96 TITLE '科目与明细创建' CLOSE FLOAT GROW;
	SHADOW DOUBLE MINIMIZE ZOOM COLOR RGB(255,0,0,255,255,255)  && 定义窗口,前景红色
ACTI WINDOW kmcj                                             && 激活窗口
@ 1,12 SAY ' 企业会计制度规定共有85个科目,建立科目和明细是会计电算化的起点.'
@ 2,10 SAY '用户可以根据自己的实际情况,选择<使用科目><使用明细>或者<暂不使用>,'
@ 3,12 SAY ' 有些科目暂时不用,就可以选择<暂不使用>,程序在使用的过程中会对其封闭,'
@ 4,10 SAY '以减少出错.当需要增加科目或明细时,随时可以增选.'    && 显示文本,上同
DEFINE WINDOW xzkm IN kmcj FROM 7,50 TO 20,80 TITLE '选择科目使用方式' ;
	CLOSE FLOAT GROW SHADOW ZOOM MINIMIZE                   && 定义窗口
ACTI WINDOW xzkm                                             && 激活窗口
DEFINE WINDOW xskm IN kmcj FROM 7,6 TO 20,45 TITLE '科目列表' ;
	CLOSE FLOAT GROW SHADOW ZOOM DOUB  MINIMIZE             && 定义窗口
DIME km(85)                                                  && 定维数组
FOR i=1 TO 85                                                && 循环
	km(i)=zka(i,1)+' '+zka(i,2)+zka(i,5)                    && 编号 科目名 选用与否 
NEXT                                                         && 下一个循环
STORE 1 TO h                                                 && 初始化变量
STORE .T. TO kg                                              && 初始化逻辑变量
DO WHILE kg                                                  && 循环
	ACTI WINDOW xskm                                         && 激活窗口
	@ 0,1 GET h DEFA 1 FROM km FUNC '&t '  SIZE 10,36        && List列表
	READ                                                     && 激活对象
	DO rk                                                && 键控过程,按Ctrl+End结束程序
	CLEAR                                                    && 清窗口
	ACTI WINDOW xzkm                                         && 激活选择窗口
	CLEAR                                                    && 清窗口
	@ 1,2 SAY zka(h,1)+' '+zka(h,2)                          && 显示文本:编号 科目
	SELECT zk85                                              && 激活工作区
	GOTO h                                                   && 移动指针
	@ 3,6 GET xy FUNC '*Rvt 选用科目;选用明细;暂不使用'  DEFA  zka(h,5)  && 选项按钮
	READ                                                     && 激活对象
	DO rk                                                 && 键控过程,按Ctrl+End结束程序
	zka(h,5)=xy                                              && 赋值
	REPLACE 选用与否  WITH xy                                && 替换字段
*   brow                                                      && 浏览
	FOR i=1 TO 85                                            && 循环
		km(i)=zka(i,1)+' '+zka(i,2)+zka(i,5)                && 更新数组的值
	NEXT                                                     && 下一个循环

	IF zka(h,5)='选用科目'                                   && 如果选用与否为选用科目
		USE &zka(h,3)                                       && 打开科目表名
		MODIFY STRUCTURE                                   && 修改表结构,假如需要修改的话
		DEFI WINDOW gz FROM 8, 0 TO 18 ,100 TITLE '建帐' DOUB MINI FLOAT ZOOM CLOSE
		ACTI WINDOW gz                                       && 定义并激活窗口
		@ 2,30 SAY '立即输入期初数据(建帐)吗?'            && 显示文本
		@ 4,20 GET gz DEFA 1 FUNC '*ht 取消;确认'  SIZE 2,5,40  && 命令按钮
		READ                                                 && 激活对象
		IF gz=2                                              && 如果选择了确认
			IF RECC()=0                                      && 如果没有纪录
				APPEND BLANK                                && 追加空纪录
				REPLACE 摘要 WITH '建帐'                    && 替换字段
			ELSE                                             && 否则
				DELETE FOR RECNO()<RECC()                   && 做删除标记,留下末纪录
				PACK                                        && 彻底删除
				REPLACE 摘要 WITH '结转'                    && 替换字段	
			ENDIF
			REPLACE 日期 WITH GOMONT(the_end,-1)             && 替换字段,下同
			REPLACE 凭证号 WITH '  '
			DEFI WINDOW gz FROM 16, 0 TO 26 ,100 ;
				TITLE '过帐科目:'+zka(h,2) +'库名:'+zka(h,3) +' 请添写数据 ';
				DOUB MINI FLOAT ZOOM CLOSE                  && 定义窗口
			ACTI WINDOW gz                                   && 激活窗口
			BROW                                             && 浏览,填写或修改余额
			COPY TO ARRAY gza                                && 复制到数组
			USE                                              && 关闭表
			IF FILE(zka(h,6)+'.dbf')                         && 如果月合计表存在
				USE zka(h,6)                                 && 打开表
				DELETE FOR RECNO()=<RECC()                   && 做删除标记,不留纪录
				PACK                                         && 彻底删除
				APPEND FROM ARRAY gza                        && 从数组追加 
				DEFI WINDOW gz FROM 16, 0 TO 26 ,100 TITLE  ;
					" 月合计 总页 : "+zka(h,2)+'库名:'+zka(h,6) ;
					 DOUB MINI FLOAT ZOOM CLOSE             && 定义窗口
				ACTI WINDOW gz                               && 激活窗口
				BROW                                         && 浏览,填写或修改余额
			ELSE                                             && 否则
				COPY  FILE (zka(h,3)+'.dbf') TO (zka(h,6)+'.dbf') && 复制科目表为月合计表
				DEFI WINDOW gz FROM 8, 0 TO 18 ,100 TITLE ;
				 " 月合计: "+zka(h,2)+zka(h,6) +' 总页 ' ;
				   DOUB MINI FLOAT ZOOM CLOSE                && 定义窗口
				ACTI WINDOW gz                               && 激活窗口
				USE zka(h,6)                                 && 打开月合计表
				BROW                                         && 浏览,填写或修改余额
			ENDIF
		ENDIF
		DEAC WINDOW gz                                       && 挂起窗口
	ENDIF


	IF zka(h,5)='选用明细'                                    && 如果选用与否为选用明细
		SELECT 0                                             && 激活工作区
		USE &zka(h,3)                                        && 打开表,科目表名
		MODIFY STRUCTURE                                   && 修改表结构,假如需要修改的话                                          
		DEFI WINDOW xmx FROM 4,20 TO 15,90 TITLE ' 新明细创建与添加 ' DOUBLE CLOSE
		ACTI WINDOW xmx                                      && 定义并激活窗口
		@ 2,20 SAY '立即创建和添加明细吗?'                  && 显示文本
		@ 5,15 GET T DEFA 1 FUNC '*ht 添加 ; 取消' SIZE 2,4,30  && 命令按钮
		READ                                                 && 激活对象
		CLEAR                                                && 清窗口
		IF T=1                                               && 如果选择了添加
			DO 添加新明细		                        && 运行添加新明细子程序,参见第五节
		ELSE                                                 && 否则
			USE                                             && 关闭表
			DEAC WINDOW  xmx                                && 挂起窗口
		ENDIF

		DEFI WINDOW gz FROM 16, 0 TO 26 ,113 TITLE '过帐' DOUB MINI FLOAT ZOOM CLOSE
		ACTI WINDOW gz                                       && 定义并激活窗口
		@ 1,30 SAY '立即输入期初数据(过帐)吗?'            && 显示文本
		@ 3,20 GET gz DEFA 1 FUNC '*ht 取消;确认'  SIZE 2,8,38  && 命令按钮
		READ                                                 && 激活对象
		IF gz=2                                              && 如果选择了确认

⌨️ 快捷键说明

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