// Form per la stampa ordini per cliente/fornitore
#include "or1100a.h"
// Cursor sorting on main file is set also in application
USE LF_RIGHEDOC BY LF_DOC->TIPOCF LF_DOC->CODCF LF_DOC->OCFPI ANNO CODNUM NDOC CODART DATACONS
JOIN LF_DOC INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
JOIN LF_ANAMAG INTO CODART==CODART
JOIN LF_CLIFO TO LF_DOC INTO TIPOCF==TIPOCF CODCF==CODCF
END

DESCRIPTION
BEGIN
END


GENERAL
BEGIN
  OFFSET 0 0
  FONT "Courier New"
  SIZE 10
END


SECTION HEADER ODD 6

STRINGA 1 40 1
BEGIN
 KEY "nome ditta"
 PROMPT  1 1 "Ditta "
 MESSAGE _DITTA, !RAGSOC
END

STRINGA 2 10
BEGIN
 KEY "Data"
 PROMPT  76 1 "Data "
 MESSAGE _TODAY
END

NUMERO 3 7
BEGIN
 KEY "Nr. pagina"
 PROMPT  92 1 "Pagina "
 MESSAGE _PAGENO
END

NUMERO 4 40
BEGIN
 KEY "Intestazione stampa"
 PROMPT  40 2 "Stampa ordini per cliente/fornitore"
END

END //HEADER


SECTION BODY ODD 4 COLUMNWISE

NUMBER 1 10
BEGIN
 SPECIAL STRINGA INTESTAZIONE "Codice" "Codice"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "X " "Fincatura sinistra e destra"
 KEY "Codice"
 PROMPT 1 1 "@B"
 FIELD LF_DOC->CODCF
 MESSAGE _ORDINE,VALTABLE,RESET
 PICTURE "########"
END

STRING 2 40
BEGIN
 SPECIAL STRINGA INTESTAZIONE "Descrizione" "Descrizione"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra"
 KEY "Descrizione Rag Soc"
 PROMPT 2 1 ""
 FIELD LF_CLIFO->RAGSOC
END

STRINGA 3 4
BEGIN
 SPECIAL STRINGA INTESTAZIONE "Val." "Val."
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Codice Valuta"
 PROMPT 3 1 ""
END

DATA 4 10
BEGIN
 SPECIAL STRINGA INTESTAZIONE "Data cons." "Data cons."
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Data consegna documento"
 PROMPT 4 1 ""
END

VALUTA BODY_COL_5 15
BEGIN
 SPECIAL STRINGA INTESTAZIONE "@CValore" "Valore"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Valore"
 DRIVENBY BODY_COL_3
 PROMPT 5 1 ""
END

VALUTA BODY_COL_6 15
BEGIN
 SPECIAL STRINGA INTESTAZIONE "@CVal.Residuo" "Val.Residuo"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Valore Residuo"
 DRIVENBY BODY_COL_3
 PROMPT 6 1 ""
END

STRINGA 7 4
BEGIN
 SPECIAL STRINGA INTESTAZIONE "UM" "UM"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Unita' di misura" // Solo intestazione
 FLAGS "H"
 PROMPT 7 1 ""
 GROUP G_DETTAGLIO
END

STRINGA 8 13
BEGIN
 SPECIAL STRINGA INTESTAZIONE "Q.ta Ordinata" "Q.ta Ordinata"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Q.ta Ordinata" // Solo intestazione
 FLAGS "H"
 PROMPT 8 1 ""
 GROUP G_DETTAGLIO
END

STRINGA 9 13
BEGIN
 SPECIAL STRINGA INTESTAZIONE "Q.ta Evasa" "Q.ta Evasa"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Q.ta Evasa" // Solo intestazione
 FLAGS "H"
 PROMPT 9 1 ""
 GROUP G_DETTAGLIO
END


// Raggruppamento  righe documenti per lo stesso cli/fo
SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF

STRINGA BODY_COL_12 15
BEGIN
 SPECIAL STRINGA INTESTAZIONE "@CGiac. Att." "Giacenza attuale"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Giacenza attuale" // Solo intestazione
 FLAGS "H"
 PROMPT 12 1 ""
 GROUP G_DETTAGLIO
END


