// - Codici per i totalizzatori:
//   Questi vengono letti in G1 sulla testata:
//   SPTRAS       spese di trasporto
//   SPINC        spese incasso
//   SPIMB        spese imballaggio
//   SPBOL        spese bolli
//   Questi vengono ricalcolati in stampa:
//   TIMPONIBILI  totale imponibile (calcolato in stampa dalla tabella riepilogativa)
//   TIMPOSTE     totale imposta    (calcolato in stampa dalla tabella riepilogativa)
//   TESENTI      totale esenti     (calcolato in stampa dalla tabella riepilogativa)
//   TIMPNETTI    totale importi netti (stesso codice per il totalizzatore della riga)
//   TOTDOC       totale documento (fattura in questo caso)
//
//   Mappa dei selettori di filtro (parametro 2 di _RIEPILOGOIVA) per la stampa della tabella
//   riepilogativa e dei totali esenti/imponibili/non soggetti/non imponibili:
//   1 = regime normale
//   2 = ventilare (non usato)
//   4 = esenti
//   8 = non imponibili
//  16 = non soggetti
//   pertanto per avere i non imponibili in totale il selettore sara' 1,
//   per avere gli esenti il selettore sara' 4; per avere i non soggetti + esenti
//   il selettore sara' 20  e cosi' via.
//   Modificatori di pictures:
//   i parametri IMP_DECIMALS, QTA_DECIMALS, e PRI_DECIMALS settano i decimali da stampare/arrotondare
//   per i seguenti: importi in genere, quantita', e prezzi. Il primo parametro intero e' per gli importi in lire
//   il secondo per gli importi in valuta. Naturalmente per le quantita' non ha senso fare una cosa del genere, ma per completezza
//   e' stata implementata.
//   PRI_DECIMALS corrisponde al gruppo 29
//   QTA_DECIMALS corrisponde al gruppo 30
//   IMP_DECIMALS corrisponde al gruppo 31
//   pertanto tutti i campi che apparterranno al gruppo 29,30 o 31 avranno gli importi stampati al numero di decimali impostati a
//   seconda se il documento e' in lire o valuta. Se il numero di decimali e' 0 la picture rimarra' invariata.
//   Altri gruppi definiti dall'utente saranno cosi' sintatticamente impostati:
//   NEW_GROUP <n> <lit_dec> <val_dec>
//   Dove <n> e' il numero del gruppo
//        <lit_dec> e' il numero di decimali per i documenti in lire
//        <val_dec> e' il numero di decimali per i documenti in valuta
//   Istruzione EXCLUDE nella sezione GENERAL (facoltativo):
//   EXCLUDE esclude dalla stampa le righe che soddisfano la condizione specificata.
//   Si indicano in questo modo: "<tipo riga>,<cod. art>". Naturalmente si possono indicare tutti gli EXLCUDE che si vogliono.
//   Es: EXCLUDE "V01,ART1" escludera' tutte le righe di tipo V01 con codice articolo ART1
//       EXCLUDE ",ART1" escludera' tutte le righe che hanno codice articolo ART1
//       EXCLUDE "V01," escludera' tutte le righe che hanno tipo riga V01
//       EXCLUDE "," non escludera' nulla.

USE 34
JOIN 33 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
JOIN 17 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
JOIN 20 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
JOIN 16 TO 17 ALIAS 116 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
JOIN 47 INTO CODART==CODART
JOIN %CPG TO 33 ALIAS 201 INTO CODTAB==CODPAG
JOIN %AGE TO 33 ALIAS 202 INTO CODTAB==CODAG
JOIN %POR TO 33 ALIAS 203 INTO CODTAB==CODPORTO
JOIN %BAN TO 33 ALIAS 204 INTO CODTAB==CODABIA+CODCABA
JOIN %VET TO 33 ALIAS 205 INTO CODTAB==CODVETT1
JOIN %ASP TO 33 ALIAS 206 INTO CODTAB==ASPBENI1

END
DESCRIPTION
BEGIN
  34->* "Righe documenti di vendita"
  33->* "Documenti di vendita"
  17->* "Clienti/Fornitori per vendite"
  20->* "Clienti/Fornitori"
  16->* "Indirizzi di spedizione (destinazione)"
  116@->* "Indirizzi di spedizione (destinatario)"
  47->* "Anagrafica magazzino"
  201@->* "Tabella condizioni di pagamento"
  202@->* "Tabella agenti"
  203@->* "Tabella porto"
  204@->* "Tabella banche"
  205@->* "Tabella vettori"
  206@->* "Tabella aspetto beni"
END

GENERAL
BEGIN
  OFFSET 0 0
  FONT "Courier New"
  SIZE 12
  MODULE "BUFFETTI_FATTURA_01"
  PRI_DECIMALS 0 3
  QTA_DECIMALS 3 3
  IMP_DECIMALS 0 3
  EXCLUDE ","
END


SECTION HEADER ODD 28

STRINGA 1 35 1
BEGIN
 KEY "nome ditta"
 PROMPT  3 4 ""
 MESSAGE _DITTA, !RAGSOC
END

STRINGA 2 35 1
BEGIN
 KEY "indirizzo ditta"
 PROMPT  3 5 ""
 MESSAGE _DITTA, !IND
END

STRINGA 3 5 1
BEGIN
 KEY "cap ditta"
 PROMPT  3 6 ""
 MESSAGE _DITTA, !CAP
END

STRINGA 4 30 1
BEGIN
 KEY "comune ditta"
 PROMPT  10 6 ""
 MESSAGE _DITTA, !COM
END

STRINGA 5 5 1
BEGIN
 KEY "scritta P.IVA"
 PROMPT  3 7 "P.IVA"
END

STRINGA 6 16 1
BEGIN
 KEY "partita iva ditta"
 PROMPT  9 7 ""
 MESSAGE _DITTA, !PIVA
END

STRINGA 7 9 1
BEGIN
 KEY "scritta COD.FISC."
 PROMPT  3 8 "COD.FISC."
END

STRINGA 8 16 1
BEGIN
 KEY "codice fiscale ditta"
 PROMPT  13 8 ""
 MESSAGE _DITTA, !CF
END

NUMERO 9 30 1
BEGIN
 KEY "reg.soc.trib...."
 PROMPT  3 9 "REG.SOC.TRIB.R.E.  "
 MESSAGE _DITTA, !REGSOC
END

NUMERO 12 30 1
BEGIN
 KEY "c.c.i.a.a. ....."
 PROMPT  3 10 "C.C.I.A.A.         "
 MESSAGE _DITTA, !CCIAA
END

STRINGA 14 10 1
BEGIN
 KEY "data fattura"
 PROMPT  61 21 ""
 FILED 33->DATADOC
END

STRINGA 15 7
BEGIN
 KEY "numero fattura"
 PROMPT  74 21 ""
 FIELD 33->NDOC
END

STRINGA 16 4 1
BEGIN
 KEY "codice cliente"
 PROMPT  3 23 ""
 FIELD 33->CODCF
END

STRINGA 17 2 1
BEGIN
 KEY "codice agente"
 PROMPT  9 23 ""
 FIELD 33->CODAG
END

STRINGA 18 14 1
BEGIN
 KEY "porto"
 PROMPT  52 23 ""
 FIELD 203@->S0
END

NUMERO 19 7 1
BEGIN
 KEY "ordine"
 PROMPT  12 23 ""
 FIELD 33->NUMDOCRIF
END

DATA 20 10 1
BEGIN
 KEY "data conferma"
 PROMPT  20 23 ""
 FIELD 33->DATADOCRIF
 FORMAT "1444-"
END

STRINGA 21 49 1
BEGIN
 KEY "condizioni di pagamento"
 PROMPT  3 25 ""
 FIELD 201@->S0
END

STRINGA 22 29 1
BEGIN
 KEY "banca d'appoggio"
 PROMPT  54 25 ""
 FIELD 204@->S0
END

STRINGA 23 38 2
BEGIN
 KEY "cliente ragione sociale "
 PROMPT  44 11 ""
 MESSAGE _CLIENTE,!RAGSOC
END

STRINGA 24 35 2
BEGIN
 KEY "cliente indirizzo con numero civico"
 PROMPT  44 13 ""
 MESSAGE _CLIENTE,!INDNUM
END

STRINGA 25 3
BEGIN
 KEY "Numero di pagina"
 PROMPT  74 10 ""
 MESSAGE _PAGENO
END

STRINGA 27 5 1
BEGIN
 KEY "cliente cap"
 PROMPT  44 15 ""
 MESSAGE _CLIENTE,!CAP
END

STRINGA 28 30 1
BEGIN
 KEY "cliente comune"
 PROMPT  50 15 ""
 MESSAGE _CLIENTE,!COM 
END

STRINGA 30 2 1
BEGIN
 KEY "cliente provincia"
 PROMPT  73 16 ""
 MESSAGE _CLIENTE,!PROV
END

END

SECTION BODY ODD 5

STRINGA 32 13 1
BEGIN
 KEY "codice articolo"
 PROMPT  2 1 ""
 FIELD 34->CODART
END

STRINGA 33 25 4
BEGIN
 KEY "descrizione articolo"
 PROMPT  17 1 ""
 MESSAGE _DESCRIGA
END

STRINGA 34 2
BEGIN
 KEY "unita' di misura"
 PROMPT  42 1 ""
 FIELD 34->UMQTA
 MESSAGE _ALIGN,#33,BOTTOM
END

NUMBER 35 10
BEGIN
 KEY "quantita'"
 PROMPT  45 1 ""
 PICTURE "######"
 GROUP 30
 FIELD 34->QTA
 MESSAGE _ALIGN,#33,BOTTOM
END

NUMBER 36 15
BEGIN
 KEY "prezzo unitario"
 PROMPT  56 1 ""
 PICTURE "###.###.###.###"
 GROUP 29
 FIELD 34->PREZZO
 MESSAGE _ALIGN,#33,BOTTOM
END

STRINGA 37 25
BEGIN
 KEY "sconto"
 PROMPT  72 1 ""
 FIELD 34->SCONTO
 MESSAGE _ALIGN,#33,BOTTOM
END

NUMBER 38 15
BEGIN
 KEY "importo netto"
 PROMPT  68 1 ""
 FLAGS "H"
 GROUP 29
 PICTURE "###.###.###.###"
 MESSAGE _TOTAL_RIGA,IMPNETTO|_ALIGN,#33,BOTTOM
END

STRINGA 39 4 
BEGIN
 KEY "iva"
 PROMPT  81 1 ""
 FIELD 34->CODIVA
 MESSAGE _ALIGN,#33,BOTTOM
END

NUMBER 40 15
BEGIN
 KEY "prezzo unitario scontato"
 PROMPT  68 1 ""
 PICTURE "###.###.###.###"
 GROUP 29
 MESSAGE _TOTAL_RIGA,IMPUNITARIO|_ALIGN,#33,BOTTOM
 FLAGS "H"
END

NUMBER 41 15
BEGIN
 KEY "provvigione"
 PROMPT  68 1 ""
 PICTURE "###.###.###.###"
 MESSAGE _TOTAL_RIGA,PROVVIGIONE|_ALIGN,#33,BOTTOM
 GROUP 31
 FLAGS "H"
END

NUMBER 42 15
BEGIN
 KEY "Imposta"
 PROMPT  68 1 ""
 PICTURE "###.###.###.###"
 MESSAGE _TOTAL_RIGA,IMPOSTA|_ALIGN,#33,BOTTOM
 GROUP 31
 FLAGS "H"
END

END

SECTION FOOTER ODD 13

STRINGA 76 5 1
BEGIN
 KEY "stampa 'segue' in coda"
 PROMPT  73 13 "SEGUE"
END

END

SECTION FOOTER LAST 13

NUMBER 40 15 
BEGIN
 KEY "spese di trasporto"
 PROMPT  56 3 ""
 MESSAGE _TOTAL_CODA,SPTRAS
 PICTURE "###.###.###.###"
 GROUP 31
END

NUMBER 41 15 
BEGIN
 KEY "spese di incasso"
 PROMPT  56 5 ""
 MESSAGE _TOTAL_CODA,SPINC
 PICTURE "###.###.###.###"
 GROUP 31
END

NUMBER 42 15 
BEGIN
 KEY "spese di imballo"
 PROMPT  56 4 ""
 MESSAGE _TOTAL_CODA,SPIMB
 PICTURE "###.###.###.###"
 GROUP 31
END

NUMBER 43 11 
BEGIN
 KEY "spese bolli"
 PROMPT  60 6 ""
 MESSAGE _TOTAL_CODA,SPBOL
 PICTURE "###.###.###"
 GROUP 31
END

STRING 76 4 
BEGIN
 KEY "codice iva 1"
 PROMPT  2 2 ""
 MESSAGE _RIEPILOGOIVA,1,COD,0
END

NUMBER 44 15 
BEGIN
 KEY "imponibile 1"
 PROMPT  7 2 ""
 MESSAGE _RIEPILOGOIVA,1,IMP,0
 PICTURE "###.###.###.###"
 GROUP 31
END

NUMBER 45 5 
BEGIN
 KEY "iva 1"
 PROMPT  23 2 ""
 MESSAGE _RIEPILOGOIVA,1,ALI,0
 PICTURE "##,@@"
END

NUMBER 46 15 
BEGIN
 KEY "imposta 1"
 PROMPT  28 2 ""
 MESSAGE _RIEPILOGOIVA,1,IVA,1
 PICTURE "###.###.###.###"
 GROUP 31
END

STRING 77 4 
BEGIN
 KEY "codice iva 2"
 PROMPT  2 3 ""
 MESSAGE _RIEPILOGOIVA,1,COD,0
END

NUMBER 47 15 
BEGIN
 KEY "imponibile 2"
 PROMPT  7 3 ""
 MESSAGE _RIEPILOGOIVA,1,IMP,0
 PICTURE "###.###.###.###"
 GROUP 31
END

NUMBER 48 5 
BEGIN
 KEY "iva 2"
 PROMPT  23 3 ""
 MESSAGE _RIEPILOGOIVA,1,ALI,0
 PICTURE "##,@@"
END

NUMBER 49 15 
BEGIN
 KEY "imposta 2"
 PROMPT  28 3 ""
 MESSAGE _RIEPILOGOIVA,1,IVA,1
 PICTURE "###.###.###.###"
 GROUP 31
END

STRING 78 4 
BEGIN
 KEY "codice iva 3"
 PROMPT  2 4 ""
 MESSAGE _RIEPILOGOIVA,1,COD,0
END

NUMBER 50 15 
BEGIN
 KEY "imponibile 3"
 PROMPT  7 4 ""
 MESSAGE _RIEPILOGOIVA,1,IMP,0
 PICTURE "###.###.###.###"
 GROUP 31
END

NUMBER 51 5 
BEGIN
 KEY "iva 3"
 PROMPT  23 4 ""
 MESSAGE _RIEPILOGOIVA,1,ALI,0
 PICTURE "##,@@"
END

NUMBER 52 15 
BEGIN
 KEY "imposta 3"
 PROMPT  28 4 ""
 MESSAGE _RIEPILOGOIVA,1,IVA,1
 PICTURE "###.###.###.###"
 GROUP 31
END

NUMBER 53 15
BEGIN
 KEY "imponibile 4"
 PROMPT  7 5 ""
 MESSAGE _RIEPILOGOIVA,30,IMP,0
 PICTURE "###.###.###.###"
 GROUP 31
END

STRINGA 54 4 
BEGIN
 KEY "codice iva 4"
 PROMPT  2 5 ""
 MESSAGE _RIEPILOGOIVA,30,COD,0
END

STRINGA 55 45 
BEGIN
 KEY "descrizione altri 4"
 PROMPT  23 5 ""
 MESSAGE _RIEPILOGOIVA,30,DES,1
END

NUMBER 56 15 
BEGIN
 KEY "imponibile 5"
 PROMPT  7 6 ""
 MESSAGE _RIEPILOGOIVA,30,IMP,0
 PICTURE "###.###.###.###"
 GROUP 31
END

STRINGA 57 4 
BEGIN
 KEY "codice iva 5"
 PROMPT  2 6 ""
 MESSAGE _RIEPILOGOIVA,30,COD,0
END

STRINGA 58 45 
BEGIN
 KEY "descrizione altri 5"
 PROMPT  23 6 ""
 MESSAGE _RIEPILOGOIVA,30,DES,1
END

NUMBER 59 15 
BEGIN
 KEY "totale imponibile"
 PROMPT  71 6 ""
 MESSAGE _TOTAL_CODA,TIMPONIBILI,1
 PICTURE "###.###.###.###"
 GROUP 31
END

NUMBER 60 15 
BEGIN
 KEY "totale imposta"
 PROMPT  71 7 ""
 MESSAGE _TOTAL_CODA,TIMPOSTE
 PICTURE "###.###.###.###"
 GROUP 31
END

NUMBER 61 15 
BEGIN
 KEY "totale esenti"
 PROMPT  71 8 ""
 MESSAGE _TOTAL_CODA,TIMPONIBILI,4
 PICTURE "###.###.###.###"
 GROUP 31
END

NUMBER 62 15 
BEGIN
 KEY "totale importi netti"
 PROMPT  71 1 ""
 MESSAGE _TOTAL_CODA,TIMPNETTI
 PICTURE "###.###.###.###"
 GROUP 31
END

NUMBER 63 15 
BEGIN
 KEY "totale fattura"
 PROMPT  71 9 ""
 MESSAGE _TOTAL_CODA,TOTDOC
 PICTURE "###.###.###.###"
 GROUP 31
END

DATA 64 10 1
BEGIN
 KEY "scadenza pagamento 1"
 PROMPT  3 10 ""
 MESSAGE _SCADENZE,DATA,0
END

NUMBER 65 15 
BEGIN
 KEY "importo scadenza 1"
 PROMPT  16 10 ""
 MESSAGE _SCADENZE,IMPORTO,1
 PICTURE "###.###.###.###"
 GROUP 31
END

DATA 66 10 1
BEGIN
 KEY "scadenza pagamento 2"
 PROMPT  32 10 ""
 MESSAGE _SCADENZE,DATA,0
END

NUMBER 67 15
BEGIN
 KEY "importo scadenza 2"
 PROMPT  45 10 ""
 MESSAGE _SCADENZE,IMPORTO,1
 PICTURE "###.###.###.###"
 GROUP 31
END

DATA 68 10 1
BEGIN
 KEY "scadenza pagamento 3"
 PROMPT  3 11 ""
 MESSAGE _SCADENZE,DATA,0
END

NUMBER 69 15 
BEGIN
 KEY "importo scadenza 3"
 PROMPT  16 11 ""
 MESSAGE _SCADENZE,IMPORTO,1
 PICTURE "###.###.###.###"
 GROUP 31
END

DATA 70 10 1
BEGIN
 KEY "scadenza pagamento 4"
 PROMPT  32 11 ""
 MESSAGE _SCADENZE,DATA,0
END

NUMBER 71 15 
BEGIN
 KEY "importo scadenza 4"
 PROMPT  45 11 ""
 MESSAGE _SCADENZE,IMPORTO,1
 PICTURE "###.###.###.###"
 GROUP 31
END

DATA 72 10 1
BEGIN
 KEY "scadenza pagamento 5"
 PROMPT  3 12 ""
 MESSAGE _SCADENZE,DATA,0
END

NUMBER 73 15 
BEGIN
 KEY "importo scadenza 5"
 PROMPT  16 12 ""
 MESSAGE _SCADENZE,IMPORTO,1
 PICTURE "###.###.###.###"
 GROUP 31
END

END


