// form stampa schede per magazzino
#include "mg3300.h"
USE LF_RMOVMAG KEY 2 BY CODMAG CODART LIVGIAC LF_MOVMAG->DATAREG NUMREG 
JOIN LF_MAG TO LF_RMOVMAG KEY 2 INTO ANNOES==1996 CODMAG==CODMAG CODART==CODART LIVELLO==LIVGIAC
JOIN LF_ANAMAG TO LF_RMOVMAG INTO CODART==CODART
JOIN LF_MOVMAG TO LF_RMOVMAG INTO NUMREG==NUMREG
JOIN %CAU TO LF_MOVMAG INTO CODTAB==CODCAUS

JOIN MAG TO LF_RMOVMAG ALIAS 500 INTO CODTAB==CODMAG[1,3]
JOIN MAG TO LF_RMOVMAG ALIAS 501 INTO CODTAB==CODMAG

JOIN GMC TO LF_ANAMAG ALIAS ALIAS_CATMER INTO CODTAB==GRMERC[1,3]
JOIN GMC TO LF_ANAMAG ALIAS ALIAS_SOTTOCATMER INTO CODTAB==GRMERC[1,5]

JOIN LF_UMART TO LF_ANAMAG  INTO CODART==CODART 
JOIN LF_UMART TO LF_RMOVMAG KEY 2 ALIAS 349 INTO CODART==CODART UM==UM
END
  
DESCRIPTION
BEGIN
    47->* "Anagrafica articoli"
    109->* "Archivio Giacenze"
    MAG->* "Tabella magazzini"
    110->* "Movimenti di magazzino"
    111->* "Righe Movimenti di magazzino"
    49->* "Unità di misura articoli"
END

GENERAL
BEGIN
    OFFSET 0 1
//    FONT "Courier New"
//    SIZE 12
END

SECTION GRAPHIC
BEGIN
END

SECTION HEADER ODD 5
  STRINGA 1 40 1
  BEGIN
   KEY "nome ditta"
   PROMPT  1 1 "Ditta "
   MESSAGE _DITTA, !RAGSOC
  END
  
  STRINGA 2 10
  BEGIN
   KEY "Data"
   PROMPT  65 1 "Data "
   MESSAGE _TODAY
  END
  
  NUMERO 3 7
  BEGIN
   KEY "Nr. pagina"
   PROMPT  81 1 "Pagina "
   MESSAGE _PAGENO
  END

  DATA 20
  BEGIN
   KEY "Data inizio"
   PROMPT 1 2 "Dal " 
   MESSAGE _USER,DADATA
  END

  DATA 21
  BEGIN
   KEY "Data fine"
   PROMPT 17 2 "Al " 
   MESSAGE _USER,ADATA
  END
  
  STRINGA 4 45
  BEGIN
   KEY "Intestazione stampa"
   PROMPT  45 2 "Stampa schede di magazzino :"
   MESSAGE _USER,TIPOSCHEDA
  END
  
  STRINGA 5 95
  BEGIN
    KEY "Separatore (iniziale)"
    PROMPT 1 3 "-----------------------------------------------------------------------------------------------"
  END
  STRINGA 6 12
  BEGIN
    PROMPT 42 4 "UM"
  END
  NUMBER 7 12
  BEGIN
    PROMPT 50 4 "Quantità"
  END
  VALUTA 8 12
  BEGIN
    PROMPT 66 4 "Prezzo"
    FLAGS "U"
  END
  NUMBER 9 15
  BEGIN
    PROMPT 81 4 "Valore"
  END
  STRINGA 5 95
  BEGIN
    KEY "Separatore (iniziale)"
    PROMPT 1 5 "-----------------------------------------------------------------------------------------------"
  END
END