// Raggruppamento  righe documenti per lo stesso cli/fo
SECTION DOCUMENTI 2 1 1 FILE LF_RIGHEDOC GROUP LF_CLIFO->TIPOCF+LF_CLIFO->CODCF+LF_DOC->OCFPI
 
   NUMBER 101 10
   BEGIN
    PROMPT 1 1 ""
    FLAGS "H"
    MESSAGE RESET,G_TOTALEART@
   END
   
   STRING 102 40 2
   BEGIN
    KEY "Descrizione documento"
    PROMPT 2 1 ""
    MESSAGE _STREXPR,"*Doc. "+LF_DOC->CODNUM+"/"+LF_DOC->ANNO+"-"+LF_DOC->NDOC+" del "+LF_DOC->DATADOC
    FLAGS "D"
   END

   STRING 103 4
   BEGIN
    KEY "Codice Valuta"
    PROMPT 3 1 ""
    FIELD LF_DOC->CODVAL
    FLAGS "D"
   END

   DATA 104 10
   BEGIN
    KEY "Data consegna documento"
    PROMPT 4 1 ""
    FLAGS "D"
    FIELD LF_DOC->DATACONS
   END

   VALUTA 105 15
   BEGIN
    KEY "Valore Ordinato"
    PROMPT 5 1 ""
    FIELD LF_DOC->TOTVALORE
    DRIVENBY 103
    MESSAGE _ORDINE,VALTABLE,VALORD
    FLAGS "D"
//    PICTURE "."
   END

   VALUTA 106 15
   BEGIN
    KEY "Valore Residuo"
    PROMPT 6 1 ""
    FIELD LF_DOC->TOTVALRES
    DRIVENBY 103
    MESSAGE _ORDINE,VALTABLE,VALRES
    FLAGS "D"
