gzhs.prg
来自「系统主要由考勤机和考勤软件两部分组成」· PRG 代码 · 共 59 行
PRG
59 行
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: GZHS.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DO forminit.prg
USE IN 0 rsgz
SELECT RSGZ
IF EOF()
MESSAGEBOX('没有工资数据',48,'提示信息')
RETURN
ENDIF
USE IN 0 gzdy
SELECT GZDY
IF EOF() .OR. LEN(ALLTRIM(CEXP)) = 0
MESSAGEBOX('没有工资定义公式',48,'提示信息')
RETURN
ENDIF
LOCAL EEXP
EEXP = GZDY.CEXP
SELECT BH 编号 , KH 卡号 , XM 姓名 , BM 部门 , 实发工资 , 基本工资 , 岗位工资 , ;
工龄工资 , 技术工资 , 学历工资 , 补助费 , 加班费 , 夜餐费 , 补贴 , ;
勤务外补贴 , 奖金 , 其它应发 , 养老金 , 病事假 , 贷款 , 所得税 , 房租水电 , ;
其它应扣 GROUP BY KH ORDER BY KH INTO TABLE gztmp FROM rsgz
IF _TALLY > 0
SELECT GZTMP
LOCAL LERR , TMPVAL
LERR = .F.
ON ERROR lerr=.T.
TMPVAL = EVALUATE(EEXP)
ON ERROR
IF LERR
MESSAGEBOX('工资定义公式错',48,'提示信息')
RETURN
ENDIF
LOCAL I , CURFLD
FOR I = 6 TO FCOUNT()
CURFLD = FIELD(I)
IF AT(CURFLD,EEXP) = 0
blank fields &curfld all
ENDIF
ENDFOR
SCAN
REPLACE 实发工资 WITH EVALUATE(EEXP)
ENDSCAN
GO TOP
IF .NOT. EOF()
DO FORM gzhslist
ELSE
MESSAGEBOX('没有工资数据',48,'提示信息')
ENDIF
ENDIF
IF USED('gztmp')
USE IN GZTMP
ENDIF
DELETE File gztmp.DBF
DELETE File gztmp.CDX
*
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?