Grosso passo in avanti per la stampa documenti.

Manca da terminare il footer delle accompagnatorie.


git-svn-id: svn://10.65.10.50/trunk@3387 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1996-08-13 15:41:44 +00:00
parent 761bccc810
commit 788d0e2811
4 changed files with 524 additions and 206 deletions

View File

@ -1,3 +1,48 @@
// - 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.
// Completare la sezione "iva" nel body // Completare la sezione "iva" nel body
// Manca il campo "causale" nella section footer // Manca il campo "causale" nella section footer
@ -43,37 +88,40 @@ BEGIN
FONT "Courier New" FONT "Courier New"
SIZE 12 SIZE 12
MODULE BUFFETTI_FATTURA_ACCOMPAGNATORIA_01 MODULE BUFFETTI_FATTURA_ACCOMPAGNATORIA_01
PRI_DECIMALS 0 3
QTA_DECIMALS 3 3
IMP_DECIMALS 0 3
EXCLUDE ","
END END
/////////////////////////////////////////////////
SECTION HEADER ODD 27 SECTION HEADER ODD 27
STRINGA 1 36 1 STRINGA 1 36 1
BEGIN BEGIN
KEY "nome ditta" KEY "nome ditta"
PROMPT 5 1 "" PROMPT 5 1 ""
MESSAGE _DITTA !RAGSOC MESSAGE _DITTA, !RAGSOC
END END
STRINGA 2 36 1 STRINGA 2 36 1
BEGIN BEGIN
KEY "indirizzo ditta" KEY "indirizzo ditta"
PROMPT 5 2 "" PROMPT 5 2 ""
MESSAGE _DITTA !IND MESSAGE _DITTA, !IND
END END
STRINGA 3 5 1 STRINGA 3 5 1
BEGIN BEGIN
KEY "cap ditta" KEY "cap ditta"
PROMPT 5 3 "" PROMPT 5 3 ""
MESSAGE _DITTA !CAP MESSAGE _DITTA, !CAP
END END
STRINGA 4 30 1 STRINGA 4 30 1
BEGIN BEGIN
KEY "comune ditta" KEY "comune ditta"
PROMPT 12 3 "" PROMPT 12 3 ""
MESSAGE _DITTA !COM MESSAGE _DITTA, !COM
END END
STRINGA 5 5 1 STRINGA 5 5 1
@ -86,7 +134,7 @@ STRINGA 6 16 1
BEGIN BEGIN
KEY "partita iva ditta" KEY "partita iva ditta"
PROMPT 11 4 "" PROMPT 11 4 ""
MESSAGE _DITTA !PIVA MESSAGE _DITTA, !PIVA
END END
STRINGA 7 9 1 STRINGA 7 9 1
@ -99,73 +147,66 @@ STRINGA 8 16 1
BEGIN BEGIN
KEY "codice fiscale ditta" KEY "codice fiscale ditta"
PROMPT 15 5 "" PROMPT 15 5 ""
MESSAGE _DITTA !CF MESSAGE _DITTA, !CF
END END
NUMERO 9 NUMERO 9 30 1
BEGIN BEGIN
KEY "reg.soc.trib...." KEY "reg.soc.trib...."
PROMPT 5 6 "" PROMPT 5 6 "REG.SOC.TRIB.R.E. "
MESSAGE _DITTA, !REGSOC
END END
NUMERO 10 NUMERO 12 30 1
BEGIN
KEY "reg.soc.trib...."
PROMPT 15 6 ""
END
STRINGA 9
BEGIN
KEY "reg.soc.trib...."
PROMPT 5 6 "REG.SOC.TRIB.R.E. 8897"
END
NUMERO 12
BEGIN BEGIN
KEY "c.c.i.a.a. 143011" KEY "c.c.i.a.a. 143011"
PROMPT 5 7 "C.C.I.A.A. 143011" PROMPT 5 7 "C.C.I.A.A. "
END MESSAGE _DITTA, !CCIAA
END
STRINGA 14 36 2 STRINGA 14 36 2
BEGIN BEGIN
KEY "destinatario, ditta" KEY "destinatario, ditta"
PROMPT 44 10 "" PROMPT 44 10 ""
FIELD 20->RAGSOC MESSAGE _CLIENTE,!RAGSOC
END END
STRINGA 15 36 2 STRINGA 15 36 2
BEGIN BEGIN
KEY "destinatario, indirizzo" KEY "destinatario, indirizzo"
PROMPT 44 12 "" PROMPT 44 12 ""
FIELD 20->INDCF MESSAGE _CLIENTE,!INDNUM
END END
STRINGA 16 5 1 STRINGA 16 5 1
BEGIN BEGIN
KEY "destinatario, cap" KEY "destinatario, cap"
PROMPT 44 14 "" PROMPT 44 14 ""
MESSAGE _CLIENTE,!CAP
END END
STRINGA 17 30 2 STRINGA 17 30 2
BEGIN BEGIN
KEY "destinatario, comune" KEY "destinatario, comune"
PROMPT 50 14 "" PROMPT 50 14 ""
MESSAGE _CLIENTE,!COM
END END
STRINGA 18 2 1 STRINGA 18 2 1
BEGIN BEGIN
KEY "destinatario, provincia" KEY "destinatario, provincia"
PROMPT 77 15 "" PROMPT 77 15 ""
MESSAGE _CLIENTE,!PROV
END END
STRINGA 19 8 1 STRINGA 19 10 1
BEGIN BEGIN
KEY "data bolla" KEY "data bolla"
PROMPT 58 19 "" PROMPT 58 19 ""
FIELD 33->DATADOC FIELD 33->DATADOC
END END
STRINGA 20 5 1 STRINGA 20 7
BEGIN BEGIN
KEY "numero bolla" KEY "numero bolla"
PROMPT 67 19 "" PROMPT 67 19 ""
@ -183,6 +224,7 @@ STRINGA 84 30 1
BEGIN BEGIN
KEY "destinazione, cap" KEY "destinazione, cap"
PROMPT 1 12 "" PROMPT 1 12 ""
FIELD 16->CAP
END END
STRINGA 85 50 1 STRINGA 85 50 1
@ -196,6 +238,14 @@ STRINGA 86 30 1
BEGIN BEGIN
KEY "destinazione, comune" KEY "destinazione, comune"
PROMPT 1 14 "" PROMPT 1 14 ""
MESSAGE _ISAMREAD,13,COM=#49,DENCOM
END
STRINGA 87 2 1
BEGIN
KEY "destinazione, provincia"
PROMPT 31 14 ""
MESSAGE _ISAMREAD,13,COM=#49,PROVCOM
END END
STRINGA 22 26 1 STRINGA 22 26 1
@ -205,7 +255,7 @@ BEGIN
FIELD 33->NUMDOCRIF FIELD 33->NUMDOCRIF
END END
DATA 23 8 1 DATA 23 10
BEGIN BEGIN
KEY "data conferma" KEY "data conferma"
PROMPT 28 19 "" PROMPT 28 19 ""
@ -238,7 +288,7 @@ STRINGA 27 16 1
BEGIN BEGIN
KEY "partita iva cliente" KEY "partita iva cliente"
PROMPT 16 23 "" PROMPT 16 23 ""
FIELD 17->PAIV MESSAGE _CLIENTE,!IVA
END END
STRINGA 28 25 1 STRINGA 28 25 1
@ -255,6 +305,13 @@ BEGIN
FIELD 33->CODAG FIELD 33->CODAG
END END
STRING 88 28
BEGIN
KEY "nome agente"
PROMPT 5 23 ""
FIELD 202@->S0
END
STRINGA 30 21 1 STRINGA 30 21 1
BEGIN BEGIN
KEY "vettore" KEY "vettore"
@ -263,63 +320,108 @@ END
END END
///////////////////////////////////////////////// SECTION BODY ODD 5
SECTION BODY ODD 1
STRINGA 31 8 1 STRINGA 31 13 1
BEGIN BEGIN
KEY "codice articolo" KEY "codice articolo"
PROMPT 1 1 "" PROMPT 1 1 ""
FIELD 34->CODART FIELD 34->CODART
END END
STRINGA 32 30 1 STRINGA 32 30 4
BEGIN BEGIN
KEY "descrizione articolo" KEY "descrizione articolo"
PROMPT 17 1 "" PROMPT 17 1 ""
FIELD 47->DESCR MESSAGE _DESCRIGA
END END
NUMERO 33 STRINGA 33 2
BEGIN BEGIN
KEY "unita' di misura" KEY "unita' di misura"
PROMPT 46 1 "" PROMPT 46 1 ""
FIELD 34->UMQTA
MESSAGE _ALIGN,#32,BOTTOM
END END
STRINGA 34 6 1 NUMBER 34 10
BEGIN BEGIN
KEY "quantita'" KEY "quantita'"
PROMPT 10 1 "" PROMPT 49 1 ""
PICTURE "######"
GROUP 30
FIELD 34->QTA FIELD 34->QTA
MESSAGE _ALIGN,#32,BOTTOM
END END
STRINGA 35 8 1 NUMBER 35 15
BEGIN BEGIN
KEY "prezzo unitario" KEY "prezzo unitario"
PROMPT 48 1 "" PROMPT 59 1 ""
PICTURE "###.###.###.###"
GROUP 29
FIELD 34->PREZZO
MESSAGE _ALIGN,#32,BOTTOM
END END
STRINGA 36 8 1 STRINGA 36 20
BEGIN BEGIN
KEY "sconto" KEY "sconto"
PROMPT 57 1 "" PROMPT 75 1 ""
FIELD 34->SCONTO
MESSAGE _ALIGN,#32,BOTTOM
END END
STRINGA 37 9 1 NUMBER 37 15
BEGIN BEGIN
KEY "importo netto" KEY "importo netto"
PROMPT 66 1 "" PROMPT 68 1 ""
FLAGS "H"
GROUP 29
PICTURE "###.###.###.###"
MESSAGE _TOTAL_RIGA,IMPNETTO|_ALIGN,#32,BOTTOM
END END
STRINGA 38 3 1 STRINGA 38 3 1
BEGIN BEGIN
KEY "iva" KEY "iva"
PROMPT 76 1 "" PROMPT 81 1 ""
FIELD 34->CODIVA
MESSAGE _ALIGN,#32,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
END END
/////////////////////////////////////////////////
SECTION FOOTER LAST 19 SECTION FOOTER LAST 19
STRINGA 71 5 1 STRINGA 71 5 1
@ -330,25 +432,33 @@ END
END END
/////////////////////////////////////////////////
SECTION FOOTER ODD 19 SECTION FOOTER ODD 19
STRINGA 39 11 1 NUMBER 39 15
BEGIN BEGIN
KEY "spese di trasporto" KEY "spese di trasporto"
PROMPT 43 52 "" PROMPT 43 52 ""
MESSAGE _TOTAL_CODA,SPTRAS
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 40 11 1 NUMBER 40 115
BEGIN BEGIN
KEY "spese di incasso" KEY "spese di incasso"
PROMPT 55 50 "" PROMPT 55 50 ""
MESSAGE _TOTAL_CODA,SPINC
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 41 11 1 NUMBER 41 15
BEGIN BEGIN
KEY "spese bolli" KEY "spese bolli"
PROMPT 55 52 "" PROMPT 55 52 ""
MESSAGE _TOTAL_CODA,SPIMB
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 42 21 1 STRINGA 42 21 1

View File

@ -1,3 +1,49 @@
// - 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 USE 34
JOIN 33 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC JOIN 33 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
@ -32,6 +78,10 @@ BEGIN
FONT "Courier New" FONT "Courier New"
SIZE 12 SIZE 12
MODULE "BUFFETTI_BOLLA_01" MODULE "BUFFETTI_BOLLA_01"
PRI_DECIMALS 0 3
QTA_DECIMALS 3 3
IMP_DECIMALS 0 3
EXCLUDE ","
END END
@ -134,7 +184,7 @@ BEGIN
FORMAT "1442-" FORMAT "1442-"
END END
NUMBER 20 NUMBER 20 7
BEGIN BEGIN
KEY "numero bolla" KEY "numero bolla"
PROMPT 71 25 "" PROMPT 71 25 ""
@ -184,12 +234,12 @@ BEGIN
FIELD 33->NUMDOCRIF FIELD 33->NUMDOCRIF
END END
DATE 23 8 1 DATE 23 10
BEGIN BEGIN
KEY "data conferma" KEY "data conferma"
PROMPT 16 25 "" PROMPT 16 25 ""
FIELD 33->DATADOCRIF FIELD 33->DATADOCRIF
FORMAT "1442-" FORMAT "1444-"
END END
STRING 24 48 1 STRING 24 48 1
@ -267,11 +317,12 @@ BEGIN
MESSAGE _ALIGN,#33,BOTTOM MESSAGE _ALIGN,#33,BOTTOM
END END
STRING 35 10 NUMBER 35 10
BEGIN BEGIN
KEY "quantita" KEY "quantita"
PROMPT 60 1 "" PROMPT 60 1 ""
PICTURE "@@@@@@,@@@" PICTURE "######"
GROUP 30
FIELD 34->QTA FIELD 34->QTA
MESSAGE _ALIGN,#33,BOTTOM MESSAGE _ALIGN,#33,BOTTOM
END END

