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

📄 cangku.txt

📁 仓库管理系统 入库出库登记 增加库存
💻 TXT
📖 第 1 页 / 共 3 页
字号:
   ENDI
ENDIF
SELE 2
LOCA ALL FOR RQ=URQ1
FOR UI=1 TO  RECC(1)
	SELE 1
	GO UI
	UZD=[CP]+ALLT(CPDM)
	SELE 2
	REPLACE &UZD WITH &UZD+A.rksl
NEXT
CLOS DATA ALL
USE CPKC
SORT ON RQ TO $KC
ZAP
APPE FROM $KC
USE
ERAS $KC.DBF

SELE 1
USE CPHZA
APPE FROM cprdata
APPE FROM cpsjsr
REPL ALL HZMK WITH DTOC(RQ,1)+CPDM
INDE ON HZMK TO $SY
TOTA ON HZMK TO $SUM FIEL RKSL,LSSL,PFSL
ZAP
USE CPRDATA INDE CPRDATA
ZAP
APPE FROM $SUM
REIN
SELE 2
USE CPKC
LOCA ALL FOR RQ=URQ1
SELE 1
SET FILT TO RQ=URQ1
GO TOP
DO WHIL !EOF(1)
	SELE 1
	UZD=[CP]+ALLT(CPDM)
	REPL KCSL WITH B.&UZD
	SKIP	
ENDD
CLOS DATA ALL
ERAS $SY.DBF
ERAS $SUM.DBF
USE cpsjsr
ZAP
USE
RETU
*********
PROC ZCP21
*********
PARA SRTYPE
CLOS DATA ALL
STOR DATE() TO URQ1,URQ2
IF SRTYPE<>[库存]
	DO GETRQ WITH 1,URQ1,URQ2
ELSE
    USE CPKC
    IF RECC()<0.5
       CLOS DATA ALL
       RETU
    ENDI
    USE
	AAQQ=1
	DO ZYHWA_SE WITH [哪一日库存],[],3,AAQQ,-10,-10,[\<1 最近的;\<2 其它日]
	IF AAQQ=1
	   USE CPKC
	   GO BOTT
	   URQ1=RQ
	   USE
	ELSE
	   USE
	   DO GETRQ WITH 1,URQ1,URQ2
	   IF EMPT(URQ1)
 	      CLOS DATA
 	      RETU
       ENDI
	ENDI
	USE CPKC ALIA KC
	LOCA ALL FOR RQ>=URQ1
	IF !FOUN()
	   GO BOTT
	ELSE
	   IF RQ>URQ1
	      SKIP IIF(RECN()>1,-1,0)
	   ENDI
	ENDI
	DO KCSJMADE
	CLOS DATA ALL
ENDI
IF EMPT(URQ1)
   RETU
ENDI

SELE 2
USE cpdm ORDE cpdm
SELECT 1
UUDATAF=IIF(SRTYPE=[入库],[CPRK],;
        IIF(SRTYPE=[销售],[cpxs],;
        IIF(SRTYPE=[出入库],[CPRDATA],[$DRKC])))
USE "&UUDATAF"
SET RELA TO cpdm INTO B
IF SRTYPE<>[库存]
	LOCA ALL FOR rq=URQ1
	IF !FOUN()
	   CLOS DATA ALL
	   DO ZYHWA_SE WITH [\1],[没有]+DTOC(URQ1)+[日的]+SRTYPE+[明细数据。按任意键返回……],1
	   RETU
	ENDI
ENDI
UUCOL=IIF(SRTYPE=[入库],48,;
      IIF(SRTYPE=[销售],59,;
      IIF(SRTYPE=[出入库],68,48)))
       
DEFI WIND cxwind AT 0,0 SIZE 18,UUCOL ;
     FONT "宋体",12 TITLE "数据查询" SYST COLOR 0/7*
MOVE WIND cxwind CENT
IF SRTYPE<>[库存]
	SET FILT TO rq=URQ1
ENDI
DO CASE
   CASE SRTYPE=[入库]
   		BROW FIEL RQ:11:H=[入库日期],cpdm:5:H="代码",B.cpmc:9:H="产品名称",;
             rksl:10:P=[@Z]:H="入库数量" NOED NODE NOAP ;
             TITL DTOC(urq1)+" 每笔入库数据查询" WIND Cxwind NORM
   CASE SRTYPE=[销售]
	    BROW FIEL RQ:11:H=[销售日期],cpdm:5:H="代码",B.cpmc:9:H="产品名称",;
             lssl:10:P=[@Z]:H="零售数量 ",pfsl:10:P=[@Z]:H="批发数量 " NOED NODE NOAP ;
             TITL DTOC(urq1)+" 每笔销售数据查询" WIND Cxwind NORM
   CASE SRTYPE=[出入库]
	    BROW FIEL RQ:11:H=[发生日期],cpdm:5:H="代码",B.cpmc:9:H="产品名称",;
             rksl:10:P=[@Z]:H="入库数量",lssl:10:P=[@Z]:H="零售数量 ",pfsl:10:P=[@Z]:H="批发数量 ",;
             bbb=lssl+pfsl:10:P=[@Z]:h=[总销售量] ;
             NOED NODE NOAP FONT "宋体",10 ;
             TITL DTOC(urq1)+"日出入库汇总数据查询" WIND Cxwind NORM
   CASE SRTYPE=[库存]
   		BROW FIEL RQ:11:H=[库存日期],cpdm:5:H="代码",B.cpmc:9:H="产品名称",;
             KCsl:10:P=[@Z]:H="库存数量" NOED NODE NOAP ;
             TITL DTOC(urq1)+" 库存数据查询" WIND Cxwind NORM
ENDC
CLOSE DATA ALL
RELE WIND Cxwind
RETU
*************
PROC KCSJMADE
*************
SELE KC
SELE 2
USE CPRDATA
COPY STRU TO $DRKC FIEL RQ,CPDM,KCSL
USE $DRKC
FOR UI=1 TO FCOU(1)
	SELE KC
	UZD=FIEL(UI)
	IF LEFT(UZD+[  ],2)=[CP] AND BETW(SUBS(UZD+[UUUU],3,2),[01],[99])
	   SELE 2
	   APPE BLAN
	   REPL RQ WITH A.RQ,CPDM WITH SUBS(UZD,3,2),KCSL WITH A.&UZD
	ENDI
NEXT
SELE 2
USE
SELE KC
RETU
************
PROC ZCP41
************
PARA cho4
SELECT 3
USE cpdzb
SELECT 2
USE cpdm ORDE CPDM
DEFINE WINDOW dmwind AT 0,0 SIZE 23,64 font "宋体",12 ;
       TITLE "代码维护" SHADOW SYSTEM MDI COLO 7+/2
MOVE WIND dmwind CENTER
ACTIVATE WINDOW dmwind

DEFI WIND mdm1 IN dmwind FROM 1,2 TO 15,62 font "宋体",12
DEFI WIND mdm11 IN dmwind FROM 1,2 TO 15,62	font "宋体",12
DEFI WIND mdm2 IN dmwind FROM 16,5 TO 20,60 font "宋体",12 TITL "确认保证" SYSTEM MDI 
DEFI WIND mdm3 FROM 2,38 TO 20,68 IN dmwind TITL "对照表"
DO CASE
   CASE cho4=1                && -----增加------
      SELECT 2
      COPY STRUCTURE TO cpdmtem CDX
      SELECT 1
      USE cpdmtem ORDE CPDM
      APPEND BLANK
      ACTIVATE WINDOW dmwind
      @ 20,18 SAY "产品代码为2位数字,按Esc退出" styl "T"
      DO WHILE .T.
        SELECT 1
        ACTIVATE WINDOW mdm1
        BROWSE FIELDS cpdm:H="代码":V=fdm():F,cpmc:H="产品名称":V=cpmc<>" ":F,;
            dwdm:H=" ":V=fdm():F,dw:H="单  位":W=.F.,lbdm:H=" ":V=fdm():F,;
            lb:H="类  别":W=.F.,bbj:H="不变价",xxj:H="现行价":V=fappe():F;
            NOCLEAR WINDOW mdm1 TITLE "增加新产品" COLOR SCHEME 11
        IF RECCOUNT()=0 OR (RECCOUNT()=1 AND (cpdm=" " OR cpmc=" "))
           CLOSE DATABASES
           ERASE cpdmtem.DBF
           RELE WINDOW dmwind,mdm1
           @ 3,0 CLEAR
           RETURN
        ENDIF
        ACTIVATE WINDOW mdm2
        @ 0.5,4 GET ch FUNCTION "*H \<1 数据不保存;\<2 数据保存;\<3 继续输入";
               FONT "宋体",12 SIZE 1.7,12,4 DEFAULT 3
        READ MODAL CYCLE OBJECT 3
        DO CASE
        CASE ch=1
          EXIT
        CASE ch=2
          SELECT 1
          DELETE ALL FOR cpdm=" "
          PACK
          USE
          SELECT 2
          APPEND FROM cpdmtem
          REINDEX
          EXIT
        ENDCASE
        HIDE WINDOW mdm3
      ENDDO
   CASE cho4=2         &&-----删除-----
      SELECT 2
      ACTIVATE WINDOW dmwind
      @ 20,16 SAY " 按Esc键退出,按F12键删除" STYL "T"
      DO WHILE .T.
        ACTIVATE WINDOW mdm11
        ON KEY LABEL F12 KEYBOARD "{CTRL+T}"
        BROWSE FIELDS cpdm:H="  ",cpmc:H="产品名称 ",dw:H="单位 ",;
          lb:H="类别",bbj:H="产品不变价",xxj:H="产品现行价" NOEDIT NOAPPEND ;
          NOCLEAR TITLE "产品代码表" WINDOW mdm11 COLOR SCHEME 11
        ON KEY LABEL F12 *
        ACTIVATE WINDOW mdm2
        @ 0.5,4 GET ch FUNCTION "*H \<1 数据不保存;\<2 数据保存;\<3 继续输入";
               FONT "宋体",12 SIZE 1.7,12,4 DEFAULT 3
        READ MODAL CYCLE OBJECT 3
        DO CASE
        CASE ch=1
          RECALL ALL
          EXIT
        CASE ch=2
          SELECT 2
          PACK
          EXIT
        ENDCASE
        HIDE WINDOW mdm2
      ENDDO
   CASE cho4=3            &&-----修改-----
      SELECT 2
      COPY TO cpdmtem
      SELECT 1
      USE cpdmtem
      ACTIVATE WINDOW dmwind     
      @ 20,15 SAY " 产品代码是不可修改的,按Esc退出" STYL "T"
      DO WHILE .T.
        SELECT 1
        ACTIVATE WINDOW mdm1
        BROWSE FIELDS cpdm:H="  ":W=.F.,cpmc:V=cpmc<>" ":F:H="产品名称",;
          dwdm:V=fdm():F:H=" ",dw:H="单  位":W=.F.,lbdm:V=fdm():F:H=" ",;
          lb:H="类  别":W=.F.,bbj:H="不变价",xxj:V=fappe():F:H="现行价";
          NOCLEAR WINDOW mdm1 TITLE "修改产品代码表" COLOR SCHEME 11
        ACTIVATE WINDOW mdm2
        @ 0.5,4 GET ch FUNCTION "*H \<1 数据不保存;\<2 数据保存;\<3 继续输入";
               FONT "宋体",12 SIZE 1.7,12,4 DEFAULT 3
        READ MODAL CYCLE OBJECT 3
        DO CASE
        CASE ch=1
          EXIT
        CASE ch=2
          SELECT 1
          USE
          SELECT 2
          ZAP
          APPEND FROM cpdmtem
          REINDEX
          EXIT
        ENDCASE
        HIDE WINDOW mdm2
      ENDDO
ENDCASE

IF (cho4=1  OR  cho4=2) AND ch=2
    SELECT 2
    GO TOP
    SELECT 4
    USE cpkc
    COPY TO cpkcstru STRUCTURE EXTENDED
    USE cpkcstru
    GOTO 2
    DELETE REST
    PACK
    DO WHILE .NOT.EOF(2)
        APPEND BLANK
        REPLACE FIELD_NAME WITH "cp"+B.cpdm,FIELD_TYPE WITH "N",;
            FIELD_LEN WITH 10,FIELD_DEC WITH 3
      SKIP IN 2
    ENDDO
    SELECT 4
    USE
    CREATE cpkctem FROM cpkcstru
    USE cpkctem
    APPEND FROM cpkc
    COPY TO cpkc
ENDIF
CLOSE DATABASES
ERASE cpkcstru.dbf
ERASE cpkctem.dbf
ERASE cpdmtem.DBF
RELE WINDOW dmwind,mdm1,mdm2,mdm3
RETURN

FUNCTION fdm
IF LASTKEY()=27
   RETURN .T.
ENDIF
fname=UPPER(SYS(18))
DO CASE
   CASE fname="CPDM"
      IF A.cpdm=" "
         RETURN .F.
      ENDIF
      SELECT 2
      SEEK A.cpdm
      IF FOUND()
         BROW FIELDS cpdm:V=fret():F:H="代码",cpmc:H="产品名称":W=.F. ;
                NOEDIT NODELETE NOAPPEND font "宋体",12 ;
                TITLE "产品代码表" WINDOW mdm3 COLOR 6+/4
         SELECT 1
         RETURN .F.
      ENDIF
   CASE fname="DWDM"
      SELECT 3
      SET FILTER TO dwdm<>" "
      LOCATE ALL FOR dwdm=A.dwdm
      IF NOT FOUND()
         GO TOP
         BROWSE FIELDS dwdm:V=fret():F:H="代码",dw:H="单位" font "宋体",12 ;
                NOEDIT NODELETE NOAPPEND WINDOW mdm3
      ENDIF
      SELECT 1
      REPLACE dw WITH C.dw,dwdm WITH C.dwdm
   CASE fname="LBDM"
      SELECT 3
      SET FILTER TO lbdm<>" "
      LOCATE ALL FOR lbdm=A.lbdm
      IF NOT FOUND()
         GO TOP
         BROWSE FIELDS lbdm:V=fret():F:H="代码",lb:H="类别" font "宋体",12 ;
                NOEDIT NODELETE NOAPPEND WINDOW mdm3
      ENDIF
      SELECT 1
      REPLACE lb WITH C.lb,lbdm WITH C.lbdm
ENDCASE
SELECT 3
SET FILTER TO
SELECT 1
RETURN .T.

FUNCTION fappe
IF LASTKEY()=13
   DO CASE
   CASE cpdm<>" "  AND  RECNO()=RECCOUNT()
      APPEND BLANK
      KEYBOARD "{DNARROW}"
   CASE RECNO()<RECCOUNT()
      KEYBOARD "{DNARROW}"
   ENDCASE
ENDIF
RETURN .T.

FUNCTION fret
IF LASTKEY()=13
   KEYBOARD "{ESC}"
ENDIF
RETURN .T.
**********
PROC ZCP31
**********
mon=MONTH(DATE())
yea=YEAR(DATE())
DEFINE WINDOW rqw at 0,0 SIZE 10,40 FONT "宋体",12 ;
       TITL " 请输入报表时间,按Esc键退出" COLO 0/7* SYSTEM
MOVE WINDOW rqw CENTER
ACTIVATE WINDOW rqw
@ 1,12 SAY "请输入报表年月 "
@ 2.3,7 to 2.3,31 pen 2
@ 2.5,7 to 2.5,31 pen 2
@ 4,3 SAY "请输入报表的年月:"
@ 4,COL()+1 GET yea PICTURE "9999" VALID yea<=YEAR(DATE()) colo ,6+/4
@ 4,COL()+1 SAY "年"
@ 4,COL()+1 GET mon PICTURE "99" RANGE 1,12 colo ,6+/4
@ 4,COL()+1 SAY "月"
@ 5.5,3 SAY "报表月份可以是一年内的任何一月"

⌨️ 快捷键说明

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