//    PICTURE "."
   END   


  SECTION RIGHEDOC 2 1 1 FILE LF_RIGHEDOC GROUP ANNO+NDOC //  changes into CODART grouping
  FLAGS "D" // Da abilitare solo su dettaglio righe
  
    NUMBER 201 10
    BEGIN
     PROMPT 1 1 ""
    END
    STRING 202 40 2
    BEGIN
     KEY "Descrizione articolo"
     PROMPT 2 1 ""
     MESSAGE _STREXPR,"**Art. "+LF_RIGHEDOC->CODART+" "+LF_ANAMAG->DESCR
    END
    STRING 203 4
    BEGIN
     KEY "Codice Valuta"
     PROMPT 3 1 ""
    END
    DATA 204 10
    BEGIN
      KEY "Data consegna articolo"
      PROMPT 4 1 ""
      FIELD LF_RIGHEDOC->DATACONS
    END
    VALUTA 205 15
    BEGIN
     KEY "Valore Ordinato"
     PROMPT 5 1 ""
     FIELD LF_RIGHEDOC->RIGAVALORE
     DRIVENBY 203
    END
    VALUTA 206 15
    BEGIN
     KEY "Valore Residuo"
     PROMPT 6 1 ""
     FIELD LF_RIGHEDOC->RIGAVALRES
     DRIVENBY 203
    END   
    STRINGA 207 4
    BEGIN
     KEY "Unita' di misura"
     PROMPT 7 1 ""
     FIELD LF_RIGHEDOC->UMQTA
    END
    NUMBER 208 13
    BEGIN
     KEY "Q.ta Ordinata"
     PROMPT 8 1 ""
     FIELD LF_RIGHEDOC->QTA
     PICTURE "#@,@@@"
    END
    NUMBER 209 13
    BEGIN
     KEY "Q.ta Evasa"
     PROMPT 9 1 ""
     FIELD LF_RIGHEDOC->QTAEVASA
     PICTURE "########@,@@@@@"
    END
    VALUTA 210 13
    BEGIN
     KEY "Pr. Scontato"
     PROMPT 10 1 ""
     MESSAGE _ORDINE,PREZZONS
     DRIVENBY 203
     FLAGS "U"
    END
    NUMBER 211 15
    BEGIN
     PROMPT 11 1 "" // Residuo
     PICTURE "########@,@@@@@"
     MESSAGE _ORDINE,RESIDUO
    END
    NUMBER 212 15
    BEGIN
     PROMPT 12 1 "" // Giacenza attuale
     PICTURE "########@,@@@@@"
     MESSAGE _ORDINE,GIACENZA
    END    
  END // END SECTION RIGHEDOC

  // Ecco la sezione per il resto

  SECTION RIGHEART 1 0 0 FILE LF_RIGHEDOC GROUP CODVAL+CODART+DATACONS
  FLAGS "D"
    NUMBER 301 10
    BEGIN
     PROMPT 1 1 ""
     FLAGS "H"
    END
    STRING 302 40 2
    BEGIN
     KEY "Descrizione"
     PROMPT 2 1 ""
     MESSAGE _ORDINE,DESCRIZIONE|COPY,402
     FLAGS "H"
    END
    STRING 303 4
    BEGIN
     KEY "Codice Valuta"
     PROMPT 3 1 ""
     FIELD LF_DOC->CODVAL
     MESSAGE COPY,403
     FLAGS "H"
    END
    DATA 304 10
    BEGIN
     KEY "Data consegna articolo"
     PROMPT 4 1 ""
     FIELD LF_RIGHEDOC->DATACONS
     MESSAGE COPY,404
     FLAGS "H"
    END
    VALUTA 305 15
    BEGIN
     KEY "Valore Ordinato"
     PROMPT 5 1 ""
     FIELD LF_RIGHEDOC->RIGAVALORE
     MESSAGE _ORDINE,VALTABLE,VALORD|ADD,405
     DRIVENBY 303
     FLAGS "H"
   END
    VALUTA 306 15
    BEGIN
     KEY "Valore Residuo"
     PROMPT 6 1 ""
     FIELD LF_RIGHEDOC->RIGAVALRES
     DRIVENBY 303
     FLAGS "H"
     MESSAGE _ORDINE,VALTABLE,VALRES|ADD,406
   END   
    STRINGA 307 4
    BEGIN
     KEY "Unita' di misura"
     PROMPT 7 1 ""
     FIELD LF_RIGHEDOC->UMQTA
     MESSAGE _ORDINE,SELECTUM|COPY,407
     FLAGS "H"
    END
    NUMBER 308 13
    BEGIN
     KEY "Q.ta Ordinata"
     PROMPT 8 1 ""
     FIELD LF_RIGHEDOC->QTA
     MESSAGE _ORDINE,CONVUM|ADD,408
     FLAGS "H"
    END
    NUMBER 309 13
    BEGIN
     KEY "Q.ta Evasa"
     PROMPT 9 1 ""
     FIELD LF_RIGHEDOC->QTAEVASA
     MESSAGE _ORDINE,CONVUM|ADD,409
     FLAGS "H"
    END    
    VALUTA 310 13
    BEGIN
     KEY "Prezzo non scontato"
     PROMPT 10 1 ""
     MESSAGE _ORDINE,PREZZONS|COPY,410
     DRIVENBY 303
     FLAGS "HU"
    END    
    NUMBER 311 15
    BEGIN
     KEY " Residuo"
     PROMPT 11 1 "" 
     MESSAGE _ORDINE,RESIDUO|_ORDINE,CONVUM|ADD,411
     FLAGS "H"
    END
    NUMBER 312 15
    BEGIN
     KEY "Giacenza attuale"
     PROMPT 12 1 ""
     MESSAGE _ORDINE,GIACENZA|COPY,412
     FLAGS "H"
    END    
  END // END SECTION RIGHEART

  // Totalizers for previous section
  NUMBER 401 10
  BEGIN
   PROMPT 1 1 ""
   FLAGS "D"
  END
  STRING 402 40 2
  BEGIN
   KEY "Descrizione"
   PROMPT 2 1 ""
   FLAGS "D"
  END
  STRING 403 4
  BEGIN
   KEY "Codice Valuta"
   PROMPT 3 1 ""
   FLAGS "D"
  END
  DATA 404 10
  BEGIN
   KEY "Data consegna articolo"
   PROMPT 4 1 ""
   FLAGS "D"
  END
  VALUTA 405 15
  BEGIN
   KEY "Valore Ordinato"
   PROMPT 5 1 ""
   FLAGS "D"
   DRIVENBY 403
   GROUP G_TOTALEART
  END
  VALUTA 406 15
  BEGIN
   KEY "Valore Residuo"
   PROMPT 6 1 ""
   FLAGS "D"
   DRIVENBY 403
   GROUP G_TOTALEART
  END   
  STRINGA 407 4
  BEGIN
   KEY "Unita' di misura"
   PROMPT 7 1 ""
   FLAGS "D"
   GROUP G_TOTALEART
  END
  NUMBER 408 13
  BEGIN   
   KEY "Q.ta Ordinata"
   PROMPT 8 1 ""
   PICTURE "#@,@@@"
   FLAGS "D"
   GROUP G_TOTALEART
  END
  NUMBER 409 13
  BEGIN
   KEY "Q.ta Evasa"
   PROMPT 9 1 ""
   PICTURE "########@,@@@@@"
   FLAGS "D"
   GROUP G_TOTALEART
  END    
  VALUTA 410 13
  BEGIN
   KEY "Pr. non scontato"
   PROMPT 10 1 ""
   DRIVENBY 403
   FLAGS "DU"
   GROUP G_TOTALEART
  END    
  NUMBER 411 15
  BEGIN
   KEY "Residuo"
   PROMPT 11 1 "" 
   PICTURE "########@,@@@@@"
   FLAGS "D"
   GROUP G_TOTALEART
  END
  NUMBER 412 15
  BEGIN
   KEY "Giac. attuale"
   PROMPT 12 1 "" 
   PICTURE "########@,@@@@@"
   FLAGS "D"
   GROUP G_TOTALEART
  END    
 
