📄 sczzgx.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: SCZZGX.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IF .NOT. USED('sczztemp')
SELECT 0
USE EXCLUSIVE (DXPATH + 'data\sczztemp.DBF')
ENDIF
SELECT SCZZTEMP
IF RECCOUNT() > 0
ZAP
ENDIF
IF USED('temp')
SELECT TEMP
USE
ENDIF
SELECT SCZZ
COPY TO (DXPATH + 'data\temp.DBF') FOR .NOT. DELETED()
IF USED('temp')
SELECT TEMP
USE
ENDIF
SELECT SCZZTEMP
APPEND FROM (DXPATH + 'data\temp.DBF')
IF USED('temp')
SELECT TEMP
USE
ENDIF
IF USED('temp1')
SELECT TEMP1
USE
ENDIF
SELECT JCD
COPY TO (DXPATH + 'data\temp.DBF') FOR .NOT. DELETED()
IF .NOT. USED('temp')
SELECT 0
USE EXCLUSIVE (DXPATH + 'data\temp.DBF')
ENDIF
SELECT TEMP
INDEX ON 材料代码 + 染厂编号 TAG 材料代码
TOTAL ON 材料代码 + 染厂编号 TO (DXPATH + 'data\temp1.dbf') FIELDS 入库件数 , 入库数量 , ;
入库金额
SELECT 0
USE (DXPATH + 'data\temp1.dbf')
SELECT TEMP1
SCAN
SELECT SCZZTEMP
LOCATE FOR ;
ALLTRIM(材料代码) == ALLTRIM(TEMP1.材料代码) AND ;
ALLTRIM(染厂) == ALLTRIM(TEMP1.染厂编号)
IF FOUND()
REPLACE 发出件数 WITH TEMP1.入库件数 , 发出数量 WITH TEMP1.入库数量 , 发出金额 WITH ;
TEMP1.入库金额
ELSE
SELECT CLDM
LOCATE FOR ALLTRIM(材料代码) == ALLTRIM(TEMP1.材料代码)
SELECT SCZZTEMP
APPEND BLANK
REPLACE 材料代码 WITH TEMP1.材料代码 , 材料名称 WITH CLDM.材料名称 , 类别代码 WITH ;
CLDM.类别代码 , 辅助单位 WITH CLDM.辅助单位 , 计量单位 WITH ;
CLDM.计量单位 , 染厂 WITH TEMP1.染厂编号 , 发出件数 WITH TEMP1.入库件数 , ;
发出数量 WITH TEMP1.入库数量 , 发出金额 WITH TEMP1.入库金额
ENDIF
SELECT TEMP1
ENDSCAN
IF USED('temp')
SELECT TEMP
USE
ENDIF
IF USED('temp1')
SELECT TEMP1
USE
ENDIF
SELECT SHD
COPY TO (DXPATH + 'data\temp.DBF') FOR ;
ALLTRIM(日期) >= MYEAR + '-01-01' AND .NOT. DELETED()
IF .NOT. USED('temp')
SELECT 0
USE EXCLUSIVE (DXPATH + 'data\temp.DBF')
ENDIF
SELECT TEMP
INDEX ON 材料代码 + 染厂编号 TAG 代码染厂
SET ORDER TO 代码染厂
TOTAL ON 材料代码 + 染厂编号 TO (DXPATH + 'data\temp1.dbf') FIELDS 件数 , 数量 , 金额
SELECT 0
USE (DXPATH + 'data\temp1.dbf')
SELECT TEMP1
SCAN
SELECT SCZZTEMP
LOCATE FOR ;
ALLTRIM(材料代码) == ALLTRIM(TEMP1.材料代码) AND ;
ALLTRIM(染厂) == ALLTRIM(TEMP1.染厂编号)
IF FOUND()
REPLACE 收回件数 WITH TEMP1.件数 , 收回数量 WITH TEMP1.数量 , 收回金额 WITH TEMP1.金额
ELSE
SELECT CLDM
LOCATE FOR ALLTRIM(材料代码) == ALLTRIM(TEMP1.材料代码)
SELECT SCZZTEMP
APPEND BLANK
REPLACE 材料代码 WITH TEMP1.材料代码 , 类别代码 WITH CLDM.类别代码 , 染厂 WITH ;
TEMP1.染厂编号 , 辅助单位 WITH CLDM.辅助单位 , 计量单位 WITH ;
CLDM.计量单位 , 材料名称 WITH CLDM.材料名称 , 收回件数 WITH TEMP1.件数 , ;
收回数量 WITH TEMP1.数量 , 收回金额 WITH TEMP1.金额
ENDIF
SELECT TEMP1
ENDSCAN
SELECT SCKCHX
IF USED('temp')
SELECT TEMP
USE
ENDIF
IF USED('temp1')
SELECT TEMP1
USE
ENDIF
SELECT SCKCHX
COPY TO (DXPATH + 'data\temp.DBF') FOR ;
ALLTRIM(日期) >= MYEAR + '-01-01' AND .NOT. DELETED()
IF .NOT. USED('temp')
SELECT 0
USE EXCLUSIVE (DXPATH + 'data\temp.DBF')
ENDIF
SELECT TEMP
INDEX ON 材料代码 + 染厂编号 TAG 代码仓库
SET ORDER TO 代码仓库
TOTAL ON 材料代码 + 染厂编号 TO (DXPATH + '\data\temp1.dbf') FIELDS 损溢件数 , ;
损溢数量 , 损溢金额
SELECT 0
USE (DXPATH + 'data\temp1.dbf')
SELECT TEMP1
SCAN
SELECT SCZZTEMP
LOCATE FOR ;
ALLTRIM(材料代码) == ALLTRIM(TEMP1.材料代码) AND ;
ALLTRIM(染厂) == ALLTRIM(TEMP1.染厂编号)
IF FOUND()
REPLACE 报亏件数 WITH -TEMP1.损溢件数 , 报亏数量 WITH -TEMP1.损溢数量 , 报亏金额 WITH ;
-TEMP1.损溢金额
ELSE
SELECT CLDM
LOCATE FOR ALLTRIM(材料代码) == ALLTRIM(TEMP1.材料代码)
SELECT SCZZTEMP
APPEND BLANK
REPLACE 材料代码 WITH TEMP1.材料代码 , 类别代码 WITH CLDM.类别代码 , 染厂 WITH ;
TEMP1.染厂编号 , 辅助单位 WITH CLDM.辅助单位 , 计量单位 WITH ;
CLDM.计量单位 , 材料名称 WITH CLDM.材料名称 , 报亏件数 WITH -TEMP1.损溢件数 , ;
报亏数量 WITH -TEMP1.损溢数量 , 报亏金额 WITH -TEMP1.损溢金额
ENDIF
SELECT TEMP1
ENDSCAN
SELECT SCZKD
LOCATE FOR ALLTRIM(SCZKD.转库日期) >= MYEAR + '-01-01' AND .NOT. DELETED()
IF FOUND()
IF USED('temp')
SELECT TEMP
USE
ENDIF
IF USED('temp1')
SELECT TEMP1
USE
ENDIF
SELECT SCZKD
SELECT * WHERE ALLTRIM(SCZKD.转库日期) >= MYEAR + '-01-01' AND .NOT. DELETED() INTO ;
TABLE (DXPATH + 'data\temp.DBF') FROM sczkd
IF .NOT. USED('temp')
SELECT 0
USE EXCLUSIVE (DXPATH + 'data\temp.DBF')
ENDIF
SELECT TEMP
INDEX ON 材料代码 + 转出仓库 TAG 代码仓库
SET ORDER TO 代码仓库
TOTAL ON 材料代码 + 转出仓库 TO (DXPATH + 'data\temp1.dbf') FIELDS 件数 , 数量 , 金额
SELECT 0
USE (DXPATH + 'data\temp1.dbf')
SELECT TEMP1
SCAN
SELECT SCZZTEMP
LOCATE FOR ;
ALLTRIM(材料代码) == ALLTRIM(TEMP1.材料代码) AND ;
ALLTRIM(染厂) == ALLTRIM(TEMP1.转出仓库)
IF FOUND()
REPLACE 转出件数 WITH TEMP1.件数 , 转出数量 WITH TEMP1.数量 , 转出金额 WITH TEMP1.金额
ELSE
SELECT CLDM
LOCATE FOR ALLTRIM(材料代码) == ALLTRIM(TEMP1.材料代码)
SELECT SCZZTEMP
APPEND BLANK
REPLACE 材料代码 WITH TEMP1.材料代码 , 材料名称 WITH TEMP1.材料名称 , 类别代码 WITH ;
CLDM.类别代码 , 染厂 WITH TEMP1.转出仓库 , 辅助单位 WITH ;
CLDM.辅助单位 , 计量单位 WITH CLDM.计量单位 , 转出件数 WITH ;
TEMP1.件数 , 转出数量 WITH TEMP1.数量 , 转出金额 WITH TEMP1.金额
ENDIF
SELECT TEMP1
ENDSCAN
IF USED('temp')
SELECT TEMP
USE
ENDIF
IF USED('temp1')
SELECT TEMP1
USE
ENDIF
SELECT SCZKD
SELECT * WHERE ALLTRIM(SCZKD.转库日期) >= MYEAR + '-01-01' AND .NOT. DELETED() INTO ;
TABLE (DXPATH + 'data\temp.DBF') FROM sczkd
IF .NOT. USED('temp')
SELECT 0
USE EXCLUSIVE (DXPATH + 'data\temp.DBF')
ENDIF
SELECT TEMP
INDEX ON 材料代码 + 转入仓库 TAG 代码仓库
SET ORDER TO 代码仓库
TOTAL ON 材料代码 + 转入仓库 TO (DXPATH + 'data\temp1.dbf') FIELDS 件数 , 数量 , 金额
SELECT 0
USE (DXPATH + 'data\temp1.dbf')
SELECT TEMP1
SCAN
SELECT SCZZTEMP
LOCATE FOR ;
ALLTRIM(材料代码) == ALLTRIM(TEMP1.材料代码) AND ;
ALLTRIM(染厂) == ALLTRIM(TEMP1.转入仓库)
IF FOUND()
REPLACE 转入件数 WITH TEMP1.件数 , 转入数量 WITH TEMP1.数量 , 转入金额 WITH TEMP1.金额
ELSE
SELECT CLDM
LOCATE FOR ALLTRIM(材料代码) == ALLTRIM(TEMP1.材料代码)
SELECT SCZZTEMP
APPEND BLANK
REPLACE 材料代码 WITH TEMP1.材料代码 , 材料名称 WITH TEMP1.材料名称 , 类别代码 WITH ;
CLDM.类别代码 , 染厂 WITH TEMP1.转入仓库 , 辅助单位 WITH ;
CLDM.辅助单位 , 计量单位 WITH CLDM.计量单位 , 转入件数 WITH ;
TEMP1.件数 , 转入数量 WITH TEMP1.数量 , 转入金额 WITH TEMP1.金额
ENDIF
SELECT TEMP1
ENDSCAN
ENDIF
IF USED('temp')
SELECT TEMP
USE
ENDIF
SELECT SCZZTEMP
REPLACE 期末件数 WITH 期初件数 + 发出件数 + 转入件数 - 收回件数 - 转出件数 - 报亏件数 , ;
期末数量 WITH ;
期初数量 + 发出数量 + 转入数量 - 收回数量 - 转出数量 - 报亏数量 , 期末金额 WITH ;
(期初金额 + 发出金额 + 转入金额 - 收回金额 - 转出金额 - 报亏金额)
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -