📄 clzzgx.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: CLZZGX.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
IF .NOT. USED('clzztemp')
SELECT 0
USE EXCLUSIVE (DXPATH + 'data\clzztemp.DBF')
ENDIF
SELECT CLZZTEMP
IF RECCOUNT() > 0
ZAP
ENDIF
IF USED('temp')
SELECT TEMP
USE
ENDIF
SELECT CLZZ
COPY TO (DXPATH + 'data\temp.DBF') FOR .NOT. DELETED()
IF USED('temp')
SELECT TEMP
USE
ENDIF
SELECT CLZZTEMP
APPEND FROM (DXPATH + 'data\temp.DBF')
IF USED('temp')
SELECT TEMP
USE
ENDIF
IF USED('temp1')
SELECT TEMP1
USE
ENDIF
SELECT SHD
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 CLZZTEMP
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 CLZZTEMP
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 MDH
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 CLZZTEMP
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 CLZZTEMP
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
SELECT ZKD
LOCATE FOR ALLTRIM(ZKD.转库日期) >= MYEAR + '-01-01' AND .NOT. DELETED()
IF FOUND()
IF USED('temp')
SELECT TEMP
USE
ENDIF
IF USED('temp1')
SELECT TEMP1
USE
ENDIF
SELECT ZKD
SELECT * WHERE ALLTRIM(ZKD.转库日期) >= MYEAR + '-01-01' AND .NOT. DELETED() INTO ;
TABLE (DXPATH + 'data\temp.DBF') FROM zkd
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 CLZZTEMP
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 CLZZTEMP
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 ZKD
SELECT * WHERE ALLTRIM(ZKD.转库日期) >= MYEAR + '-01-01' AND .NOT. DELETED() INTO ;
TABLE (DXPATH + 'data\temp.DBF') FROM zkd
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 CLZZTEMP
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 CLZZTEMP
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
IF USED('temp1')
SELECT TEMP1
USE
ENDIF
SELECT BD
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 CLZZTEMP
LOCATE FOR ;
ALLTRIM(材料代码) == ALLTRIM(TEMP1.材料代码) AND ALLTRIM(仓库) == ALLTRIM(TEMP1.仓库)
IF FOUND()
IF TEMP1.件数差数 > 0
SELECT CLZZTEMP
REPLACE 入库件数 WITH 入库件数 + TEMP1.件数差数 , 仓库 WITH TEMP1.仓库
ELSE
SELECT CLZZTEMP
REPLACE 出库件数 WITH 出库件数 + ABS(TEMP1.件数差数) , 仓库 WITH TEMP1.仓库
ENDIF
IF TEMP1.数量差数 > 0
SELECT CLZZTEMP
REPLACE 入库数量 WITH 入库数量 + TEMP1.数量差数 , 入库金额 WITH ;
入库金额 + TEMP1.盈亏金额 , 仓库 WITH TEMP1.仓库
ELSE
SELECT CLZZTEMP
REPLACE 出库数量 WITH 出库数量 + ABS(TEMP1.数量差数) , 出库金额 WITH ;
出库金额 + ABS(TEMP1.盈亏金额) , 仓库 WITH TEMP1.仓库
ENDIF
ENDIF
SELECT TEMP1
ENDSCAN
IF USED('temp')
SELECT TEMP
USE
ENDIF
SELECT CLZZTEMP
REPLACE 期末件数 WITH 期初件数 + 入库件数 + 其他件数 - 出库件数 - 件数 , 期末数量 WITH ;
期初数量 + 入库数量 + 其他数量 - 出库数量 - 数量 , 期末金额 WITH ;
(期初金额 + 入库金额 + 其他金额 - 出库金额 - 金额)
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -