// Form per la stampa delle statistiche temporali per agente.

#include "pr1400a.h"

#define G_TOTAGE  1  // Gruppo totale agenti: (provvigione e fatturato delle colonne)

// Le seguenti defines servono per identificare i campi di stampa importi

USE LF_AGENTI
JOIN LF_PROVV KEY 2 INTO CODAGE==CODAGE
END

DESCRIPTION
BEGIN
END

GENERAL
BEGIN
  OFFSET 0 0
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 32
BEGIN
 KEY "Intestazione stampa"
 PROMPT  40 2 "Stampa statistiche temporali"
END

END


SECTION BODY ODD 9 COLUMNWISE

STRING 1 6
BEGIN
 SPECIAL STRINGA INTESTAZIONE "Agente" "Agente"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Codice agente"
 PROMPT 1 1 ""
 FIELD CODAGE
 MESSAGE RESET,G_TOTAGE@
END

STRING 2 30
BEGIN
 SPECIAL STRINGA INTESTAZIONE "Ragione sociale" "Ragione sociale"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Ragione Sociale agente"
 PROMPT 2 1 ""
 FIELD RAGSOC
END

STRINGA 3 7
BEGIN
  SPECIAL STRINGA INTESTAZIONE "@CMese" "Mese (1)"
  SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
  SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
  KEY "Mese (1)"
  PROMPT 3 1 ""
END

NUMBER 4 15
BEGIN
 SPECIAL STRINGA INTESTAZIONE "@CFatturato" "Fatturato (1)"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Fatturato  (1)"
 PROMPT 4 1 ""
END

VALUTA 5 15
BEGIN
 SPECIAL STRINGA INTESTAZIONE "@CProvvigione" "Provvigione (1)"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Provvigione  (1)"
 PROMPT 5 1 ""
END

STRINGA 6 7
BEGIN
  SPECIAL STRINGA INTESTAZIONE "@CMese" "Mese (2)"
  SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
  SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
  KEY "Mese (2)"
  PROMPT 6 1 ""
END

VALUTA 7 15
BEGIN
 SPECIAL STRINGA INTESTAZIONE "@CFatturato" "Fatturato (2)"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Fatturato  (2)"
 PROMPT 7 1 ""
END

VALUTA 8 15
BEGIN
 SPECIAL STRINGA INTESTAZIONE "@CProvvigione" "Provvigione (2)"
 SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
 SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
 KEY "Provvigione  (2)"
 PROMPT 8 1 ""
END

/* La sub-section principale e' sulle righe provvigionali
 * Seguono poi 12 sottosezioni: PRS1, PRS2, PRS3, PRS4, PRS5, PRS6 ecc..
 * tutte con altezza minima 0 e nascoste, in quanto servono solo per 
 * effettuare totalizzazioni.
 * Ognuna avra' una condizione di raggruppamento diverso, (STREXPR) settata
 * a run-time dal programma: il controllo viene effettuato sul
 * range della data e sul numero di riga (sempre uguale ad 1, per evitare
 * che faccia le somme piu' volte dello stesso totale documento).
 * La condizione qui elencata (LF_PROVV->CODAGE==LF_AGENTI->CODAGE) e' puramente
 * fittizia.
 * Il totale delle sottosezioni e' 12, perche' le statistiche sono,
 * al massimo, per anno:  il raggruppamento minimo e' di un mese.
 * I casi limite sono percio' questi: tutto l'anno con raggruppamento di
 * 1 mese alla volta oppure tutto l'anno in un raggruppamento unico di 12
 * mesi.
 */
 
SECTION PRS  1 0 0 FILE LF_PROVV GROUP CODAGE
  FLAGS "H"
   
  SECTION PRS1 1 0 0 STREXPR LF_PROVV->CODAGE==LF_AGENTI->CODAGE
    FLAGS "H"
    
          STRING 101 7
          BEGIN
            KEY "Raggruppamento mese (1)"
            PROMPT 3 1 ""
            FLAGS "D"
            MESSAGE _MONTHRANGE|COPY,F_MON1
          END
          
          VALUTA 201 14
          BEGIN
            KEY "Fatturato (1)"
            PROMPT 4 1 ""
            FIELD LF_PROVV->IMPDOC
            FLAGS "H"
            MESSAGE _FIRMVALUE
            MESSAGE ADD,F_TOTFAT|ADD,F_FAT1
          END
  
          VALUTA 301 14
          BEGIN
            KEY "Provvigione (1)"
            PROMPT 5 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPPRDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTPRO|ADD,F_PRO1
          END
  END
          
  SECTION PRS2 1 0 0 STREXPR LF_PROVV->CODAGE==LF_AGENTI->CODAGE
    FLAGS "H"
  
          STRING 102 7
          BEGIN
            KEY "Raggruppamento mese (2)"
            PROMPT 6 1 ""
            FLAGS "D"
            MESSAGE _MONTHRANGE|COPY,F_MON2
          END
          
          VALUTA 202 14
          BEGIN
            KEY "Fatturato (2)"
            PROMPT 7 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTFAT|ADD,F_FAT2
          END
  
          VALUTA 302 14
          BEGIN
            KEY "Provvigione (2)"
            PROMPT 8 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPPRDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTPRO|ADD,F_PRO2
          END
  END
          
  SECTION PRS3 1 0 0 STREXPR LF_PROVV->CODAGE==LF_AGENTI->CODAGE
    FLAGS "H"
  
          STRING 103 7
          BEGIN
            KEY "Raggruppamento mese (1)"
            PROMPT 3 1 ""
            FLAGS "D"
            MESSAGE _MONTHRANGE|COPY,F_MON3
          END
          
          VALUTA 203 14
          BEGIN
            KEY "Fatturato (1)"
            PROMPT 4 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTFAT|ADD,F_FAT3
          END
  
          VALUTA 303 14
          BEGIN
            KEY "Provvigione (1)"
            PROMPT 5 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPPRDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTPRO|ADD,F_PRO3
          END
  END
          
  SECTION PRS4 1 0 0 STREXPR LF_PROVV->CODAGE==LF_AGENTI->CODAGE
    FLAGS "H"
  
          STRING 104 7
          BEGIN
            KEY "Raggruppamento mese (2)"
            PROMPT 6 1 ""
            FLAGS "D"
            MESSAGE _MONTHRANGE|COPY,F_MON4
          END
          
          VALUTA 204 14
          BEGIN
            KEY "Fatturato (2)"
            PROMPT 7 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTFAT|ADD,F_FAT4
          END
  
          VALUTA 304 14
          BEGIN
            KEY "Provvigione (2)"
            PROMPT 8 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPPRDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTPRO|ADD,F_PRO4
          END
  END
          
  SECTION PRS5 1 0 0 STREXPR LF_PROVV->CODAGE==LF_AGENTI->CODAGE
    FLAGS "H"
  
          STRING 105 7
          BEGIN
            KEY "Raggruppamento mese (1)"
            PROMPT 3 1 ""
            FLAGS "D"
            MESSAGE _MONTHRANGE|COPY,F_MON5
          END
          
          VALUTA 205 14
          BEGIN
            KEY "Fatturato (1)"
            PROMPT 4 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTFAT|ADD,F_FAT5
          END
  
          VALUTA 305 14
					BEGIN
            KEY "Provvigione (1)"
            PROMPT 5 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPPRDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTPRO|ADD,F_PRO5
          END
  END
          
  SECTION PRS6 1 0 0 STREXPR LF_PROVV->CODAGE==LF_AGENTI->CODAGE
    FLAGS "H"
  
          STRING 106 7
          BEGIN
            KEY "Raggruppamento mese (2)"
            PROMPT 6 1 ""
            FLAGS "D"
            MESSAGE _MONTHRANGE|COPY,F_MON6
          END
          
          VALUTA 206 14
          BEGIN
            KEY "Fatturato (2)"
            PROMPT 7 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTFAT|ADD,F_FAT6
          END
  
          VALUTA 306 14
          BEGIN
            KEY "Provvigione (2)"
            PROMPT 8 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPPRDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTPRO|ADD,F_PRO6
          END
  END
          
  SECTION PRS7 1 0 0 STREXPR LF_PROVV->CODAGE==LF_AGENTI->CODAGE
    FLAGS "H"
  
          STRING 107 7
          BEGIN
            KEY "Raggruppamento mese (1)"
            PROMPT 3 1 ""
            FLAGS "D"
            MESSAGE _MONTHRANGE|COPY,F_MON7
          END
          
          VALUTA 207 14
          BEGIN
            KEY "Fatturato (1)"
            PROMPT 4 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTFAT|ADD,F_FAT7
          END
  
          VALUTA 307 14
          BEGIN
            KEY "Provvigione (1)"
            PROMPT 5 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPPRDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTPRO|ADD,F_PRO7
          END
  END
          
  SECTION PRS8 1 0 0 STREXPR LF_PROVV->CODAGE==LF_AGENTI->CODAGE
    FLAGS "H"
  
          STRING 108 7
          BEGIN
            KEY "Raggruppamento mese (2)"
            PROMPT 6 1 ""
            FLAGS "D"
            MESSAGE _MONTHRANGE|COPY,F_MON8
          END
          
          VALUTA 208 14
          BEGIN
            KEY "Fatturato (2)"
            PROMPT 7 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTFAT|ADD,F_FAT8
          END
  
          VALUTA 308 14
          BEGIN
            KEY "Provvigione (2)"
            PROMPT 8 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPPRDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTPRO|ADD,F_PRO8
          END
  END
          
  SECTION PRS9 1 0 0 STREXPR LF_PROVV->CODAGE==LF_AGENTI->CODAGE
    FLAGS "H"
  
          STRING 109 7
          BEGIN
            KEY "Raggruppamento mese (1)"
            PROMPT 3 1 ""
            FLAGS "D"
            MESSAGE _MONTHRANGE|COPY,F_MON9
          END
          
          VALUTA 209 14
          BEGIN
            KEY "Fatturato (1)"
            PROMPT 4 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTFAT|ADD,F_FAT9
          END
  
          VALUTA 309 14
          BEGIN
            KEY "Provvigione (1)"
            PROMPT 5 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPPRDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTPRO|ADD,F_PRO9
          END
  END
          
  SECTION PRS10 1 0 0 STREXPR LF_PROVV->CODAGE==LF_AGENTI->CODAGE
    FLAGS "H"
  
          STRING 110 7
          BEGIN
            KEY "Raggruppamento mese (2)"
            PROMPT 6 1 ""
            FLAGS "D"
            MESSAGE _MONTHRANGE|COPY,F_MON10
          END
          
          VALUTA 210 14
          BEING
            KEY "Fatturato (2)"
            PROMPT 7 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTFAT|ADD,F_FAT10
          END
  
          VALUTA 310 14
          BEGIN
            KEY "Provvigione (2)"
            PROMPT 8 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPPRDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTPRO|ADD,F_PRO10
          END
  END
          
  SECTION PRS11 1 0 0 STREXPR LF_PROVV->CODAGE==LF_AGENTI->CODAGE
    FLAGS "H"
  
          STRING 111 7
          BEGIN
            KEY "Raggruppamento mese (1)"
            PROMPT 3 1 ""
            FLAGS "D"
            MESSAGE _MONTHRANGE|COPY,F_MON11
          END
          
          VALUTA 211 14
          BEGIN
            KEY "Fatturato (1)"
            PROMPT 4 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTFAT|ADD,F_FAT11
          END
  
          VALUTA 311 14
          BEGIN
            KEY "Provvigione (1)"
            PROMPT 5 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPPRDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTPRO|ADD,F_PRO11
          END
  END
          
  SECTION PRS12 1 0 0 STREXPR LF_PROVV->CODAGE==LF_AGENTI->CODAGE
    FLAGS "H"
  
          STRING 112 7
          BEGIN
            KEY "Raggruppamento mese (2)"
            PROMPT 6 1 ""
            FLAGS "D"
            MESSAGE _MONTHRANGE|COPY,F_MON12
          END
          
          VALUTA 212 14
          BEGIN
            KEY "Fatturato (2)"
            PROMPT 7 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTFAT|ADD,F_FAT12
          END
  
          VALUTA 312 14
          BEGIN
            KEY "Provvigione (2)"
            PROMPT 8 1 ""
            MESSAGE _FIRMVALUE
            FIELD LF_PROVV->IMPPRDOC
            FLAGS "H"
            MESSAGE ADD,F_TOTPRO|ADD,F_PRO12
          END
  END

END // Main subsection
        
// Totali

STRING F_MON1 7
BEGIN
  KEY "Mese (1)"
  PROMPT 3 1 ""
  MESSAGE _MONTHRANGE
END

VALUTA F_FAT1 15
BEGIN
  KEY "Fatturato (1)"
  PROMPT 4 1 ""
  GROUP G_TOTAGE
END

VALUTA F_PRO1 15
BEGIN
  KEY "Provvigione (1)"
  PROMPT 5 1 ""
  GROUP G_TOTAGE
END

STRING F_MON2 7
BEGIN
  KEY "Mese (2)"
  PROMPT 6 1 ""
  MESSAGE _MONTHRANGE
END

VALUTA F_FAT2 15
BEGIN
  KEY "Fatturato (2)"
  PROMPT 7 1 ""
  GROUP G_TOTAGE
END

VALUTA F_PRO2 15
BEGIN
  KEY "Provvigione (2)"
  PROMPT 8 1 ""
  GROUP G_TOTAGE
END

STRING F_MON3 7
BEGIN
  KEY "Mese (3)"
  PROMPT 3 2 ""
  MESSAGE _MONTHRANGE
END

VALUTA F_FAT3 15
BEGIN
  KEY "Fatturato (3)"
  PROMPT 4 2 ""
  GROUP G_TOTAGE
END

VALUTA F_PRO3 15
BEGIN
  KEY "Provvigione (3)"
  PROMPT 5 2 ""
  GROUP G_TOTAGE
END

STRING F_MON4 7
BEGIN
  KEY "Mese (4)"
  PROMPT 6 2 ""
  MESSAGE _MONTHRANGE