SECTION BODY ODD 2

  NUMBER 100 1
  BEGIN
    FLAGS "H"
    MESSAGE RESET,FF_SALDO_GART|RESET,FF_VALORE_GART
  END
  
  SECTION HEADER_MAG 1 2 2 GROUP
    FLAGS "N"
    STRINGA 22 20 1
    BEGIN
      KEY "mag" 
      PROMPT 1 1 "Magazzino "
      FIELD 500@->CODTAB[1,3]
    END
    STRINGA 22 50 1
    BEGIN
      KEY "mag" 
      PROMPT 15 1 ""
      FIELD 500@->S0
    END
    SECTION HEADER_DEP 2 0 0 GROUP 
      SECTION HEADER_DEP_VERO 1 1 1 STR_EXPR 500@->B0=="X"
        STRINGA 23 20 1
        BEGIN
          KEY "dep" 
          PROMPT 3 1 "Deposito "
          FIELD 501@->CODTAB[4,5]
        END
        STRINGA 23 50 1
        BEGIN
          KEY "dep" 
          PROMPT 15 1 ""
          FIELD 501@->S0
        END
      END
    END // HEADER deposito
     SECTION HEADER_CATMER 1 2 1 GROUP 
       FLAGS "H"
       STRINGA 10 20 1
       BEGIN
        KEY "CODICE CATMER"
        PROMPT 1 1 "Gruppo merceologico "
        MESSAGE _USER,CODCATMER
       END
       STRINGA 12 50 1
       BEGIN
        KEY "DESCR."
        PROMPT 30 1 ""
        MESSAGE _USER,CATMER
       END
     END //HEADER catmer
  
      SECTION HEADER_ARTICOLO 2 1 1 GROUP 
        STRINGA 10 20 1
        BEGIN
          KEY "CODICE articolo"
          PROMPT 5 1 "Articolo $[b,w]"
          MESSAGE _USER,CODGRUPPOART
        END
            
        STRINGA 11 50 1
        BEGIN
          KEY "DESCR.articolo"
          PROMPT 30 1 "$[n,w]"
          MESSAGE _USER,GRUPPOART
        END
        SECTION HEADER_LIVGIAC 2 1 1 GROUP
          STRINGA 20 20 1
          BEGIN
           KEY "CODICE livello"
           PROMPT 5 1 ""
           MESSAGE _USER,CODGRUPPOGIAC
          END
          STRINGA 21 50 1
          BEGIN
            KEY "Livello giac" 
            PROMPT 23 1 ""
            MESSAGE _USER,GRUPPOGIAC
          END
        END // HEADER livgiac
      END //HEADER articolo 
    STRINGA 24 95
    BEGIN
      KEY "dep" 
      PROMPT 1 2 "-----------------------------------------------------------------------------------------------"
    END
  END // HEADER magazzino

  SECTION FILE_RMOVMAG 1 0 0 FILE LF_ANAMAG 
    
    STRINGA 10
    BEGIN
      FLAGS "H"
      MESSAGE RESET,FF_SALDO_GART|RESET,FF_VALORE_GART|RESET,FF_STAMPASALDOPREC
    END

    SECTION GRUPPI_RMOVMAG 1 0 0 FILE LF_RMOVMAG GROUP CODMAG+CODART
     SECTION H_MOVS_INTERESSATI 1 0 0 STREXPR LF_MOVMAG->DATAREG>""

      NUMERO 10
      BEGIN
        FLAGS "H"
        FIELD LF_RMOVMAG->NUMREG
        MESSAGE COPY,FF_NUM_MOV|RESET,FF_SALDO_MOV|RESET,FF_VALORE_MOV 
      END
      NUMERO 11
      BEGIN
        FLAGS "H"
        FIELD LF_MOVMAG->DATAREG
        MESSAGE COPY,FF_DATA_MOV
      END
      NUMERO 12
      BEGIN
        FLAGS "H"
        FIELD LF_MOVMAG->DESCR
        MESSAGE COPY,FF_DESCR_MOV
      END
      NUMERO 13
      BEGIN
        FLAGS "H"
        MESSAGE _USER,CAUSALERIGA|COPY,FF_CAUSALE_RIGA
      END
      NUMERO 14
      BEGIN
        FLAGS "H"
        MESSAGE _USER,DESCRCAUSALE|COPY,FF_DESCRCAUSALE
      END
     END // header mov
     
      SECTION MOVIMENTO 1 0 0 FILE LF_RMOVMAG GROUP NUMREG
      
        NUMBER FF_QUANTRIGA 12
        BEGIN
          FLAGS "H"
          MESSAGE _NUMEXPR,LF_RMOVMAG->QUANT*349@->FC|_USER,*SEGNOCAUS,Q
        END

        NUMBER FF_STAMPASALDOPREC  30
        BEGIN
          FLAGS "H"
        END
        
        NUMBER FF_CANPRINTSALDOPREC  6
        BEGIN
          FLAGS "H"
          MESSAGE _USER,CANPRINTSALDOPREC
        END

        SECTION MOVS_PRECEDENTI 1 0 0 STREXPR LF_MOVMAG->DATAREG<""
          NUMBER 103 30
          BEGIN
            PROMPT 31 1 "Quantita' a saldo prec:"
            PICTURE "###.##@,@##"
            MESSAGE _NUMEXPR,#FF_QUANTRIGA|ADD,FF_SALDOPREC
          END
        END

        SECTION MOVS_INTERESSATI 1 0 0 STREXPR LF_MOVMAG->DATAREG>=""
          STRINGA 100 30
          BEGIN
            PROMPT 1 1 ">>>"
            MESSAGE _STREXPR,LF_RMOVMAG->CODART+" "+LF_RMOVMAG->LIVGIAC+" "+LF_RMOVMAG->CODMAG
          END
    
          STRINGA 101 12
            BEGIN
            PROMPT 27 1 ""
            FIELD LF_RMOVMAG->UM
          END
          VALUTA 104 12
          BEGIN
            PROMPT 42 1 ""
            FLAGS "U"
            FIELD LF_RMOVMAG->PREZZO
          END
          NUMBER 103 12
            BEGIN
            PROMPT 31 1 ""
            PICTURE "###.##@,@##"
            MESSAGE _NUMEXPR,#FF_QUANTRIGA|ADD,FF_SALDO_MOV
          END
          VALUTA 105 12
          BEGIN
            PROMPT 57 1 ""
            MESSAGE _NUMEXPR,LF_RMOVMAG->QUANT*LF_RMOVMAG->PREZZO|_USER,*SEGNOCAUS,V|ADD,FF_VALORE_MOV
          END
        END // sezione movimento di competenza
      END // loop movimento
      
      SECTION STAMPASALDOPREC 1 1 1 NUMEXPR (#FF_STAMPASALDOPREC==0)&&(#FF_CANPRINTSALDOPREC!=0)
        NUMBER 100 18
        BEGIN
          PROMPT 8 1 "Saldo precedente :"
        END
        NUMBER FF_SALDOPREC 15
        BEGIN
          PROMPT 46 1 ""
          PICTURE "##.###.##@,@##"
          MESSAGE _USER,SALDOPREC|ADD,FF_SALDO_GART
        END
        NUMBER 101 12
        BEGIN
          FLAGS "H"
          MESSAGE RESET,FF_SALDOPREC |INC,FF_STAMPASALDOPREC
        END
        STRINGA 102 12
          BEGIN
          PROMPT 42 1 ""
          FIELD LF_UMART->UM
        END
      END // stampa saldo precedente

      SECTION TOTALI_MOV 1 2 2 NUMEXPR #FF_SALDO_MOV!=0
        NUMBER FF_NUM_MOV
        BEGIN
          PROMPT 1 1 "Mov.$[v,w] "
        END
        STRINGA FF_DATA_MOV 10
        BEGIN
          PROMPT 12 1 "$[n,w]del "
        END
        STRINGA FF_DESCR_MOV 50
        BEGIN
          PROMPT 27 1 ""
        END
        STRINGA FF_CAUSALE_RIGA 5
        BEGIN
          PROMPT 6 2 ""
        END
        STRINGA FF_DESCRCAUSALE 25
        BEGIN
          PROMPT 11 2 " "
        END
        STRINGA 100 2
        BEGIN
          PROMPT 42 2 ""
          FIELD LF_UMART->UM
        END
        NUMBER FF_SALDO_MOV 15
        BEGIN
          PROMPT 46 2 ""
          PICTURE "##.###.##@,@##"
          MESSAGE _USER,ADDQTA,FF_SALDO_GART
        END
        VALUTA FF_VALORE_MOV 15
        BEGIN
          PROMPT 72 2 ""
          MESSAGE _USER,ADDVAL,FF_VALORE_GART
        END
        VALUTA 190 12
        BEGIN
          PROMPT 60 2 ""
          FLAGS "U"
          MESSAGE _NUMEXPR,#FF_VALORE_MOV/#FF_SALDO_MOV
        END
      END // totali mov
    END // loop scheda

    SECTION TOTALI_GART 1 1 3 GROUP
            
      STRINGA 100 15
      BEGIN
        PROMPT 1 1 "Totale scheda"
      END
      STRINGA 100 2
      BEGIN
        PROMPT 42 1 ""
        FIELD LF_UMART->UM
      END
      NUMBER FF_SALDO_GART 15
      BEGIN
        PROMPT 46 1 ""
        PICTURE "##.###.##@,@##"
      END
      VALUTA FF_VALORE_GART 15
      BEGIN
        PROMPT 72 1 ""
      END
    END // TOTALI scheda per articolo   
  END // loop RMOVMAG raggruppate
END // *****

SECTION FOOTER ODD 2

END