View File

@ -1,3 +1,50 @@
// - 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 USE 34
JOIN 33 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC JOIN 33 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
@ -32,17 +79,21 @@ BEGIN
FONT "Courier New" FONT "Courier New"
SIZE 12 SIZE 12
MODULE "BUFFETTI_BOLLA_01" MODULE "BUFFETTI_BOLLA_01"
PRI_DECIMALS 0 3
QTA_DECIMALS 3 3
IMP_DECIMALS 0 3
EXCLUDE ","
END END
//SECTION GRAPHICS ODD SECTION GRAPHICS ODD
//FIGURA 99 80 65 FIGURA 99 80 65
//BEGIN BEGIN
// PROMPT 1 1 "bolla.bmp" PROMPT 1 1 "bolla.bmp"
//END END
//END END
SECTION HEADER ODD 29 SECTION HEADER ODD 29
@ -143,7 +194,7 @@ BEGIN
FORMAT "1442-" FORMAT "1442-"
END END
NUMBER 20 NUMBER 20 7
BEGIN BEGIN
KEY "numero bolla" KEY "numero bolla"
PROMPT 71 21 "" PROMPT 71 21 ""
@ -278,11 +329,12 @@ BEGIN
MESSAGE _ALIGN,#33,TOP MESSAGE _ALIGN,#33,TOP
END END
STRING 35 10 NUMBER 35 10
BEGIN BEGIN
KEY "quantita" KEY "quantita"
PROMPT 17 1 "" PROMPT 17 1 ""
PICTURE "@@@@@@,@@@" PICTURE "######"
GROUP 30
FIELD 34->QTA FIELD 34->QTA
MESSAGE _ALIGN,#33,TOP MESSAGE _ALIGN,#33,TOP
END END