END

VALUTA F_FAT4 15
BEGIN
  KEY "Fatturato (4)"
  PROMPT 7 2 ""
  GROUP G_TOTAGE
END

VALUTA F_PRO4 15
BEGIN
  KEY "Provvigione (4)"
  PROMPT 8 2 ""
  GROUP G_TOTAGE
END

STRING F_MON5 7
BEGIN
  KEY "Mese (5)"
  PROMPT 3 3 ""
  MESSAGE _MONTHRANGE
END

VALUTA F_FAT5 15
BEGIN
  KEY "Fatturato (5)"
  PROMPT 4 3 ""
  GROUP G_TOTAGE
END

VALUTA F_PRO5 15
BEGIN
  KEY "Provvigione (5)"
  PROMPT 5 3 ""
  GROUP G_TOTAGE
END

STRING F_MON6 7
BEGIN
  KEY "Mese (6)"
  PROMPT 6 3 ""
  MESSAGE _MONTHRANGE
END

VALUTA F_FAT6 15
BEGIN
  KEY "Fatturato (6)"
  PROMPT 7 3 ""
  GROUP G_TOTAGE
END

VALUTA F_PRO6 15
BEGIN
  KEY "Provvigione (6)"
  PROMPT 8 3 ""
  GROUP G_TOTAGE
END

STRING F_MON7 7
BEGIN
  KEY "Mese (7)"
  PROMPT 3 4 ""
  MESSAGE _MONTHRANGE
END

VALUTA F_FAT7 15
BEGIN
  KEY "Fatturato (7)"
  PROMPT 4 4 ""
  GROUP G_TOTAGE
END

VALUTA F_PRO7 15
BEGIN
  KEY "Provvigione (7)"
  PROMPT 5 4 ""
  GROUP G_TOTAGE
END

STRING F_MON8 7
BEGIN
  KEY "Mese (8)"
  PROMPT 6 4 ""
  MESSAGE _MONTHRANGE
END

VALUTA F_FAT8 15
BEGIN
  KEY "Fatturato (8)"
  PROMPT 7 4 ""
  GROUP G_TOTAGE
END

VALUTA F_PRO8 15
BEGIN
  KEY "Provvigione (8)"
  PROMPT 8 4 ""
  GROUP G_TOTAGE
END

STRING F_MON9 7
BEGIN
  KEY "Mese (9)"
  PROMPT 3 5 ""
  MESSAGE _MONTHRANGE
END

VALUTA F_FAT9 15
BEGIN
  KEY "Fatturato (9)"
  PROMPT 4 5 ""
  GROUP G_TOTAGE
END

VALUTA F_PRO9 15
BEGIN
  KEY "Provvigione (9)"
  PROMPT 5 5 ""
  GROUP G_TOTAGE
END

STRING F_MON10 7
BEGIN
  KEY "Mese (10)"
  PROMPT 6 5 ""
  MESSAGE _MONTHRANGE
END

VALUTA F_FAT10 15
BEGIN
  KEY "Fatturato (10)"
  PROMPT 7 5 ""
  GROUP G_TOTAGE
END

VALUTA F_PRO10 15
BEGIN
  KEY "Provvigione (10)"
  PROMPT 8 5 ""
  GROUP G_TOTAGE
END

STRING F_MON11 7
BEGIN
  KEY "Mese (11)"
  PROMPT 3 6 ""
  MESSAGE _MONTHRANGE
END

VALUTA F_FAT11 15
BEGIN
  KEY "Fatturato (11)"
  PROMPT 4 6 ""
  GROUP G_TOTAGE
END

VALUTA F_PRO11 15
BEGIN
  KEY "Provvigione (11)"
  PROMPT 5 6 ""
  GROUP G_TOTAGE
END

STRING F_MON12 7
BEGIN
  KEY "Mese (12)"
  PROMPT 6 6 ""
  MESSAGE _MONTHRANGE
END

VALUTA F_FAT12 15
BEGIN
  KEY "Fatturato (12)"
  PROMPT 7 6 ""
  GROUP G_TOTAGE
END

VALUTA F_PRO12 15
BEGIN
  KEY "Provvigione (12)"
  PROMPT 8 6 ""
  GROUP G_TOTAGE
END

STRING 45 30
BEGIN
  KEY "Totale agente"
  PROMPT 2 8 "Totale agente:"
END

VALUTA F_TOTFAT 15
BEGIN
  KEY "Totale fatturato per agente"
  PROMPT 4 8 ""
  GROUP G_TOTAGE
END

VALUTA F_TOTPRO 15
BEGIN
  KEY "Totale provvigioni per agente"
  PROMPT 5 8 ""
  GROUP G_TOTAGE
END

END // Section body

END // Form