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

📄

📁 visualfoxpro企业会计电算化实例
💻
字号:
*****************************************************************************
**                               工资核算.PRG                               **
*****************************************************************************
clear all
CLOSE DATA
SET TALK OFF                                                 && 阻止对话结果传送到窗口
SET CENTURY ON                                               && 指定用四位数表示年
SET DATE ANSI                                                && 日期格式yy.mm.dd
CLEAR                                                        && 清屏幕
PUBLIC BEGIN,the_end                                         && 定义公共日期变量
DO FORM 表单2 NAME 记账开始结束时间 LINK                      && 执行表单
READ EVENTS                                                  && 激活事件
SET DEVICE TO SCREEN                                         && 输出指向屏幕
SET PRINT OFF                                                && 不允许打印机输出
SET SAFETY OFF                                               && 关闭安全提示窗口
DEFINE WINDOW prt FROM 8,40 TO 22,72 TITLE '选择页面了吗?' CLOSE  && 定义窗口
ACTIVATE WINDOW prt                                          && 激活窗口
@ 1,1 SAY   '  提示:如果页面未设置为  A2   应设置' ;
	COLOR RGB(255,128,0,255,255,255)                         && 提示信息
@ 5,12 GET prt DEFAULT 1 FUNCTION '*vt 设置;越过' SIZE 2,6,2  && 命令按钮
READ                                                         && 激活对象
DEAC WINDOW prt                                              && 挂起窗口
IF prt=1                                                     && 如果选择了设置
	=SYS(1037)                              && 显示页面设置对话框,进行页面设置
ENDIF
DEFI WINDOW gz FROM 5,20 TO 15,60 TITLE '  工资核算  ' DOUBLE CLOSE  && 定义窗口
ACTI WINDOW gz                                               && 激活窗口
@ 1,10 SAY '年:' GET nian1 DEFA YEAR(DATE())                 && 编辑年
@ 3,10 SAY '月:' GET yuefen DEFA MONTH(the_end) SIZE 1,2      && 编辑月
@ 5,10 get d defa 1 func "*ht 修改数据;工资核算"size 2,4,4
READ                                                         && 激活对象
nian1=SUBSTR(STR(nian1,4),3,2)                                && 给变量赋值
IF yuefen<10                                                 && 如果月份小于10
	gzbdbf='工资表'+nian1+'0'+ALLTRIM(STR(yuefen))            && 工资表数据表文件名
	pygzbdbf='聘用工资表'+nian1+'0'+ALLTRIM(STR(yuefen))      && 聘用工资表数据表文件名
ELSE                                                         && 否则
	gzbdbf='工资表'+nian1+ALLTRIM(STR(yuefen))                && 工资表数据表文件名
	pygzbdbf='聘用工资表'+nian1+ALLTRIM(STR(yuefen))          && 聘用工资表数据表文件名
ENDIF

DEAC WINDOW gz                                               && 挂起窗口
if d=2
	COPY FILE 工资计算明细原表.DBF TO  (gzbdbf+'.dbf')            && 复制当月工资表 
	COPY FILE 聘用人员工资计算明细原表.DBF TO  (pygzbdbf+'.dbf')   && 复制当月聘用人员工资表
endif
USE &gzbdbf                                                  && 打开当月工资表 
if d=1
	delete for 姓名="合计"
	pack
endif	
REPLACE 月份 WITH yuefen ALL                                 && 替换月份 
SET FILTER TO x='x'                                          && 过滤行管人员
DEFI WINDOW gz FROM 0,0 TO 25,99 TITLE '  工资核算 工资计算明细 填写计时天数 ' ;
	DOUBLE CLOSE                                             && 定义窗口
ACTI WINDOW gz                                               && 激活窗口
BROW                                                         && 在浏览窗口中填写计时天数
*REPLACE 加分 WITH (计时工资*计时天)*0.4 ALL                   &&+粮煤补贴+副食补贴+肉价补贴+奖金+水电+粮销+;保健+通勤+洗理+儿保+医药+书报费+地区差+其他)       && 本厂内部规定的算法
SET FILTER TO x#'x'                                          && 过滤非行管人员
DEFI WINDOW gz FROM 0,0 TO 25,99 TITLE '  工资核算 工资计算明细 填写变动工资 ' DOUBLE CLOSE  && 定义窗口
ACTI WINDOW gz                                               && 激活窗口
GOTO TOP                                                     && 指针指向首纪录
BROW                                                         && 在浏览窗口中填写计件工资                                                        
DEFI WINDOW gz FROM 0,0 TO 25,99 TITLE '  工资核算 工资计算明细 填写变动工资 ' DOUBLE CLOSE  && 定义窗口
ACTI WINDOW gz                                               && 激活窗口
SET FILTER TO                                                && 取消过滤器

