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

📄 sellitman.prg

📁 通过VFP编程的方式来统计指定数据库中的有关数据
💻 PRG
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
*  文件名: SELLITMAN.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


 SET TALK OFF
 SET SAFETY OFF
 SET DELETED ON
 SET DATE TO ANSI
 SET CENTURY ON
 LNSELE00 = SELECT()
 DM = IIF(TYPE('SHORTNAME') = 'C',SHORTNAME,'')
 IF TYPE('DATEFROM') <> 'C'
    DATEEND0 = DATE()
    DATEEND = DTOC(DATE())
    IF DAY(DATE()) = 1
       DATEEND0 = DATE() - 1
       DATEEND = DTOC(DATE() - 1)
    ENDIF 
    DATEFROM0 = DATEEND0
    LNMONTH = MONTH(DATEFROM0)
    DO WHILE .T.
       DATEFROM0 = DATEFROM0 - 1
       IF MONTH(DATEFROM0) < LNMONTH
          DATEFROM0 = DATEFROM0 + 1
          EXIT 
       ENDIF 
    ENDDO 
    DATEFROM = DTOC(DATEFROM0)
 ENDIF 
 WAIT WINDOW NOWAIT TIMEOUT 60 '正在进行数据计算......'
 FULLNAME = DM
  USEDBFORDERNO()
  USEDBFITEM()
 SELECT 0
 DO CASE 
 CASE USED('有奖销售')
    SELECT 有奖销售
 CASE FILE('有奖销售.DBF')
    USE 有奖销售.DBF
 CASE FILE('XSGL\有奖销售.DBF')
    USE XSGL\有奖销售.DBF
 CASE FILE('\VFP\XSGL\有奖销售.DBF')
    USE \VFP\XSGL\有奖销售.DBF
 CASE FILE('C:\VFP\XSGL\有奖销售.DBF')
    USE C:\VFP\XSGL\有奖销售.DBF
 OTHERWISE 
    = MESSAGEBOX('未发现文件 “有奖销售.DBF” !    ',48,'信息')
    RETURN 
 ENDCASE 
 WAIT WINDOW NOWAIT TIMEOUT 200 '数据计算......'
 SET DELETED ON
 T00 = 0
 SELECT ORDERNO.CJR  CJR , ITEM.NO  NO , ITEM.QJRQ  QJRQ , UPPER(ITEM.CODE)  CODE ,  ;
      UPPER(ITEM.MODEL)  MODEL WHERE  ;
      ORDERNO.WS <> -1 AND ORDERNO.LB > ' ' AND ORDERNO.CJR > ' ' AND ITEM.QJRQ >= DATEFROM AND  ;
ITEM.QJRQ <= DATEEND AND ITEM.BZ = ' ' AND ITEM.NO = ORDERNO.NO AND  ;
LEN(ALLTRIM(ITEM.CODE)) > 0  ;
      HAVING  ;
       .NOT. ISNULL(CJR) AND  .NOT. ISNULL(CODE) ORDER BY  ;
      ITEM.CODE INTO TABLE YJXSTMP FROM ITEM , ORDERNO
 IF _TALLY > 0
    T00 = 1
    SELECT 0
    CREATE CURSOR YJXS ( CJR C ( 8 ) , NO I , QJRQ C ( 10 ) , CODE C ( 12 ) , MODEL C ( 18  ;
         ) , 型号 C ( 10 ) , 备注 C ( 30 ) , 奖金 Y , 店长奖金 Y )
    APPEND FROM YJXSTMP
    GO TOP
    SCAN 
       LCCODE = YJXS.CODE
       LCM = YJXS.MODEL
       LCXH0 = YJXS.型号
       LCQJRQ = YJXS.QJRQ
       SELECT 有奖销售
       GO TOP
       SCAN FOR  ;
            LCQJRQ >= DTOC(有奖销售.起始日期) AND LCQJRQ <= DTOC(有奖销售.结束日期) AND  ;
      LCCODE = ALLTRIM(有奖销售.类别) + '-' + ALLTRIM(有奖销售.品牌) AND  ;
      (有奖销售.奖金 > YJXS.奖金 .OR. LEN(ALLTRIM(LCXH0)) = 0 AND LEN(ALLTRIM(有奖销售.型号)) > 0)
          LCNYF = ' '
          LCNYE = ' '
          IF TYPE('年月from') = 'C'
             LCNYF = 有奖销售.年月FROM
             LCNYE = 有奖销售.年月END
          ENDIF 
          IF LCNYF > ' ' .OR. LCNYE > ' '
             IF  .NOT. (LCCODE >=  ;
            ALLTRIM(有奖销售.类别) + '-' + ALLTRIM(有奖销售.品牌) + '-' + ALLTRIM(LCNYF) AND  ;
            LCCODE <= ALLTRIM(有奖销售.类别) + '-' + ALLTRIM(有奖销售.品牌) + '-' + ALLTRIM(LCNYE))
                LOOP 
             ENDIF 
          ENDIF 
          LNJJ = 有奖销售.奖金
          LNDZJJ = 有奖销售.店长奖金
          LCXH = 有奖销售.型号
          LNBZ = 有奖销售.备注
          IF LEN(ALLTRIM(LCXH)) = 0 .OR. LCM = ALLTRIM(LCXH) .OR.  ;
         LEFT(LCXH,1) = '*' AND ALLTRIM(RIGHT(LCXH,LEN(LCXH) - 1)) $ LCM .OR.  ;
         LEFT(LCXH,1) = '#' AND ALLTRIM(SUBSTR(LCXH,VAL(SUBSTR(LCXH,2,2)),LEN(ALLTRIM(RIGHT(LCXH,LEN(LCXH) - 3))))) ==  ;
         ALLTRIM(SUBSTR(LCM,VAL(SUBSTR(LCXH,2,2)),LEN(ALLTRIM(RIGHT(LCXH,LEN(LCXH) - 3)))))
             SELECT YJXS
             REPLACE YJXS.型号 WITH LCXH , 备注 WITH LNBZ , 奖金 WITH LNJJ , 店长奖金 WITH LNDZJJ
          ENDIF 
          SELECT 有奖销售
       ENDSCAN 
       SELECT YJXS
    ENDSCAN 
    DELETE ALL FOR 奖金 = 0 AND 店长奖金 = 0
    T00 = 0
    SELECT CJR  承件人 , NO  三联单 , QJRQ  取件日期 , CODE + ' ' + MODEL  商品条码 , 备注 ,  ;
         奖金 , 店长奖金 ORDER BY CJR , 备注 , QJRQ , NO , CODE INTO  ;
         CURSOR CURST01 FROM YJXS
    IF _TALLY > 0
       T00 = 1
       LCDATETIME = TTOC(DATETIME())
       REPORT FORM 有奖销售个人 PREVIEW NOCONSOLE
       REPORT FORM 有奖销售个人 TO PRINTER PROMPT NOCONSOLE
    ENDIF 
 ENDIF 
 IF T00 = 0
    = MESSAGEBOX('统计数为零!    ',64,'信息')
 ENDIF 
 USE 
 IF USED('ORDERNO')
    SELECT ORDERNO
    USE 
 ENDIF 
 IF USED('ITEM')
    SELECT ITEM
    USE 
 ENDIF 
 IF USED('有奖销售')
    SELECT 有奖销售
    USE 
 ENDIF 
 IF USED('YJXSTMP')
    SELECT YJXSTMP
    USE 
 ENDIF 
 DELETE File YJXSTMP.DBF
 SELECT (LNSELE00)
 RETURN 
*

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -