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

📄 进销存.zrg

📁 掌机使用Zzbase语言的各种的关于各种电力规约如645
💻 ZRG
📖 第 1 页 / 共 4 页
字号:
           RETURN
        ELSE
           CURR_REC=recno()
           GO CURR_REC
          
           PJJ=round(库存总额A/现库存量A,1)
           KCZE=PJJ*XSL
           MLR=(PFJ-PJJ)*XSL
           
           sSysVar2=READSYSVAR(53)
           TEMP1=VAL(sSysVar2)
           
           sSysVar3=READSYSVAR(54)
           TEMP4=VAL(sSysVar3)
                
           replace  现库存量A with TEMP1-XSL
           replace  库存总额A with TEMP4-KCZE
       ENDIF 
       SELECT A
       GO BOTTOM
       replace 批发毛利 with MLR
       clear
       @0,1 say "-- 最终批发清单 --"
       @2,0 say "订单编号:"
       @2,col() say 定单ID
       @3,0 say "客户编号:"
       @3,col() say 客户A_ID
       @4,0 say "批发日期:"
       @4,col() say DATE()
       @5,0 say "商品条码:"
       @5,col() say 商品A_ID
       @6,0 say "批发价格:"
       @6,col() say PFJ
       @7,0 Say "批发数量:" 
       @7,col() say XSL
       @8,0 Say "批发金额:" 
       @8,col() say PFZE
       @9,0 say "本单毛利:"
       @9,col() say MLR
       wait""
       n=lastkey()
       if n=24
          KHID=客户A_ID
          DO 客户库              
            
          SPID=商品ID  
          DO A产品库 
               
      *   ZGBH=雇员A_ID
      *   DO 雇员库 
      endif                    
  RETURN
ENDPRO


PROCEDURE  进货业务
     CLEAR
     DO WHILE .T.
	CLEAR
	SET INTENSITY ON
	@ 0,1 SAY "-- 超市商品管理 --"
	SET INTENSITY OFF
	进货菜单[1]="1-原有商品采购"
	进货菜单[2]="2-新进商品采购"
        进货数组[1]="原库存商品的采购录入业务,5位订单编号自动添加"
	进货数组[2]="新商品采购录入业务,再次采购时;就应使用原有商品采购选项"
	@2,3 MENU 进货菜单,2,2
	@2,3 MENU 进货数组,2
	@6,0 SAY "注:请按上下键进行选择,再按确认键执行!!"
	READ MENU TO nCMenuChoice
	DO CASE
	   CASE nCMenuChoice=1
		Do 原库采购
           CASE nCMenuChoice=2
		DO 新货采购
	   OTHERWISE
		EXIT
	ENDCASE
     ENDDO
 RETURN
ENDPRO    
    
PROCEDURE  原库采购 
    CLEAR
    TEMP14=0
    SELECT A  
    GO TOP                     
    @0,1 Say "-- 准备订单输入 --"
    @2,0 Say "当前记录号:"+Str(Recno(),5)
    @3,0 Say "新记录序号:"+Str(Reccount()+1,5)
    @5,1 Say "注意!!!"
    @6,0 Say "按确认键,开始输入原有商品的采购订单!!"
    Wait "" To cKey
    if Asc(cKey)=13
       Clear 2
       ZHDJ=0.00
       CGSL=0
       TEMP3=""
       XH=Reccount()
       GO XH
       DDID=定单ID+1
       Append Blank
       clear
       @0,1 SAY "--原商品采购订单--"
       @2,0 Say "订单ID:" 
       @2 ,col()+1 say DDID
       @3,0 Say "客户A_ID:" Get 客户A_ID 
       @4,0 Say "采购员:" Get 雇员A_ID   
       @5,0 Say "商品ID:" Get SPID  
       @6,0 Say "采购单价:" Get ZHDJ
       @7,0 Say "采购数量:" Get CGSL
       Read
       if len(SPID)=0
          clear
          @ 2,2 say "输入无效,重输!!!"
          wait""
          return
       endif         
       replace 定单ID with DDID, 客户A_ID with 客户A_ID ,雇员A_ID with 雇员A_ID 
       replace 日期  with DATE(), 商品ID  with SPID  
       replace 采购数量 with CGSL, 采购金额 with CGSL*ZHDJ
       sSysVar1=READSYSVAR(85)
       TEMP14=VAL(sSysVar1)
       n=WRITESYSVAR(85,str((TEMP14+CGSL),5))
       sSysVar1=READSYSVAR(85)
       TEMP14=VAL(sSysVar1)
       
      SELECT D
      GO TOP
      locate for VAL(SPID)=VAL(商品A_ID) .and. (.not.eof( ))
      SOUND 21,4
      IF eof()
         clear
         @ 1,2 say "条码有误,商品库更新出错;按任意键返回!..."
         wait ""
         SELECT A  
         GO BOTTOM
         replace 采购数量 with 0, 采购金额 with 0.00 
         RETURN
      ELSE
         CURR_REC=recno()
         GO CURR_REC
         * REM 零售价按进价的25%估算,但可在商品库直接改?
         
          XKCL=STR(现库存量A,5)
          nReturn=WRITESYSVAR(51,XKCL)
          TEMP3=STR(库存总额A,11)
          n=WRITESYSVAR(52,TEMP3)
         
         replace  现库存量A with 现库存量A+CGSL
         replace  库存总额A with 库存总额A+采购金额
     *   replace  零售单价A with  round((库存总额A/现库存量A )*1.25,1)
      ENDIF 
    endif  
    DO 校对原进货
 RETURN
ENDPRO

PROCEDURE 新货采购
    CLEAR
    TEMP14=0
    SELECT A  
    GO TOP                     
    @0,1 Say "-- 新货采购输入 --"
    @2,0 Say "当前记录号:"+Str(Recno(),5)
    @3,0 Say "新记录序号:"+Str(Reccount()+1,5)
    @5,0 Say "注意!!!"
    @6,2 Say "只输入首次采购的商品订单,再次采购不在这里输入;切记!!!"
    Wait "" To cKey
    IF Asc(cKey)=13
       Clear 2
       SPID=""
       SPMC=""
       ZHDJ=0.00
       CGSL=0
       XH=Reccount()
       GO XH
       DDID=定单ID+1
       Append Blank 
       
      * 新进商品
       @0,1 SAY "-- 输入新货订单 --"
       @2,0 Say "订单ID:" 
       @2,col()+1 Say DDID
       @3,0 Say "客户A_ID:" Get 客户A_ID 
       @4,0 Say "采购员:" Get 雇员A_ID   
       @5,0 Say "商品ID:" Get SPID  
       @6,0 Say "商品名称:" Get SPMC
       @7,0 Say "采购单价:" Get ZHDJ
       @8,0 Say "采购数量:" Get CGSL
       @9,0 Say "备注:" Get BZH
       Read
       if len(SPID)=0
          clear
          @ 2,2 say "输入无效,重输!!"
          wait""
          return
       endif   
       if len(客户A_ID )=0 .or. len(雇员A_ID)=0 .or. len(SPID)=0
          clear
          @ 2,2 say "输入无效,返回重输!"
          wait""
       endif   
       replace 定单ID with DDID, 客户A_ID with 客户A_ID ,雇员A_ID with 雇员A_ID 
       replace 日期  with DATE(), 商品ID  with SPID  
       replace 采购数量 with CGSL, 采购金额 with CGSL*ZHDJ
           
       SELECT D
       GO BOTTOM
       Append Blank
       replace  商品A_ID  with 商品ID ,商品名称A with SPMC
       replace  备注A with BZH
      
       replace  零售单价A with ZHDJ+ZHDJ*0.25
       
       replace  现库存量A with CGSL
       replace  库存总额A with 采购金额
    ENDIF
    DO 校对新进货 
 RETURN
ENDPRO

PROCEDURE 校对原进货 
      XH=0
      TEMP14=0
      SELECT a
      XH=Reccount()
     * clear
     * @ 2,0 SAY "请输入新记录的序号:"
     * @ 3,0 SAY "校对该进货记录"
     * @ 4,3 GET XH
     * READ
      IF XH<>Reccount()
         clear
         @2,2 say "记录序号有误!..."
         @3,2 say "返回重输!!!"
         WAIT""
         RETURN
      ELSE   
         GO XH
         DDID=定单ID
      ENDIF  
     
      SELECT D
      GO TOP
      locate for VAL(商品A_ID)=VAL(SPID) .and. (.not.eof( ))
      IF eof()
         clear
         SOUND 21,4
         @ 1,2 say "商品库定位出错!..."
         @ 2,2 say "或条码有误!..."
         wait ""
         RETURN
      ELSE
         CURR_REC=recno()
         GO CURR_REC
         SPMC=商品名称A
      ENDIF 
      CLEAR
      @0,1 Say "-- 校对进货订单 --"
      @1,0 Say "订单ID:"  
      @1,col() SAY 定单ID
      @2,0 Say "客户A_ID:"
      @2,col() SAY 客户A_ID 
      @3,0 Say "采购员:" 
      @3,col()SAY 雇员A_ID   
      @4,0 Say "商品ID :"
      @4,col() SAY 商品ID   
      @5,0 Say "商品名称:" 
      @5,col() say 商品名称A
      @6,0 SAY "进货单价:" 
      @6,col() SAY ZHDJ
      @7,0 Say "进货数量:" 
      @7,col()SAY 采购数量
      @8,0 Say "正确按退出键;要修改;请按确认键..." 
      wait""
      n=lastkey()
       if n=24
          return
       else        
          CLEAR
          SELECT A                        
        * @0,1 Say "-- 重写采购订单 --"
        * @2,0 Say "输入记录序号:" GET XH
          @4,0 Say "注意!!!"
          @5,0 Say "原有商品采购,重写订单按确认键!"
        * READ
          Wait "" To cKey
          IF Asc(cKey)=13
             TEMP1=0
             GO XH
             DDID=定单ID
             ZHDJ=round(采购金额/采购数量,1)
             clear
             @0,1 SAY "-- 重写进货订单 --"
             @2,0 Say "订单ID:" 
             @2,col()+1 say DDID
             @3,0 Say "客户A_ID:" Get 客户A_ID 
             @4,0 Say "采购员:" Get 雇员A_ID   
             @5,0 Say "商品ID:" Get SPID  
             @6,0 Say "进货单价:" Get ZHDJ
             @7,0 Say "进货数量:" Get CGSL
             Read
             replace 定单ID with DDID, 客户A_ID with 客户A_ID ,雇员A_ID with 雇员A_ID 
             replace 日期 with DATE(), 商品ID  with SPID  
             replace 采购数量 with CGSL, 采购金额 with CGSL*ZHDJ
             
             sSysVar1=READSYSVAR(85)
             TEMP14=VAL(sSysVar1)
             n=WRITESYSVAR(85,str((TEMP14+CGSL),5))
             sSysVar1=READSYSVAR(85)
             TEMP14=VAL(sSysVar1)
             
             SELECT D
             GO TOP
          
             locate for VAL(SPID)=VAL(商品A_ID) .and. (.not.eof( ))
             SOUND 21,4
             IF eof()
                clear
                @ 1,3 say "商品库更新出错!..."
                @ 2,3 say "条码有误!..."
                wait ""
                 SELECT A  
                 GO BOTTOM
                 replace 采购数量 with 0, 采购金额 with 0.00    
                RETURN
             ELSE
                CURR_REC=recno()
                GO CURR_REC
                
                sSysVar4=READSYSVAR(51)
                TEMP1=VAL(sSysVar4)
                
                sSysVar1=READSYSVAR(52)
                KCZE=VAL(sSysVar1)
         
            *   replace  零售单价A with ZHDJ+ZHDJ*0.25
                replace  现库存量A with TEMP1+CGSL
                replace  库存总额A with KCZE+采购金额
             ENDIF 
          ENDIF
      endif
 RETURN
ENDPRO


PROCEDURE 校对新进货 
      XH=0
      TEMP14=0
      SELECT a
      XH=Reccount()
     * clear
     * @ 2,0 SAY "请输入新记录的序号:"
     * @ 3,0 SAY "校对该进货记录"
     * @ 4,3 GET XH
     * READ
      IF XH<>Reccount()
         clear
         @2,2 say "记录序号有误!..."
         @3,2 say "返回重输!!!"
         WAIT""
         RETURN
      ELSE   
         GO XH
         DDID=定单ID
      ENDIF  
      
      SELECT D
      GO TOP
      locate for VAL(商品A_ID)=VAL(SPID) .and. (.not.eof( ))
      IF eof()
         clear
         SOUND 21,4
         @ 1,3 say "条码有误,商品库定位出错!..."
         wait ""
         SELECT A  
         GO BOTTOM
         replace 采购数量 with 0, 采购金额 with 0.00    
         RETURN
      ELSE
         CURR_REC=recno()
         GO CURR_REC
         SPMC=商品名称A
        
        ZHDJ=round(采购金额/采购数量,1)
      ENDIF 
      CLEAR
      @0,1 Say "-- 校对新货订单 --"
      @1,0 Say "订单ID:"  
      @1,col() SAY 定单ID
      @2,0 Say "客户A_ID:"
      @2,col() SAY 客户A_ID 
      @3,0 Say "采购员:" 
      @3,col()SAY 雇员A_ID   
      @4,0 Say "商品ID :"
      @4,col() SAY 商品ID   
      @5,0 Say "商品名称:" 
      @5,col() say 商品名称a
      @6,0 SAY "进货单价:" 
      @6,col() SAY ZHDJ
      @7,0 Say "进货数量:" 
      @7,col()SAY 采购数量
      @8,0 Say "注:正确按退出键,欲修改按确认键..."
      wait""
      n=lastkey()
      if n=24
         return
      else        
         CLEAR
         SELECT A                        
         @0,1 Say "-- 修改采购订单 --"
       * @2,0 Say "输入记录序号:" GET XH
         @3,0 Say "注意!!!"
         @4,0 Say "修改首次采购的商品订单,按确认键!再次采购不在这里输入,切记!!!"
       * READ
         Wait "" To cKey
         IF Asc(cKey)=13
            GO XH
            DDID=定单ID
            Clear 
            @0,1 Say "-- 修改采购订单 --"
            @2,0 Say "订单ID:" 
            @2,col()+1 say DDID
            @3,0 Say "客户A_ID:" Get 客户A_ID 
            @4,0 Say "采购员:" Get 雇员A_ID   
            @5,0 Say "商品ID:" Get SPID  
            @6,0 Say "采购单价:" Get ZHDJ
            @7,0 Say "采购数量:" Get CGSL
            @8,0 Say "备注:" Get BZH
            Read
            replace 定单ID with DDID, 客户A_ID with 客户A_ID ,雇员A_ID with 雇员A_ID 
            replace 日期  with DATE(), 商品ID  with SPID  
            replace 采购数量 with CGSL, 采购金额 with CGSL*ZHDJ
        
            sSysVar1=READSYSVAR(85)
            TEMP14=VAL(sSysVar1)
            n=WRITESYSVAR(85,str((TEMP14+CGSL),5))
            sSysVar1=READSYSVAR(85)
            TEMP14=VAL(sSysVar1) 
            
            SELECT D
            GO BOTTOM
          
            replace  商品A_ID  with 商品ID ,商品名称A with SPMC
             
            replace  零售单价A with ZHDJ+ZHDJ*0.25
            replace  现库存量A with CGSL
            replace  库存总额A with CGSL*ZHDJ
            replace 备注A with BZH
          ENDIF 
       endif      
     RETURN
ENDPRO


PROCEDURE 零售一库
     CLEAR
     XSL=0
     TEMP1=0
     select D
     GO TOP
     @ 1,1 SAY "正在查找商品库..."
     locate all for  VAL(BarCode)=VAL(商品A_ID)
     SOUND 21,4
     IF eof()
        clear
        @ 2,2 say "已到数据库尾,条码有误;按任意键返回!!"
        wait ""
        RETURN
     ELSE
        CURR_REC=recno()
        TEMP1=现库存量A 
        XSL=0  
        CLEAR
        @ 0,1 SAY "-- 零 售 数 量--"
        @ 2,0 SAY "条码:"
        @ 2,COL()+1 SAY 商品A_ID
        @ 3,0 SAY "商品名称:"
        @ 3,COL()+1 SAY 商品名称A  
        @ 4,0 SAY "零售单价:"
        @ 4,COL()+1 SAY 零售单价A  
        @ 5,0 SAY "已售总数:" 
        @ 5,COL()+1 SAY 零售总量A 
        @ 6,0 SAY "本次售出:"
        @ 6,COL()+1 GET XSL
        READ
        IF TEMP1<XSL
           clear
           @ 2,0 say "库存量不足,返回重输!"
           wait""
           RETURN
         ENDIF            
        
        PJJ=0.00
        PJJ=round(库存总额A/现库存量A,1)
        MLR=毛利润A +(零售单价A-PJJ)*XSL
        
        TEMP= PJJ*XSL  
        TEMP1= 现库存量A-XSL 
         
        TEMP4= 库存总额A-TEMP
        TEMP5=零售总量A+XSL
               
        @ 7,0 SAY "小计:"
        @ 7,COL()+1 SAY 零售单价A*XSL
        @ 8,0 say "重要提示!!!"                      

⌨️ 快捷键说明

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