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

📄 clzzgx.prg

📁 吐血贡献纺织上的进销存原码,功能齐全,给大家吧.
💻 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 + -