View File

@ -1,22 +1,48 @@
// - I FIELD sul file 20 (clifo) vanno sostituiti con messaggi _CLIENTE.
// - "Cliente provincia" e' gestito dalla relazione. Dovra' essere gestito da un messaggio _CLIENTE
// - Manca "azzera totalizzatore 1"
// - Completare "iva" nelle righe della fattura
// - Nella coda della fattura, completare i campi che non sono totalizzatori
// - Codici per i totalizzatori: // - Codici per i totalizzatori:
// Questi vengono letti in G1 sulla testata:
// SPTRAS spese di trasporto // SPTRAS spese di trasporto
// SPINC spese incasso // SPINC spese incasso
// SPIMB spese imballaggio // SPIMB spese imballaggio
// SPBOL spese bolli // SPBOL spese bolli
// TIMP totale imponibile // Questi vengono ricalcolati in stampa:
// TIMPS totale imposta // TIMPONIBILI totale imponibile (calcolato in stampa dalla tabella riepilogativa)
// TESEN totale esenti // TIMPOSTE totale imposta (calcolato in stampa dalla tabella riepilogativa)
// IMPNETTO totale importi netti (stesso codice per il totalizzatore della riga) // TESENTI totale esenti (calcolato in stampa dalla tabella riepilogativa)
// TFATT totale fattura // TIMPNETTI totale importi netti (stesso codice per il totalizzatore della riga)
// NETPAG netto da pagare // TOTDOC totale documento (fattura in questo caso)
// //
// Togliere dalla relazione i files che non servono, quando tutti i campi sono OK. // 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 USE 34
JOIN 33 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC JOIN 33 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
@ -55,13 +81,14 @@ BEGIN
OFFSET 0 0 OFFSET 0 0
FONT "Courier New" FONT "Courier New"
SIZE 12 SIZE 12
MODULE BUFFETTI_FATTURA_01 MODULE "BUFFETTI_FATTURA_01"
PRI_DECIMALS 0 2 PRI_DECIMALS 0 3
QTA_DECIMALS 3 QTA_DECIMALS 3 3
IMP_DECIMALS 0 2 IMP_DECIMALS 0 3
EXCLUDE ","
END END
/////////////////////////////////////////////////
SECTION HEADER ODD 28 SECTION HEADER ODD 28
STRINGA 1 35 1 STRINGA 1 35 1
@ -118,31 +145,31 @@ BEGIN
MESSAGE _DITTA, !CF MESSAGE _DITTA, !CF
END END
NUMERO 9 10 1 NUMERO 9 30 1
BEGIN BEGIN
KEY "reg.soc.trib...." KEY "reg.soc.trib...."
PROMPT 3 9 "REG.SOC.TRIB.R.E. " PROMPT 3 9 "REG.SOC.TRIB.R.E. "
MESSAGE _DITTA, !REGSOC MESSAGE _DITTA, !REGSOC
END END
NUMERO 12 10 1 NUMERO 12 30 1
BEGIN BEGIN
KEY "c.c.i.a.a. ....." KEY "c.c.i.a.a. ....."
PROMPT 3 10 "C.C.I.A.A. " PROMPT 3 10 "C.C.I.A.A. "
MESSAGE _DITTA, !CCIAA MESSAGE _DITTA, !CCIAA
END END
STRINGA 14 8 1 STRINGA 14 10 1
BEGIN BEGIN
KEY "data fattura" KEY "data fattura"
PROMPT 61 21 "" PROMPT 61 21 ""
FILED 33->DATADOC FILED 33->DATADOC
END END
STRINGA 15 5 1 STRINGA 15 7
BEGIN BEGIN
KEY "numero fattura" KEY "numero fattura"
PROMPT 71 21 "" PROMPT 74 21 ""
FIELD 33->NDOC FIELD 33->NDOC
END END
@ -174,7 +201,7 @@ BEGIN
FIELD 33->NUMDOCRIF FIELD 33->NUMDOCRIF
END END
DATA 20 8 1 DATA 20 10 1
BEGIN BEGIN
KEY "data conferma" KEY "data conferma"
PROMPT 20 23 "" PROMPT 20 23 ""
@ -238,15 +265,8 @@ BEGIN
MESSAGE _CLIENTE,!PROV MESSAGE _CLIENTE,!PROV
END END
STRINGA 31 2 1
BEGIN
KEY "azzera totalizzatore 1"
PROMPT 73 16 ""
END END
END
/////////////////////////////////////////////////
SECTION BODY ODD 5 SECTION BODY ODD 5
STRINGA 32 13 1 STRINGA 32 13 1
@ -266,25 +286,27 @@ END
STRINGA 34 2 STRINGA 34 2
BEGIN BEGIN
KEY "unita' di misura" KEY "unita' di misura"
PROMPT 38 1 "" PROMPT 42 1 ""
FIELD 34->UMQTA FIELD 34->UMQTA
MESSAGE _ALIGN,#33,BOTTOM MESSAGE _ALIGN,#33,BOTTOM
END END
STRING 35 10 NUMBER 35 10
BEGIN BEGIN
KEY "quantita'" KEY "quantita'"
PROMPT 42 1 "" PROMPT 45 1 ""
PICTURE "@@@@@@@,@@@" PICTURE "######"
GROUP 30
FIELD 34->QTA FIELD 34->QTA
MESSAGE _ALIGN,#33,BOTTOM MESSAGE _ALIGN,#33,BOTTOM
END END
STRINGA 36 15 NUMBER 36 15
BEGIN BEGIN
KEY "prezzo unitario" KEY "prezzo unitario"
PROMPT 52 1 "" PROMPT 56 1 ""
PICTURE "###.###.###,@@@" PICTURE "###.###.###.###"
GROUP 29
FIELD 34->PREZZO FIELD 34->PREZZO
MESSAGE _ALIGN,#33,BOTTOM MESSAGE _ALIGN,#33,BOTTOM
END END
@ -292,16 +314,18 @@ END
STRINGA 37 25 STRINGA 37 25
BEGIN BEGIN
KEY "sconto" KEY "sconto"
PROMPT 64 1 "" PROMPT 72 1 ""
FIELD 34->SCONTO FIELD 34->SCONTO
MESSAGE _ALIGN,#33,BOTTOM MESSAGE _ALIGN,#33,BOTTOM
END END
STRINGA 38 15 NUMBER 38 15
BEGIN BEGIN
KEY "importo netto" KEY "importo netto"
PROMPT 68 1 "" PROMPT 68 1 ""
PICTURE "###.###.###,@@@" FLAGS "H"
GROUP 29
PICTURE "###.###.###.###"
MESSAGE _TOTAL_RIGA,IMPNETTO|_ALIGN,#33,BOTTOM MESSAGE _TOTAL_RIGA,IMPNETTO|_ALIGN,#33,BOTTOM
END END
@ -313,36 +337,38 @@ BEGIN
MESSAGE _ALIGN,#33,BOTTOM MESSAGE _ALIGN,#33,BOTTOM
END END
STRINGA 40 15 NUMBER 40 15
BEGIN BEGIN
KEY "prezzo unitario scontato" KEY "prezzo unitario scontato"
PROMPT 68 1 "" PROMPT 68 1 ""
PICTURE "###.###.###,@@@" PICTURE "###.###.###.###"
GROUP 29
MESSAGE _TOTAL_RIGA,IMPUNITARIO|_ALIGN,#33,BOTTOM MESSAGE _TOTAL_RIGA,IMPUNITARIO|_ALIGN,#33,BOTTOM
FLAGS "D" FLAGS "H"
END END
STRINGA 41 15 NUMBER 41 15
BEGIN BEGIN
KEY "provvigione" KEY "provvigione"
PROMPT 68 1 "" PROMPT 68 1 ""
PICTURE "###.###.###,@@@" PICTURE "###.###.###.###"
MESSAGE _TOTAL_RIGA,PROVVIGIONE|_ALIGN,#33,BOTTOM MESSAGE _TOTAL_RIGA,PROVVIGIONE|_ALIGN,#33,BOTTOM
FLAGS "D" GROUP 31
FLAGS "H"
END END
STRINGA 42 15 NUMBER 42 15
BEGIN BEGIN
KEY "Imposta" KEY "Imposta"
PROMPT 68 1 "" PROMPT 68 1 ""
PICTURE "###.###.###,@@@" PICTURE "###.###.###.###"
MESSAGE _TOTAL_RIGA,IMPOSTA|_ALIGN,#33,BOTTOM MESSAGE _TOTAL_RIGA,IMPOSTA|_ALIGN,#33,BOTTOM
FLAGS "D" GROUP 31
FLAGS "H"
END END
END END
/////////////////////////////////////////////////
SECTION FOOTER ODD 13 SECTION FOOTER ODD 13
STRINGA 76 5 1 STRINGA 76 5 1
@ -353,233 +379,312 @@ END
END END
/////////////////////////////////////////////////
SECTION FOOTER LAST 13 SECTION FOOTER LAST 13
STRINGA 40 11 1 NUMBER 40 15
BEGIN BEGIN
KEY "spese di trasporto" KEY "spese di trasporto"
PROMPT 42 53 "" PROMPT 56 3 ""
MESSAGE _TOTAL_CODA,SPTRAS MESSAGE _TOTAL_CODA,SPTRAS
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 41 6 1 NUMBER 41 15
BEGIN BEGIN
KEY "spese di incasso" KEY "spese di incasso"
PROMPT 56 63 "" PROMPT 56 5 ""
MESSAGE _TOTAL_CODA,SPINC MESSAGE _TOTAL_CODA,SPINC
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 42 11 1 NUMBER 42 15
BEGIN BEGIN
KEY "spese di imballo" KEY "spese di imballo"
PROMPT 56 53 "" PROMPT 56 4 ""
MESSAGE _TOTAL_CODA,SPIMB MESSAGE _TOTAL_CODA,SPIMB
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 43 5 1 NUMBER 43 11
BEGIN BEGIN
KEY "spese bolli" KEY "spese bolli"
PROMPT 64 63 "" PROMPT 60 6 ""
MESSAGE _TOTAL_CODA,SPBOL MESSAGE _TOTAL_CODA,SPBOL
PICTURE "###.###.###"
GROUP 31
END END
STRINGA 44 11 1 STRING 76 4
BEGIN
KEY "codice iva 1"
PROMPT 2 2 ""
MESSAGE _RIEPILOGOIVA,1,COD,0
END
NUMBER 44 15
BEGIN BEGIN
KEY "imponibile 1" KEY "imponibile 1"
PROMPT 7 56 "" PROMPT 7 2 ""
MESSAGE _RIEPILOGOIVA,1,IMP,0
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 45 2 1 NUMBER 45 5
BEGIN BEGIN
KEY "iva 1" KEY "iva 1"
PROMPT 20 56 "" PROMPT 23 2 ""
MESSAGE _RIEPILOGOIVA,1,ALI,0
PICTURE "##,@@"
END END
STRINGA 46 11 1 NUMBER 46 15
BEGIN BEGIN
KEY "imposta 1" KEY "imposta 1"
PROMPT 23 56 "" PROMPT 28 2 ""
MESSAGE _RIEPILOGOIVA,1,IVA,1
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 47 11 1 STRING 77 4
BEGIN
KEY "codice iva 2"
PROMPT 2 3 ""
MESSAGE _RIEPILOGOIVA,1,COD,0
END
NUMBER 47 15
BEGIN BEGIN
KEY "imponibile 2" KEY "imponibile 2"
PROMPT 7 57 "" PROMPT 7 3 ""
MESSAGE _RIEPILOGOIVA,1,IMP,0
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 48 2 1 NUMBER 48 5
BEGIN BEGIN
KEY "iva 2" KEY "iva 2"
PROMPT 20 57 "" PROMPT 23 3 ""
MESSAGE _RIEPILOGOIVA,1,ALI,0
PICTURE "##,@@"
END END
STRINGA 49 11 1 NUMBER 49 15
BEGIN BEGIN
KEY "imposta 2" KEY "imposta 2"
PROMPT 23 57 "" PROMPT 28 3 ""
MESSAGE _RIEPILOGOIVA,1,IVA,1
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 50 11 1 STRING 78 4
BEGIN
KEY "codice iva 3"
PROMPT 2 4 ""
MESSAGE _RIEPILOGOIVA,1,COD,0
END
NUMBER 50 15
BEGIN BEGIN
KEY "imponibile 3" KEY "imponibile 3"
PROMPT 7 58 "" PROMPT 7 4 ""
MESSAGE _RIEPILOGOIVA,1,IMP,0
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 51 2 1 NUMBER 51 5
BEGIN BEGIN
KEY "iva 3" KEY "iva 3"
PROMPT 20 58 "" PROMPT 23 4 ""
MESSAGE _RIEPILOGOIVA,1,ALI,0
PICTURE "##,@@"
END END
STRINGA 52 11 1 NUMBER 52 15
BEGIN BEGIN
KEY "imposta 3" KEY "imposta 3"
PROMPT 23 58 "" PROMPT 28 4 ""
MESSAGE _RIEPILOGOIVA,1,IVA,1
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 53 11 1 NUMBER 53 15
BEGIN BEGIN
KEY "imponibile 4" KEY "imponibile 4"
PROMPT 7 59 "" PROMPT 7 5 ""
MESSAGE _RIEPILOGOIVA,30,IMP,0
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 54 3 1 STRINGA 54 4
BEGIN BEGIN
KEY "iva 4" KEY "codice iva 4"
PROMPT 2 59 "" PROMPT 2 5 ""
MESSAGE _RIEPILOGOIVA,30,COD,0
END END
STRINGA 55 45 1 STRINGA 55 45
BEGIN BEGIN
KEY "descrizione altri 4" KEY "descrizione altri 4"
PROMPT 36 59 "" PROMPT 23 5 ""
MESSAGE _RIEPILOGOIVA,30,DES,1
END END
STRINGA 56 11 1 NUMBER 56 15
BEGIN BEGIN
KEY "imponibile 5" KEY "imponibile 5"
PROMPT 7 60 "" PROMPT 7 6 ""
MESSAGE _RIEPILOGOIVA,30,IMP,0
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 57 3 1 STRINGA 57 4
BEGIN BEGIN
KEY "iva 5" KEY "codice iva 5"
PROMPT 2 60 "" PROMPT 2 6 ""
MESSAGE _RIEPILOGOIVA,30,COD,0
END END
STRINGA 58 45 1 STRINGA 58 45
BEGIN BEGIN
KEY "descrizione altri 5" KEY "descrizione altri 5"
PROMPT 36 60 "" PROMPT 23 6 ""
MESSAGE _RIEPILOGOIVA,30,DES,1
END END
STRINGA 59 12 1 NUMBER 59 15
BEGIN BEGIN
KEY "totale imponibile" KEY "totale imponibile"
PROMPT 6 63 "" PROMPT 71 6 ""
MESSAGE _TOTAL_CODA,TIMP MESSAGE _TOTAL_CODA,TIMPONIBILI,1
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 60 11 1 NUMBER 60 15
BEGIN BEGIN
KEY "totale imposta" KEY "totale imposta"
PROMPT 23 63 "" PROMPT 71 7 ""
MESSAGE _TOTAL_CODA,TIMPS MESSAGE _TOTAL_CODA,TIMPOSTE
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 61 9 1 NUMBER 61 15
BEGIN BEGIN
KEY "totale esenti" KEY "totale esenti"
PROMPT 36 63 "" PROMPT 71 8 ""
MESSAGE _TOTAL_CODA,TESEN MESSAGE _TOTAL_CODA,TIMPONIBILI,4
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 62 11 1 NUMBER 62 15
BEGIN BEGIN
KEY "totale importi netti" KEY "totale importi netti"
PROMPT 3 53 "" PROMPT 71 1 ""
MESSAGE _TOTAL_CODA,IMPNETTO MESSAGE _TOTAL_CODA,TIMPNETTI
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 63 12 1 NUMBER 63 15
BEGIN BEGIN
KEY "totale fattura" KEY "totale fattura"
PROMPT 71 63 "" PROMPT 71 9 ""
MESSAGE _TOTAL_CODA,TFATT MESSAGE _TOTAL_CODA,TOTDOC
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 64 8 1 DATA 64 10 1
BEGIN BEGIN
KEY "scadenza pagamento 1" KEY "scadenza pagamento 1"
PROMPT 3 66 "" PROMPT 3 10 ""
MESSAGE _SCADENZE,DATA,0
END END
STRINGA 65 11 1 NUMBER 65 15
BEGIN BEGIN
KEY "importo scadenza 1" KEY "importo scadenza 1"
PROMPT 15 66 "" PROMPT 16 10 ""
MESSAGE _SCADENZE,IMPORTO,1
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 66 8 1 DATA 66 10 1
BEGIN BEGIN
KEY "scadenza pagamento 2" KEY "scadenza pagamento 2"
PROMPT 3 68 "" PROMPT 32 10 ""
MESSAGE _SCADENZE,DATA,0
END END
STRINGA 67 11 1 NUMBER 67 15
BEGIN BEGIN
KEY "importo scadenza 2" KEY "importo scadenza 2"
PROMPT 15 68 "" PROMPT 45 10 ""
MESSAGE _SCADENZE,IMPORTO,1
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 68 8 1 DATA 68 10 1
BEGIN BEGIN
KEY "scadenza pagamento 3" KEY "scadenza pagamento 3"
PROMPT 30 68 "" PROMPT 3 11 ""
MESSAGE _SCADENZE,DATA,0
END END
STRINGA 69 11 1 NUMBER 69 15
BEGIN BEGIN
KEY "importo scadenza 3" KEY "importo scadenza 3"
PROMPT 42 68 "" PROMPT 16 11 ""
MESSAGE _SCADENZE,IMPORTO,1
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 70 8 1 DATA 70 10 1
BEGIN BEGIN
KEY "scadenza pagamento 4" KEY "scadenza pagamento 4"
PROMPT 3 69 "" PROMPT 32 11 ""
MESSAGE _SCADENZE,DATA,0
END END
STRINGA 71 11 1 NUMBER 71 15
BEGIN BEGIN
KEY "importo scadenza 4" KEY "importo scadenza 4"
PROMPT 15 69 "" PROMPT 45 11 ""
MESSAGE _SCADENZE,IMPORTO,1
PICTURE "###.###.###.###"
GROUP 31
END END
STRINGA 72 8 1 DATA 72 10 1
BEGIN BEGIN
KEY "scadenza pagamento 5" KEY "scadenza pagamento 5"
PROMPT 30 69 "" PROMPT 3 12 ""
MESSAGE _SCADENZE,DATA,0
END END
STRINGA 73 11 1 NUMBER 73 15
BEGIN BEGIN
KEY "importo scadenza 5" KEY "importo scadenza 5"
PROMPT 42 69 "" PROMPT 16 12 ""
END MESSAGE _SCADENZE,IMPORTO,1
PICTURE "###.###.###.###"
STRINGA 74 10 1 GROUP 31
BEGIN
KEY "anticipo"
PROMPT 47 66 ""
END
STRINGA 75 12 1
BEGIN
KEY "netto da pagare"
PROMPT 71 66 ""
MESSAGE _TOTAL_CODA,NETPAG
END END
END END