END // END SECTION DOCUMENTI

// Sezioni di totalizzazione per Valuta (4, shown & hidden at runtime by VALTABLE messages in application code)

SECTION TOTVAL1 3 0 1 GROUP
FLAGS "D"
  NUMBER 51 10
  BEGIN
    PROMPT 1 1 ""
  END
  
  STRING 52 40
  BEGIN
    PROMPT 2 1 ""
  END
  
  STRINGA 53 4
  BEGIN
    KEY "Codice valuta #1"
    PROMPT 3 1 ""
  END
  
  DATA 54 10
  BEGIN
    PROMPT 4 1 ""
  END
  
  VALUTA 55 15
  BEGIN
    KEY "Tot Valore Ordinato per cli/fo"
    PROMPT 5 1 ""
    DRIVENBY 53
  END
  
  VALUTA 56 15
  BEGIN
    KEY "Tot Valore Residuo per cli/fo"
    PROMPT 6 1 ""
    DRIVENBY 53
  END
END // Fine sezione totale in valuta #1


SECTION TOTVAL2 1 0 1 GROUP
FLAGS "D"
  NUMBER 61 10
  BEGIN
    PROMPT 1 1 ""
  END
  
  STRING 62 40
  BEGIN
    PROMPT 2 1 ""
  END
  
  STRINGA 63 4
  BEGIN
    KEY "Codice valuta #2"
    PROMPT 3 1 ""
  END
  
  DATA 64 10
  BEGIN
    PROMPT 4 1 ""
  END
  
  VALUTA 65 15
  BEGIN
    KEY "Tot Valore Ordinato per cli/fo"
    PROMPT 5 1 ""
    DRIVENBY 63
  END
  
  VALUTA 66 15
  BEGIN
    KEY "Tot Valore Residuo per cli/fo"
    PROMPT 6 1 ""
    DRIVENBY 63
  END
END // Fine sezione totale in valuta #2


SECTION TOTVAL3 1 0 1 GROUP
FLAGS "D"
  NUMBER 71 10
  BEGIN
    PROMPT 1 1 ""
  END
  
  STRING 72 40
  BEGIN
    PROMPT 2 1 ""
  END
  
  STRINGA 73 4
  BEGIN
    KEY "Codice valuta #3"
    PROMPT 3 1 ""
  END
  
  DATA 74 10
  BEGIN
    PROMPT 4 1 ""
  END              
  
  VALUTA 75 15
  BEGIN
    KEY "Tot Valore Ordinato per cli/fo"
    PROMPT 5 1 ""
    DRIVENBY 73
  END
  
  VALUTA 76 15
  BEGIN
    KEY "Tot Valore Residuo per cli/fo"
    PROMPT 6 1 ""
    DRIVENBY 73
  END
END // Fine sezione totale in valuta #3

SECTION TOTVAL4 1 0 1 GROUP
FLAGS "D"
  NUMBER 81 10
  BEGIN
    PROMPT 1 1 ""
  END
  
  STRING 82 40
  BEGIN
    PROMPT 2 1 ""
  END
  
  STRINGA 83 4
  BEGIN
    KEY "Codice valuta #4"
    PROMPT 3 1 ""
  END
  
  DATA 84 10
  BEGIN
    PROMPT 4 1 ""
  END
  
  VALUTA 85 15
  BEGIN
    KEY "Tot Valore Ordinato per cli/fo"
    PROMPT 5 1 ""
    DRIVENBY 83
  END
  
  VALUTA 86 15
  BEGIN
    KEY "Tot Valore Residuo per cli/fo"
    PROMPT 6 1 ""
    DRIVENBY 83
  END
END // Fine sezione totale in valuta #4

END // End of Body