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

📄 sczzgx.prg

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