REPLACE 实领工资 WITH 标准工资+计件天数*计件工资+加班小时*加班工资+出差天数*出差工资+其他小时*其他工资+粮煤补贴+副食补贴+;
	肉价补贴+奖金+水电+粮销+保健+通勤+洗理+儿保+医药+书报费+地区差+其他+加分;
	+计时工资*计时天-保险-其他1 ALL                     && 替换字段
TOTAL ON 领收人签字 TO TEMP1                                  && 统计,相当于累加
APPEND FROM TEMP1                                            && 把累加的结果追加到工资表中
REPLACE 姓名 WITH '合计'                                      && 替换字段,下同
REPLACE 编号 WITH 0,月份 WITH yuefen
REPLACE x WITH ' '
DEFI WINDOW gz FROM 0,0 TO 25,99 TITLE '    工资计算明细  ' DOUBLE CLOSE  && 定义窗口
ACTI WINDOW gz                                               && 激活窗口
GOTO TOP                                                     && 指针指向首纪录
BROW NOEDIT                                                  && 浏览,禁止编辑


USE &pygzbdbf                                                && 打开当月聘用人员工资表
if d=1
	delete for 姓名="合计"
	pack
endif	
REPLACE 月份 WITH yuefen ALL                                 && 替换月份
SET FILTER TO x='x'                                          && 过滤行管人员
goto top
defi window gz from 0,0 to 25,99 title '聘用人员工资核算 填写计时工资';
         double close 
acti window gz 
BROW                                                         && 在浏览窗口中填写计时工资衣无缝
*goto recno()
*REPLACE 加分 WITH (计时工资*计时天)*0.4 all
*goto 22
*REPLACE 加分 WITH (计时工资*计时天)*0.3

*if recno()=22               &&+粮煤补贴+副食补贴+肉价补贴+奖金+水电+粮销+;	保健+通勤+洗理+儿保+医药+书报费+地区差+其他)       && 本厂内部规定的算法                                         && 过滤非行管人员
*        REPLACE 加分 WITH (计时工资*计时天)*0.3
*   else recno()#22
*       REPLACE 加分 WITH (计时工资*计时天)*0.4
*endif
SET FILTER TO x#'x'                                    && 过滤非行管人员
DEFI WINDOW gz FROM 0,0 TO 25,99 TITLE '  工资核算 工资计算明细 填写变动工资 ' DOUBLE CLOSE  && 定义窗口
ACTI WINDOW gz                                               && 激活窗口
GOTO TOP                                                     && 指针指向首纪录
BROW                                                         && 在浏览窗口中填写计件工资                                                        
DEFI WINDOW gz FROM 0,0 TO 25,99 TITLE '  工资核算 工资计算明细 填写变动工资 ' DOUBLE CLOSE  && 定义窗口
ACTI WINDOW gz                                               && 激活窗口
SET FILTER TO                                                && 取消过滤器
REPLACE 实领工资 WITH 标准工资+计时工资*计时天+计件天数*计件工资+加班小时*加班工资+出差天数*出差工资+其他小时*其他工资+粮煤补贴+副食补贴+;
	肉价补贴+奖金+水电+粮销+保健+通勤+洗理+儿保+医药+书报费+地区差+其他+加分;
	-保险-其他1 ALL                                    && 替换字段
TOTAL ON 领收人签字 TO TEMP2                                  && 统计,相当于累加
APPEND FROM TEMP2                                      && 把累加的结果追加到聘用人员工资表中
REPLACE 姓名 WITH '合计'                                      && 替换字段,下同
REPLACE 编号 WITH 0,月份 WITH yuefen
BROW NOEDIT                                                  && 浏览,禁止编辑
USE                                                          && 关闭表
DEAC WINDOW gz                                               && 挂起窗口
COPY  FILE   (gzbdbf+'.dbf') TO 工资计算明细表.DBF            && 复制表
COPY FILE  (pygzbdbf+'.dbf') TO 聘用人员工资计算明细表.DBF     && 复制表
SET SAFETY ON                                                && 关闭安全提示窗口
RETURN                                                       && 程序结束

⌨️ 快捷键说明

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