Correzioni varie

git-svn-id: svn://10.65.10.50/trunk@3713 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1996-10-04 17:04:00 +00:00
parent c6784f584a
commit 2c820aa0c5
22 changed files with 6063 additions and 6590 deletions

View File

@ -5,7 +5,6 @@
#include "scperc.h"
#include "rver.h"
#include "rpag.h"
#include "../cg/cg2103.h"
// Calcola l'anno di esercizio di una data
// Certified 99%

File diff suppressed because it is too large Load Diff

View File

@ -991,7 +991,7 @@ END
NUMERO 123
BEGIN
KEY "I27-12 Ritenuta acc.(pr.3) "
PROMPT 23 53 ""
PROMPT 27 53 ""
PICTURE "###.###.###.###^^^"
FIELD 37->G0RACC3
END

View File

@ -98,14 +98,18 @@ BEGIN
MESSAGE ADD,FL->2
END
NUMERO 5
LISTA 5
BEGIN
KEY "RSS"
PROMPT 100 1 ""
ITEM " | "
ITEM "1|VA"
ITEM "2|SA"
ITEM "3|SI"
FIELD 42->QLRSS
END
NUMERO 6
STRINGA 6
BEGIN
KEY "Note"
PROMPT 111 1 ""
@ -133,6 +137,13 @@ BEGIN
FIELD 42->QLCT
END
STRINGA 10
BEGIN
KEY "Art.Bil."
PROMPT 54 3 ""
FIELD 42->QLAB
END
STRINGA 11
BEGIN
KEY "DATA VERS."
@ -152,8 +163,7 @@ STRINGA 13
BEGIN
KEY "NUMERO"
PROMPT 99 3 ""
FIELD 42->QLNUMERO
PICTURE "#####^^^^^^"
FIELD 42->QLNUMERO[1,5]
END
END

File diff suppressed because it is too large Load Diff

View File

@ -40,21 +40,21 @@ END
STRINGA 1
BEGIN
KEY "CODICE FISCALE DEL SOGGETTO DICHIARANTE"
PROMPT 48 11 ""
PROMPT 48 10 ""
FIELD 106@->COFI
END
STRINGA 3
BEGIN
KEY "RAGIONE SOCIALE"
PROMPT 22 14 ""
PROMPT 22 13 ""
FIELD 106@->RAGSOC
END
STRINGA 6
BEGIN
KEY "VIA di RES."
PROMPT 22 17 ""
PROMPT 22 16 ""
FIELD 106@->INDRF
FIELD 106@->INDRES
END
@ -62,7 +62,7 @@ END
STRINGA 7
BEGIN
KEY "NUM. CIVICO di RES."
PROMPT 104 17 ""
PROMPT 104 16 ""
FIELD 106@->CIVRF
FIELD 106@->CIVRES
END
@ -70,7 +70,7 @@ END
STRINGA 8
BEGIN
KEY "CAP"
PROMPT 22 20 ""
PROMPT 22 19 ""
FIELD 106@->CAPRF
FIELD 106@->CAPRES
END
@ -78,202 +78,202 @@ END
STRINGA 9
BEGIN
KEY "COMUNE DI RES.FISCALE"
PROMPT 34 20 ""
PROMPT 34 19 ""
FIELD 113@->DENCOM
END
STRINGA 10
BEGIN
KEY "PROV DI RES.FISCALE"
PROMPT 116 20 ""
PROMPT 119 19 ""
FIELD 113@->PROVCOM
END
STRINGA 650
BEGIN
KEY "Quadro A"
PROMPT 95 24 ""
PROMPT 96 23 ""
FIELD 37->QCOMP[1,1]
END
STRINGA 651
BEGIN
KEY "Quadro A1"
PROMPT 100 24 ""
PROMPT 101 23 ""
FIELD 37->QCOMP[2,2]
END
STRINGA 652
BEGIN
KEY "Quadro A2"
PROMPT 105 24 ""
PROMPT 106 23 ""
FIELD 37->QCOMP[3,3]
END
STRINGA 653
BEGIN
KEY "Quadro A3"
PROMPT 110 24 ""
PROMPT 111 23 ""
FIELD 37->QCOMP[4,4]
END
STRINGA 660
BEGIN
KEY "Quadro B"
PROMPT 116 24 ""
PROMPT 116 23 ""
FIELD 37->QCOMP[5,5]
END
STRINGA 661
BEGIN
KEY "Quadro B1"
PROMPT 121 24 ""
PROMPT 121 23 ""
FIELD 37->QCOMP[6,6]
END
STRINGA 670
BEGIN
KEY "Quadro C"
PROMPT 24 26 ""
PROMPT 24 25 ""
FIELD 37->QCOMP[7,7]
END
STRINGA 680
BEGIN
KEY "Quadro D"
PROMPT 29 26 ""
PROMPT 29 25 ""
FIELD 37->QCOMP[8,8]
END
STRINGA 681
BEGIN
KEY "Quadro D1"
PROMPT 34 26 ""
PROMPT 34 25 ""
FIELD 37->QCOMP[9,9]
END
STRINGA 690
BEGIN
KEY "Quadro E"
PROMPT 39 26 ""
PROMPT 39 25 ""
FIELD 37->QCOMP[10,10]
END
STRINGA 691
BEGIN
KEY "Quadro E1"
PROMPT 44 26 ""
PROMPT 44 25 ""
FIELD 37->QCOMP[11,11]
END
STRINGA 692
BEGIN
KEY "Quadro E2"
PROMPT 49 26 ""
PROMPT 49 25 ""
FIELD 37->QCOMP[12,12]
END
STRINGA 700
BEGIN
KEY "Quadro F"
PROMPT 54 26 ""
PROMPT 54 25 ""
FIELD 37->QCOMP[13,13]
END
STRINGA 701
BEGIN
KEY "Quadro F1"
PROMPT 59 26 ""
PROMPT 59 25 ""
FIELD 37->QCOMP[14,14]
END
STRINGA 702
BEGIN
KEY "Quadro F2"
PROMPT 64 26 ""
PROMPT 64 25 ""
FIELD 37->QCOMP[15,15]
END
STRINGA 710
BEGIN
KEY "Quadro G"
PROMPT 70 26 ""
PROMPT 70 25 ""
FIELD 37->QCOMP[16,16]
END
STRINGA 711
BEGIN
KEY "Quadro G1"
PROMPT 75 26 ""
PROMPT 75 25 ""
FIELD 37->QCOMP[17,17]
END
STRINGA 720
BEGIN
KEY "Quadro H"
PROMPT 80 26 ""
PROMPT 80 25 ""
FIELD 37->QCOMP[18,18]
END
STRINGA 730
BEGIN
KEY "Quadro I"
PROMPT 85 26 ""
PROMPT 85 25 ""
FIELD 37->QCOMP[19,19]
END
STRINGA 740
BEGIN
KEY "Quadro L"
PROMPT 95 26 ""
PROMPT 90 25 ""
END
STRINGA 760
BEGIN
KEY "Quadro N"
PROMPT 100 26 ""
PROMPT 96 25 ""
FIELD 37->QCOMP[20,20]
END
STRINGA 780
BEGIN
KEY "Quadro P"
PROMPT 105 26 ""
PROMPT 101 25 ""
FIELD 37->QCOMP[21,21]
END
STRINGA 790
BEGIN
KEY "Quadro Q"
PROMPT 110 26 ""
PROMPT 106 25 ""
FIELD 37->QCOMP[22,22]
END
STRINGA 800
BEGIN
KEY "Quadro R"
PROMPT 116 26 ""
PROMPT 111 25 ""
FIELD 37->QCOMP[23,23]
END
STRINGA 810
BEGIN
KEY "Quadro S"
PROMPT 121 26 ""
PROMPT 116 25 ""
FIELD 37->QCOMP[24,24]
END
STRINGA 820
BEGIN
KEY "Quadro T"
PROMPT 126 26 ""
PROMPT 121 25 ""
FIELD 37->QCOMP[25,25]
END
STRINGA 20
BEGIN
KEY "Allegati mod.730"
PROMPT 116 28 ""
PROMPT 111 27 ""
END
STRINGA 21
@ -287,8 +287,8 @@ END
STRINGA 22
BEGIN
KEY "Dischiarazione su supporto magnetico"
PROMPT 116 30 ""
KEY "Dichiarazione su supporto magnetico"
PROMPT 111 29 ""
END
STRINGA 30
@ -296,21 +296,21 @@ BEGIN
KEY "Codice centro di servizio"
FLAGS "H"
FIELD 113@->UFFCSERV
MESSAGE EMPTY ENABLE,10@|DISABLE,20@
MESSAGE ENABLE,20@|DISABLE,10@
MESSAGE EMPTY DISABLE,10@|ENABLE,20@
MESSAGE DISABLE,20@|ENABLE,10@
END
STRINGA 31
BEGIN
KEY "Centro servizio"
PROMPT 142 41 "CENTRO SERVIZIO"
PROMPT 142 40 "CENTRO SERVIZIO"
GROUP 10
END
STRINGA 32
BEGIN
KEY "C.A.P. Centro servizio"
PROMPT 138 46 ""
PROMPT 138 45 ""
FIELD 104@->S7
GROUP 10
END
@ -318,7 +318,7 @@ END
STRINGA 33
BEGIN
KEY "Comune Centro servizio"
PROMPT 170 46 ""
PROMPT 170 45 ""
FIELD 104@->S0
GROUP 10
END
@ -326,14 +326,14 @@ END
STRINGA 34
BEGIN
KEY "Ufficio distrettuale"
PROMPT 142 41 "UFFICIO DISTRETTUALE"
PROMPT 142 40 "UFFICIO DISTRETTUALE"
GROUP 20
END
STRINGA 35
BEGIN
KEY "C.A.P. Ufficio distrettuale"
PROMPT 138 46 ""
PROMPT 138 45 ""
FIELD 204@->S7
FIELD 213@->CAPCOM
GROUP 20
@ -342,7 +342,7 @@ END
STRINGA 36
BEGIN
KEY "Comune Ufficio distrettuale"
PROMPT 170 46 ""
PROMPT 170 45 ""
FIELD 204@->S0
GROUP 20
END

File diff suppressed because it is too large Load Diff

View File

@ -45,14 +45,14 @@ END
STRINGA 2
BEGIN
KEY "CODICE FISCALE"
PROMPT 3 13 ""
PROMPT 3 12 ""
FIELD 106@->COFI
END
STRINGA 3
BEGIN
KEY "RAGIONE SOCIALE"
PROMPT 40 13 ""
PROMPT 40 12 ""
GROUP 2
FIELD 106@->RAGSOC
END
@ -60,7 +60,7 @@ END
STRINGA 4
BEGIN
KEY "COGNOME"
PROMPT 40 13 ""
PROMPT 40 12 ""
GROUP 1
FIELD 106@->RAGSOC[1,30]
END
@ -68,7 +68,7 @@ END
STRINGA 5
BEGIN
KEY "NOME"
PROMPT 17 15 ""
PROMPT 17 14 ""
GROUP 1
FIELD 106@->RAGSOC[31,50]
END
@ -76,7 +76,7 @@ END
STRINGA 6
BEGIN
KEY "SESSO"
PROMPT 58 15 ""
PROMPT 58 14 ""
GROUP 1
FIELD 108@->SESSO
END
@ -84,7 +84,7 @@ END
STRINGA 7
BEGIN
KEY "DATA DI NASCITA"
PROMPT 67 15 ""
PROMPT 67 14 ""
GROUP 1
FIELD 108@->DATANASC
END
@ -92,7 +92,7 @@ END
STRINGA 8
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 84 15 ""
PROMPT 84 14 ""
GROUP 1
FIELD 113@->DENCOM
END
@ -100,7 +100,7 @@ END
STRINGA 9
BEGIN
KEY "PROV. DI NASCITA"
PROMPT 126 15 ""
PROMPT 126 14 ""
GROUP 1
FIELD 113@->PROVCOM
END
@ -108,21 +108,21 @@ END
STRINGA 10
BEGIN
KEY "COMUNE DI RES.FISCALE"
PROMPT 17 17 ""
PROMPT 17 16 ""
FIELD 213@->DENCOM
END
STRINGA 11
BEGIN
KEY "PROV DI RES.FISCALE"
PROMPT 59 17 ""
PROMPT 59 16 ""
FIELD 213@->PROVCOM
END
STRINGA 12
BEGIN
KEY "VIA di RES."
PROMPT 66 17 ""
PROMPT 66 16 ""
FIELD 106@->INDRF
FIELD 106@->INDRES
END
@ -130,7 +130,7 @@ END
STRINGA 15
BEGIN
KEY "NUM. CIVICO di RES."
PROMPT 104 17 ""
PROMPT 104 16 ""
FIELD 106@->CIVRF
FIELD 106@->CIVRES
END
@ -138,7 +138,7 @@ END
STRINGA 16
BEGIN
KEY "CAP"
PROMPT 125 17 ""
PROMPT 125 16 ""
FIELD 106@->CAPRF
FIELD 106@->CAPRES
END
@ -146,13 +146,13 @@ END
STRINGA 13
BEGIN
KEY "CODICE FISCALE DEL SOGGETTO DICHIARANTE"
PROMPT 87 20 ""
PROMPT 87 19 ""
END
NUMERO 14
BEGIN
KEY "NUM. FOGLIO"
PROMPT 125 23 ""
PROMPT 125 22 ""
END
END

View File

@ -1,468 +1,469 @@
USE 57
JOIN 45 INTO CODDITTA=CODDITTA CODDIP=CODDIP
JOIN %CAF ALIAS 104 INTO CODTAB==CODCAAF
JOIN 9 INTO CODDITTA=CODDITTA
JOIN 6 TO 9 ALIAS 106 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 8 TO 106@ ALIAS 108 INTO CODANAGR=CODANAGR
JOIN 13 TO 108@ ALIAS 113 INTO COM==COMNASC
JOIN 13 TO 106@ ALIAS 213 INTO COM==COMRF(COMRES)
JOIN 36 INTO CODDITTA=CODDITTA
END
DESCRIPTION
BEGIN
57->* "Quadro A2 770"
45->* "Anagrafica dei dipendenti"
104@->* "Tabella CAAF"
9->* "Ditte"
106@->* "Anagrafica persone fisiche e giuridiche (ditta)"
108@->* "Anagrafica persone fisiche (ditta)"
113@->* "Comuni DITTA (nascita)"
213@->* "Comuni DITTA (residenza)"
END
GENERAL
BEGIN
OFFSET 0 0
FONT "Courier New"
SIZE 11
CARATTERE "X"
INIZIO_POS 3 2
FINE_POS 131
GRID "+++++++++-|"
END
SECTION HEADER FIRST 28
LISTA 1
BEGIN
KEY "Tipo anagrafica"
FLAGS "H"
FIELD 106@->TIPOA
ITEM "F|Fisica" MESSAGE SHOW,1@|HIDE,2@
ITEM "G|Giuridica" MESSAGE SHOW,2@|HIDE,1@
END
STRINGA 2
BEGIN
KEY "CODICE FISCALE"
PROMPT 3 13 ""
FIELD 106@->COFI
END
STRINGA 3
BEGIN
KEY "RAGIONE SOCIALE"
PROMPT 40 13 ""
GROUP 2
FIELD 106@->RAGSOC
END
STRINGA 4
BEGIN
KEY "COGNOME"
PROMPT 40 13 ""
GROUP 1
FIELD 106@->RAGSOC[1,30]
END
STRINGA 5
BEGIN
KEY "NOME"
PROMPT 17 15 ""
GROUP 1
FIELD 106@->RAGSOC[31,50]
END
STRINGA 6
BEGIN
KEY "SESSO"
PROMPT 59 15 ""
GROUP 1
FIELD 108@->SESSO
END
STRINGA 7
BEGIN
KEY "DATA DI NASCITA"
PROMPT 67 15 ""
GROUP 1
FIELD 108@->DATANASC
END
STRINGA 8
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 84 15 ""
GROUP 1
FIELD 113@->DENCOM
END
STRINGA 9
BEGIN
KEY "PROV. DI NASCITA"
PROMPT 125 15 ""
GROUP 1
FIELD 113@->PROVCOM
END
STRINGA 10
BEGIN
KEY "COMUNE DI RES.FISCALE"
PROMPT 17 17 ""
FIELD 213@->DENCOM
END
STRINGA 11
BEGIN
KEY "PROV DI RES.FISCALE"
PROMPT 59 17 ""
FIELD 213@->PROVCOM
END
STRINGA 12
BEGIN
KEY "VIA di RES."
PROMPT 66 17 ""
FIELD 106@->INDRF
FIELD 106@->INDRES
END
STRINGA 15
BEGIN
KEY "NUM. CIVICO di RES."
PROMPT 104 17 ""
FIELD 106@->CIVRF
FIELD 106@->CIVRES
END
STRINGA 16
BEGIN
KEY "CAP"
PROMPT 123 17 ""
FIELD 106@->CAPRF
FIELD 106@->CAPRES
END
STRINGA 13
BEGIN
KEY "CODICE FISCALE DEL SOGGETTO DICHIARANTE"
PROMPT 87 20 ""
END
NUMERO 14
BEGIN
KEY "NUM. FOGLIO"
PROMPT 125 23 ""
END
END
SECTION BODY ODD 10
STRINGA 1
BEGIN
KEY "COD.FIS"
PROMPT 11 1 ""
FIELD 45->CODFI
END
STRINGA 2
BEGIN
KEY "COGNOME"
PROMPT 43 1 ""
FIELD 45->COGNOME
END
STRINGA 3
BEGIN
KEY "NOME"
PROMPT 80 1 ""
FIELD 45->NOME
END
DATA 4
BEGIN
KEY "DATA NASCITA"
PROMPT 114 1 ""
FIELD 45->DATANA
FORMAT "1444-"
END
STRINGA 5
BEGIN
KEY "SESSO"
PROMPT 128 1 ""
FIELD 45->SESSO
END
STRINGA 6
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 11 3 ""
FIELD 45->COMUNENA
END
STRINGA 7
BEGIN
KEY "PROV. DI NASCITA"
PROMPT 48 3 ""
FIELD 45->PROVNA
END
STRINGA 8
BEGIN
KEY "CONGUAGLI NON EFFETTUATI"
PROMPT 16 5 ""
FIELD 57->CONEFF
END
STRINGA 9
BEGIN
KEY "RETTIFICA CONGUAGLIO"
PROMPT 31 5 ""
FIELD 57->RETCON
END
NUMERO 10
BEGIN
KEY "IMPOSTA RIMBORSATA"
PROMPT 39 5 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->10
FIELD 57->SIRPEFRIMB
END
NUMERO 11
BEGIN
KEY "IMPOSTA VERSATA"
PROMPT 54 5 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->11
FIELD 57->VIRPEF
END
NUMERO 12
BEGIN
KEY "INTERESSI"
PROMPT 70 5 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->12
FIELD 57->INTIRPEF
END
NUMERO 13
BEGIN
KEY "IMPOSTA VERSATA"
PROMPT 85 5 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->13
FIELD 57->AIRPEFIV
END
NUMERO 14
BEGIN
KEY "INTERESSI"
PROMPT 100 5 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->14
FIELD 57->AIRPEFINT
END
NUMERO 15
BEGIN
KEY "SOPRATTASSA SU IRPEF"
PROMPT 115 5 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->15
FIELD 57->STASSA15
END
NUMERO 16
BEGIN
KEY "CONTRIBUTO A RIMBORSO"
PROMPT 8 7 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->16
FIELD 57->CONTR16
END
NUMERO 17
BEGIN
KEY "CONTRIBUTO VERSATO"
PROMPT 23 7 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->17
FIELD 57->CONTRVER
END
NUMERO 18
BEGIN
KEY "INTERESSI"
PROMPT 39 7 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->18
FIELD 57->INTER18
END
NUMERO 19
BEGIN
KEY "CONTRIBUTO VERSATO"
PROMPT 54 7 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->19
FIELD 57->CONTV19
END
NUMERO 20
BEGIN
KEY "INTERESSI"
PROMPT 70 7 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->20
FIELD 57->INTE20
END
NUMERO 21
BEGIN
KEY "SOPRATTASSA SU CSSN"
PROMPT 85 7 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->21
FIELD 57->SOPRAT21
END
NUMERO 22
BEGIN
KEY "MOD. 730/95 NON LIQUIDABILE"
PROMPT 108 7 ""
FIELD 57->M730NLIQ
END
STRINGA 23
BEGIN
KEY "CODICE FISCALE CAAF"
PROMPT 11 9 ""
FIELD 104@->S1
END
STRINGA 24
BEGIN
KEY "DENOMINAZIONE CAAF"
PROMPT 44 9 ""
FIELD 104@->S0
END
NUMERO 25
BEGIN
KEY "NUMERO ISCRIZIONE ALBO"
PROMPT 125 9 ""
FIELD 104@->I1
END
END
SECTION FOOTER LAST 4
NUMERO 10
BEGIN
KEY "IMPOSTA RIMBORSATA"
PROMPT 39 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 11
BEGIN
KEY "IMPOSTA VERSATA"
PROMPT 54 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 12
BEGIN
KEY "INTERESSI"
PROMPT 70 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 13
BEGIN
KEY "IMPOSTA VERSATA"
PROMPT 85 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 14
BEGIN
KEY "INTERESSI"
PROMPT 100 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 15
BEGIN
KEY "SOPRATTASSA SU IRPEF"
PROMPT 115 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 16
BEGIN
KEY "CONTRIBUTO A RIMBORSO"
PROMPT 8 3 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 17
BEGIN
KEY "CONTRIBUTO VERSATO"
PROMPT 23 3 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 18
BEGIN
KEY "INTERESSI"
PROMPT 39 3 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 19
BEGIN
KEY "CONTRIBUTO VERSATO"
PROMPT 54 3 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 20
BEGIN
KEY "INTERESSI"
PROMPT 70 3 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 21
BEGIN
KEY "SOPRATTASSA SU CSSN"
PROMPT 85 3 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 730
BEGIN
KEY "NUMERO MOD.730"
PROMPT 20 5 ""
PICTURE "######"
FIELD 36->N730ALLA2
END
STRINGA 2
BEGIN
KEY "FIRMA"
PROMPT 83 9 ""
FIELD 106@->RAGSOC
END
END
END
USE 57
JOIN 45 INTO CODDITTA=CODDITTA CODDIP=CODDIP
JOIN %CAF ALIAS 104 INTO CODTAB==CODCAAF
JOIN 9 INTO CODDITTA=CODDITTA
JOIN 6 TO 9 ALIAS 106 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 8 TO 106@ ALIAS 108 INTO CODANAGR=CODANAGR
JOIN 13 TO 108@ ALIAS 113 INTO COM==COMNASC
JOIN 13 TO 106@ ALIAS 213 INTO COM==COMRF(COMRES)
JOIN 36 INTO CODDITTA=CODDITTA
END
DESCRIPTION
BEGIN
57->* "Quadro A2 770"
45->* "Anagrafica dei dipendenti"
104@->* "Tabella CAAF"
9->* "Ditte"
106@->* "Anagrafica persone fisiche e giuridiche (ditta)"
108@->* "Anagrafica persone fisiche (ditta)"
113@->* "Comuni DITTA (nascita)"
213@->* "Comuni DITTA (residenza)"
END
GENERAL
BEGIN
OFFSET 0 0
FONT "Courier New"
SIZE 11
CARATTERE "X"
INIZIO_POS 3 2
FINE_POS 131
GRID "+++++++++-|"
END
SECTION HEADER FIRST 28
LISTA 1
BEGIN
KEY "Tipo anagrafica"
FLAGS "H"
FIELD 106@->TIPOA
ITEM "F|Fisica" MESSAGE SHOW,1@|HIDE,2@
ITEM "G|Giuridica" MESSAGE SHOW,2@|HIDE,1@
END
STRINGA 2
BEGIN
KEY "CODICE FISCALE"
PROMPT 3 12 ""
FIELD 106@->COFI
END
STRINGA 3
BEGIN
KEY "RAGIONE SOCIALE"
PROMPT 40 12 ""
GROUP 2
FIELD 106@->RAGSOC
END
STRINGA 4
BEGIN
KEY "COGNOME"
PROMPT 40 12 ""
GROUP 1
FIELD 106@->RAGSOC[1,30]
END
STRINGA 5
BEGIN
KEY "NOME"
PROMPT 17 14 ""
GROUP 1
FIELD 106@->RAGSOC[31,50]
END
STRINGA 6
BEGIN
KEY "SESSO"
PROMPT 59 14 ""
GROUP 1
FIELD 108@->SESSO
END
STRINGA 7
BEGIN
KEY "DATA DI NASCITA"
PROMPT 67 14 ""
GROUP 1
FIELD 108@->DATANASC
END
STRINGA 8
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 84 14 ""
GROUP 1
FIELD 113@->DENCOM
END
STRINGA 9
BEGIN
KEY "PROV. DI NASCITA"
PROMPT 125 14 ""
GROUP 1
FIELD 113@->PROVCOM
END
STRINGA 10
BEGIN
KEY "COMUNE DI RES.FISCALE"
PROMPT 17 16 ""
FIELD 213@->DENCOM
END
STRINGA 11
BEGIN
KEY "PROV DI RES.FISCALE"
PROMPT 59 16 ""
FIELD 213@->PROVCOM
END
STRINGA 12
BEGIN
KEY "VIA di RES."
PROMPT 66 16 ""
FIELD 106@->INDRF
FIELD 106@->INDRES
END
STRINGA 15
BEGIN
KEY "NUM. CIVICO di RES."
PROMPT 104 16 ""
FIELD 106@->CIVRF
FIELD 106@->CIVRES
END
STRINGA 16
BEGIN
KEY "CAP"
PROMPT 123 16 ""
FIELD 106@->CAPRF
FIELD 106@->CAPRES
END
STRINGA 13
BEGIN
KEY "CODICE FISCALE DEL SOGGETTO DICHIARANTE"
PROMPT 87 19 ""
END
NUMERO 14
BEGIN
KEY "NUM. FOGLIO"
PROMPT 125 22 ""
END
END
SECTION BODY ODD 10
STRINGA 1
BEGIN
KEY "COD.FIS"
PROMPT 11 1 ""
FIELD 45->CODFI
END
STRINGA 2
BEGIN
KEY "COGNOME"
PROMPT 43 1 ""
FIELD 45->COGNOME
END
STRINGA 3
BEGIN
KEY "NOME"
PROMPT 80 1 ""
FIELD 45->NOME
END
DATA 4
BEGIN
KEY "DATA NASCITA"
PROMPT 114 1 ""
FIELD 45->DATANA
FORMAT "1444-"
END
STRINGA 5
BEGIN
KEY "SESSO"
PROMPT 128 1 ""
FIELD 45->SESSO
END
STRINGA 6
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 11 3 ""
FIELD 45->COMUNENA
END
STRINGA 7
BEGIN
KEY "PROV. DI NASCITA"
PROMPT 48 3 ""
FIELD 45->PROVNA
END
STRINGA 8
BEGIN
KEY "CONGUAGLI NON EFFETTUATI"
PROMPT 16 5 ""
FIELD 57->CONEFF
END
STRINGA 9
BEGIN
KEY "RETTIFICA CONGUAGLIO"
PROMPT 31 5 ""
FIELD 57->RETCON
END
NUMERO 10
BEGIN
KEY "IMPOSTA RIMBORSATA"
PROMPT 39 5 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->10
FIELD 57->SIRPEFRIMB
END
NUMERO 11
BEGIN
KEY "IMPOSTA VERSATA"
PROMPT 54 5 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->11
FIELD 57->VIRPEF
END
NUMERO 12
BEGIN
KEY "INTERESSI"
PROMPT 70 5 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->12
FIELD 57->INTIRPEF
END
NUMERO 13
BEGIN
KEY "IMPOSTA VERSATA"
PROMPT 85 5 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->13
FIELD 57->AIRPEFIV
END
NUMERO 14
BEGIN
KEY "INTERESSI"
PROMPT 100 5 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->14
FIELD 57->AIRPEFINT
END
NUMERO 15
BEGIN
KEY "SOPRATTASSA SU IRPEF"
PROMPT 115 5 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->15
FIELD 57->STASSA15
END
NUMERO 16
BEGIN
KEY "CONTRIBUTO A RIMBORSO"
PROMPT 8 7 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->16
FIELD 57->CONTR16
END
NUMERO 17
BEGIN
KEY "CONTRIBUTO VERSATO"
PROMPT 23 7 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->17
FIELD 57->CONTRVER
END
NUMERO 18
BEGIN
KEY "INTERESSI"
PROMPT 39 7 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->18
FIELD 57->INTER18
END
NUMERO 19
BEGIN
KEY "CONTRIBUTO VERSATO"
PROMPT 54 7 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->19
FIELD 57->CONTV19
END
NUMERO 20
BEGIN
KEY "INTERESSI"
PROMPT 70 7 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->20
FIELD 57->INTE20
END
NUMERO 21
BEGIN
KEY "SOPRATTASSA SU CSSN"
PROMPT 85 7 ""
PICTURE "###.###.###.###^^^"
MESSAGE ADD,FL->21
FIELD 57->SOPRAT21
END
NUMERO 22
BEGIN
KEY "MOD. 730/95 NON LIQUIDABILE"
PROMPT 108 7 ""
FIELD 57->M730NLIQ
END
STRINGA 23
BEGIN
KEY "CODICE FISCALE CAAF"
PROMPT 11 9 ""
FIELD 104@->S1
END
STRINGA 24
BEGIN
KEY "DENOMINAZIONE CAAF"
PROMPT 44 9 ""
FIELD 104@->S0
END
NUMERO 25
BEGIN
KEY "NUMERO ISCRIZIONE ALBO"
PROMPT 125 9 ""
PICTURE "#####"
FIELD 104@->I1
END
END
SECTION FOOTER LAST 4
NUMERO 10
BEGIN
KEY "IMPOSTA RIMBORSATA"
PROMPT 39 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 11
BEGIN
KEY "IMPOSTA VERSATA"
PROMPT 54 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 12
BEGIN
KEY "INTERESSI"
PROMPT 70 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 13
BEGIN
KEY "IMPOSTA VERSATA"
PROMPT 85 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 14
BEGIN
KEY "INTERESSI"
PROMPT 100 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 15
BEGIN
KEY "SOPRATTASSA SU IRPEF"
PROMPT 115 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 16
BEGIN
KEY "CONTRIBUTO A RIMBORSO"
PROMPT 8 3 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 17
BEGIN
KEY "CONTRIBUTO VERSATO"
PROMPT 23 3 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 18
BEGIN
KEY "INTERESSI"
PROMPT 39 3 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 19
BEGIN
KEY "CONTRIBUTO VERSATO"
PROMPT 54 3 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 20
BEGIN
KEY "INTERESSI"
PROMPT 70 3 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 21
BEGIN
KEY "SOPRATTASSA SU CSSN"
PROMPT 85 3 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 730
BEGIN
KEY "NUMERO MOD.730"
PROMPT 20 5 ""
PICTURE "######"
FIELD 36->N730ALLA2
END
STRINGA 2
BEGIN
KEY "FIRMA"
PROMPT 83 9 ""
FIELD 106@->RAGSOC
END
END
END

View File

@ -1,432 +1,432 @@
USE 58
JOIN 45 INTO CODDITTA=CODDITTA CODDIP=CODDIP
JOIN 9 INTO CODDITTA=CODDITTA
JOIN 102 INTO CODDITTA=CODDITTA
JOIN 6 TO 9 ALIAS 106 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 8 TO 106@ ALIAS 108 INTO CODANAGR=CODANAGR
JOIN 13 TO 108@ ALIAS 113 INTO COM==COMNASC
JOIN 13 TO 106@ ALIAS 213 INTO COM==COMRF(COMRES)
JOIN 37 INTO CODDITTA=CODDITTA
END
DESCRIPTION
BEGIN
58->* "Quadro A3 770"
45->* "Anagrafica dei dipendenti"
9->* "Ditte"
106@->* "Anagrafica persone fisiche e giuridiche (ditta)"
108@->* "Anagrafica persone fisiche (ditta)"
113@->* "Comuni DITTA (nascita)"
213@->* "Comuni DITTA (residenza)"
END
GENERAL
BEGIN
OFFSET 0 0
FONT "Courier New"
SIZE 11
CARATTERE "X"
INIZIO_POS 3 2
FINE_POS 131
GRID "+++++++++-|"
END
SECTION HEADER FIRST 28
LISTA 100
BEGIN
KEY "Ditta trasformata"
FLAGS "H"
ITEM "1|Normale" MESSAGE ENABLE,10@|DISABLE,20@
ITEM "2|Trasformata" MESSAGE ENABLE,20@|DISABLE,10@
FIELD 58->NPROG
END
LISTA 1
BEGIN
KEY "Tipo anagrafica"
FLAGS "H"
FIELD 106@->TIPOA
ITEM "F|Fisica" MESSAGE SHOW,11@|HIDE,12@
ITEM "G|Giuridica" MESSAGE SHOW,12@|HIDE,11@
GROUP 10
END
STRINGA 2
BEGIN
KEY "CODICE FISCALE"
PROMPT 3 13 ""
FIELD 106@->COFI
GROUP 10
END
STRINGA 3
BEGIN
KEY "RAGIONE SOCIALE"
PROMPT 40 13 ""
FIELD 106@->RAGSOC
GROUP 10 12
END
STRINGA 4
BEGIN
KEY "COGNOME"
PROMPT 40 13 ""
FIELD 106@->RAGSOC[1,30]
GROUP 10 11
END
STRINGA 5
BEGIN
KEY "NOME"
PROMPT 17 15 ""
FIELD 106@->RAGSOC[31,50]
GROUP 10 11
END
STRINGA 6
BEGIN
KEY "SESSO"
PROMPT 59 15 ""
FIELD 108@->SESSO
GROUP 10 11
END
STRINGA 7
BEGIN
KEY "DATA DI NASCITA"
PROMPT 67 15 ""
FIELD 108@->DATANASC
GROUP 10 11
END
STRINGA 8
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 84 15 ""
FIELD 113@->DENCOM
GROUP 10 11
END
STRINGA 9
BEGIN
KEY "PROV. DI NASCITA"
PROMPT 126 15 ""
FIELD 113@->PROVCOM
GROUP 10 11
END
STRINGA 10
BEGIN
KEY "COMUNE DI RES.FISCALE"
PROMPT 17 17 ""
FIELD 213@->DENCOM
GROUP 10
END
STRINGA 11
BEGIN
KEY "PROV DI RES.FISCALE"
PROMPT 59 17 ""
FIELD 213@->PROVCOM
GROUP 10
END
STRINGA 12
BEGIN
KEY "VIA di RES."
PROMPT 67 17 ""
FIELD 106@->INDRF
FIELD 106@->INDRES
GROUP 10
END
STRINGA 15
BEGIN
KEY "NUM. CIVICO di RES."
PROMPT 104 17 ""
FIELD 106@->CIVRF
FIELD 106@->CIVRES
GROUP 10
END
STRINGA 16
BEGIN
KEY "CAP"
PROMPT 123 17 ""
FIELD 106@->CAPRF
FIELD 106@->CAPRES
GROUP 10
END
LISTA 101
BEGIN
KEY "Tipo anagrafica"
FLAGS "H"
FIELD 106@->TIPOA
ITEM "F|Fisica" MESSAGE SHOW,21@|HIDE,22@
ITEM "G|Giuridica" MESSAGE SHOW,22@|HIDE,21@
GROUP 20
END
STRINGA 102
BEGIN
KEY "CODICE FISCALE"
PROMPT 3 12 ""
FIELD 102->CODFISC
GROUP 20
END
STRINGA 103
BEGIN
KEY "RAGIONE SOCIALE"
PROMPT 39 12 ""
FIELD 102->DENOMIN
GROUP 20 22
END
STRINGA 104
BEGIN
KEY "COGNOME"
PROMPT 39 12 ""
FIELD 102->DENOMIN
GROUP 20 21
END
STRINGA 105
BEGIN
KEY "NOME"
PROMPT 17 14 ""
FIELD 102->NOME
GROUP 20 21
END
STRINGA 106
BEGIN
KEY "SESSO"
PROMPT 58 14 ""
FIELD 102->SESSO
GROUP 20 21
END
STRINGA 107
BEGIN
KEY "DATA DI NASCITA"
PROMPT 67 14 ""
FIELD 102->DATANAS
GROUP 20 21
END
STRINGA 108
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 84 14 ""
FIELD 102->COMNAS
GROUP 20 21
END
STRINGA 109
BEGIN
KEY "PROV. DI NASCITA"
PROMPT 125 14 ""
FIELD 102->PROVNAS
GROUP 20 21
END
STRINGA 110
BEGIN
KEY "COMUNE DI RES.FISCALE"
PROMPT 17 16 ""
FIELD 102->COMDOM
GROUP 20
END
STRINGA 111
BEGIN
KEY "PROV DI RES.FISCALE"
PROMPT 59 16 ""
FIELD 102->PROVDOM
GROUP 20
END
STRINGA 112
BEGIN
KEY "VIA di RES."
PROMPT 66 16 ""
FIELD 102->INDDOM
GROUP 20
END
STRINGA 13
BEGIN
KEY "CODICE FISCALE DEL SOGGETTO DICHIARANTE"
PROMPT 87 20 ""
END
NUMERO 15
BEGIN
KEY "CONSISTENZA BASE OCCUPAZIONALE AL 12/06/94"
PROMPT 56 22 ""
PICTURE "###.###"
FIELD 37->CONSBASOCC
END
NUMERO 16
BEGIN
KEY "LAVORATORI DIPENDENTI IN MOBILITA'"
PROMPT 56 23 ""
PICTURE "###.###"
FIELD 37->LAVDIPCIN
END
DATA 17
BEGIN
KEY "PERIODO D'IMPOSTA (DAL)"
PROMPT 96 23 ""
FORMAT "1442 "
FIELD 37->PIMPINI
END
DATA 18
BEGIN
KEY "PERIODO D'IMPOSTA (AL)"
PROMPT 117 23 ""
FORMAT "1442 "
FIELD 37->PIMPFINE
END
NUMERO 14
BEGIN
KEY "NUM. FOGLIO"
PROMPT 125 25 ""
END
END
SECTION BODY ODD 6
STRINGA 1
BEGIN
KEY "COD.FIS"
PROMPT 11 1 ""
FIELD 45->CODFI
END
STRINGA 2
BEGIN
KEY "COGNOME"
PROMPT 42 1 ""
FIELD 45->COGNOME
END
STRINGA 3
BEGIN
KEY "NOME"
PROMPT 79 1 ""
FIELD 45->NOME
END
DATA 4
BEGIN
KEY "DATA NASCITA"
PROMPT 114 1 ""
FIELD 45->DATANA
FORMAT "1444-"
END
STRINGA 5
BEGIN
KEY "SESSO"
PROMPT 128 1 ""
FIELD 45->SESSO
END
STRINGA 6
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 11 3 ""
FIELD 45->COMUNENA
END
STRINGA 7
BEGIN
KEY "PROV DI NASCITA"
PROMPT 47 3 ""
FIELD 45->PROVNA
END
DATA 8
BEGIN
KEY "INIZIO RAPPORTO A TEMPO INDETERMINATO"
PROMPT 11 5 ""
FIELD 58->DIRAPTI
FORMAT "1444-"
PICTURE "## ^ ##^^^##"
END
NUMERO 9
BEGIN
KEY "NUMERO GIORNI IN INCREMENTO"
PROMPT 35 5 ""
PICTURE "######"
FIELD 58->NGINC15
END
NUMERO 10
BEGIN
KEY "REDDITO CORRISPOSTO"
PROMPT 43 5 ""
MESSAGE ADD,FL->10
PICTURE "###.###.###.###^^^"
FIELD 58->REDCOR16
END
NUMERO 11
BEGIN
KEY "NUMERO GIORNI IN INCREMENTO"
PROMPT 69 5 ""
PICTURE "######"
FIELD 58->NGINC17
END
NUMERO 12
BEGIN
KEY "REDDITO CORRISPOSTO"
PROMPT 77 5 ""
MESSAGE ADD,FL->12
PICTURE "###.###.###.###^^^"
FIELD 58->REDCOR18
END
END
SECTION FOOTER LAST 2
NUMERO 10
BEGIN
KEY "REDDITO CORRISPOSTO"
PROMPT 43 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 12
BEGIN
KEY "REDDITO CORRISPOSTO"
PROMPT 77 1 ""
PICTURE "###.###.###.###^^^"
END
STRINGA 2
BEGIN
KEY "FIRMA"
PROMPT 83 4 ""
FIELD 106@->RAGSOC
END
END
END
USE 58
JOIN 45 INTO CODDITTA=CODDITTA CODDIP=CODDIP
JOIN 9 INTO CODDITTA=CODDITTA
JOIN 102 INTO CODDITTA=CODDITTA
JOIN 6 TO 9 ALIAS 106 INTO TIPOA=TIPOA CODANAGR=CODANAGR
JOIN 8 TO 106@ ALIAS 108 INTO CODANAGR=CODANAGR
JOIN 13 TO 108@ ALIAS 113 INTO COM==COMNASC
JOIN 13 TO 106@ ALIAS 213 INTO COM==COMRF(COMRES)
JOIN 37 INTO CODDITTA=CODDITTA
END
DESCRIPTION
BEGIN
58->* "Quadro A3 770"
45->* "Anagrafica dei dipendenti"
9->* "Ditte"
106@->* "Anagrafica persone fisiche e giuridiche (ditta)"
108@->* "Anagrafica persone fisiche (ditta)"
113@->* "Comuni DITTA (nascita)"
213@->* "Comuni DITTA (residenza)"
END
GENERAL
BEGIN
OFFSET 0 0
FONT "Courier New"
SIZE 11
CARATTERE "X"
INIZIO_POS 3 2
FINE_POS 131
GRID "+++++++++-|"
END
SECTION HEADER FIRST 28
LISTA 100
BEGIN
KEY "Ditta trasformata"
FLAGS "H"
ITEM "1|Normale" MESSAGE ENABLE,10@|DISABLE,20@
ITEM "2|Trasformata" MESSAGE ENABLE,20@|DISABLE,10@
FIELD 58->NPROG
END
LISTA 1
BEGIN
KEY "Tipo anagrafica"
FLAGS "H"
FIELD 106@->TIPOA
ITEM "F|Fisica" MESSAGE SHOW,11@|HIDE,12@
ITEM "G|Giuridica" MESSAGE SHOW,12@|HIDE,11@
GROUP 10
END
STRINGA 2
BEGIN
KEY "CODICE FISCALE"
PROMPT 3 12 ""
FIELD 106@->COFI
GROUP 10
END
STRINGA 3
BEGIN
KEY "RAGIONE SOCIALE"
PROMPT 40 12 ""
FIELD 106@->RAGSOC
GROUP 10 12
END
STRINGA 4
BEGIN
KEY "COGNOME"
PROMPT 40 12 ""
FIELD 106@->RAGSOC[1,30]
GROUP 10 11
END
STRINGA 5
BEGIN
KEY "NOME"
PROMPT 17 14 ""
FIELD 106@->RAGSOC[31,50]
GROUP 10 11
END
STRINGA 6
BEGIN
KEY "SESSO"
PROMPT 59 14 ""
FIELD 108@->SESSO
GROUP 10 11
END
STRINGA 7
BEGIN
KEY "DATA DI NASCITA"
PROMPT 67 14 ""
FIELD 108@->DATANASC
GROUP 10 11
END
STRINGA 8
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 84 14 ""
FIELD 113@->DENCOM
GROUP 10 11
END
STRINGA 9
BEGIN
KEY "PROV. DI NASCITA"
PROMPT 126 14 ""
FIELD 113@->PROVCOM
GROUP 10 11
END
STRINGA 10
BEGIN
KEY "COMUNE DI RES.FISCALE"
PROMPT 17 16 ""
FIELD 213@->DENCOM
GROUP 10
END
STRINGA 11
BEGIN
KEY "PROV DI RES.FISCALE"
PROMPT 59 16 ""
FIELD 213@->PROVCOM
GROUP 10
END
STRINGA 12
BEGIN
KEY "VIA di RES."
PROMPT 67 16 ""
FIELD 106@->INDRF
FIELD 106@->INDRES
GROUP 10
END
STRINGA 15
BEGIN
KEY "NUM. CIVICO di RES."
PROMPT 104 16 ""
FIELD 106@->CIVRF
FIELD 106@->CIVRES
GROUP 10
END
STRINGA 16
BEGIN
KEY "CAP"
PROMPT 123 16 ""
FIELD 106@->CAPRF
FIELD 106@->CAPRES
GROUP 10
END
LISTA 101
BEGIN
KEY "Tipo anagrafica"
FLAGS "H"
FIELD 106@->TIPOA
ITEM "F|Fisica" MESSAGE SHOW,21@|HIDE,22@
ITEM "G|Giuridica" MESSAGE SHOW,22@|HIDE,21@
GROUP 20
END
STRINGA 102
BEGIN
KEY "CODICE FISCALE"
PROMPT 3 12 ""
FIELD 102->CODFISC
GROUP 20
END
STRINGA 103
BEGIN
KEY "RAGIONE SOCIALE"
PROMPT 39 12 ""
FIELD 102->DENOMIN
GROUP 20 22
END
STRINGA 104
BEGIN
KEY "COGNOME"
PROMPT 39 12 ""
FIELD 102->DENOMIN
GROUP 20 21
END
STRINGA 105
BEGIN
KEY "NOME"
PROMPT 17 14 ""
FIELD 102->NOME
GROUP 20 21
END
STRINGA 106
BEGIN
KEY "SESSO"
PROMPT 58 14 ""
FIELD 102->SESSO
GROUP 20 21
END
STRINGA 107
BEGIN
KEY "DATA DI NASCITA"
PROMPT 67 14 ""
FIELD 102->DATANAS
GROUP 20 21
END
STRINGA 108
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 84 14 ""
FIELD 102->COMNAS
GROUP 20 21
END
STRINGA 109
BEGIN
KEY "PROV. DI NASCITA"
PROMPT 125 14 ""
FIELD 102->PROVNAS
GROUP 20 21
END
STRINGA 110
BEGIN
KEY "COMUNE DI RES.FISCALE"
PROMPT 17 16 ""
FIELD 102->COMDOM
GROUP 20
END
STRINGA 111
BEGIN
KEY "PROV DI RES.FISCALE"
PROMPT 59 16 ""
FIELD 102->PROVDOM
GROUP 20
END
STRINGA 112
BEGIN
KEY "VIA di RES."
PROMPT 66 16 ""
FIELD 102->INDDOM
GROUP 20
END
STRINGA 13
BEGIN
KEY "CODICE FISCALE DEL SOGGETTO DICHIARANTE"
PROMPT 87 20 ""
END
NUMERO 15
BEGIN
KEY "CONSISTENZA BASE OCCUPAZIONALE AL 12/06/94"
PROMPT 56 22 ""
PICTURE "###.###"
FIELD 37->CONSBASOCC
END
NUMERO 16
BEGIN
KEY "LAVORATORI DIPENDENTI IN MOBILITA'"
PROMPT 56 23 ""
PICTURE "###.###"
FIELD 37->LAVDIPCIN
END
DATA 17
BEGIN
KEY "PERIODO D'IMPOSTA (DAL)"
PROMPT 96 23 ""
FORMAT "1442 "
FIELD 37->PIMPINI
END
DATA 18
BEGIN
KEY "PERIODO D'IMPOSTA (AL)"
PROMPT 117 23 ""
FORMAT "1442 "
FIELD 37->PIMPFINE
END
NUMERO 14
BEGIN
KEY "NUM. FOGLIO"
PROMPT 125 25 ""
END
END
SECTION BODY ODD 6
STRINGA 1
BEGIN
KEY "COD.FIS"
PROMPT 11 1 ""
FIELD 45->CODFI
END
STRINGA 2
BEGIN
KEY "COGNOME"
PROMPT 42 1 ""
FIELD 45->COGNOME
END
STRINGA 3
BEGIN
KEY "NOME"
PROMPT 79 1 ""
FIELD 45->NOME
END
DATA 4
BEGIN
KEY "DATA NASCITA"
PROMPT 114 1 ""
FIELD 45->DATANA
FORMAT "1444-"
END
STRINGA 5
BEGIN
KEY "SESSO"
PROMPT 128 1 ""
FIELD 45->SESSO
END
STRINGA 6
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 11 3 ""
FIELD 45->COMUNENA
END
STRINGA 7
BEGIN
KEY "PROV DI NASCITA"
PROMPT 47 3 ""
FIELD 45->PROVNA
END
DATA 8
BEGIN
KEY "INIZIO RAPPORTO A TEMPO INDETERMINATO"
PROMPT 11 5 ""
FIELD 58->DIRAPTI
FORMAT "1444-"
PICTURE "## ^ ##^^^##"
END
NUMERO 9
BEGIN
KEY "NUMERO GIORNI IN INCREMENTO"
PROMPT 35 5 ""
PICTURE "######"
FIELD 58->NGINC15
END
NUMERO 10
BEGIN
KEY "REDDITO CORRISPOSTO"
PROMPT 43 5 ""
MESSAGE ADD,FL->10
PICTURE "###.###.###.###^^^"
FIELD 58->REDCOR16
END
NUMERO 11
BEGIN
KEY "NUMERO GIORNI IN INCREMENTO"
PROMPT 69 5 ""
PICTURE "######"
FIELD 58->NGINC17
END
NUMERO 12
BEGIN
KEY "REDDITO CORRISPOSTO"
PROMPT 77 5 ""
MESSAGE ADD,FL->12
PICTURE "###.###.###.###^^^"
FIELD 58->REDCOR18
END
END
SECTION FOOTER LAST 2
NUMERO 10
BEGIN
KEY "REDDITO CORRISPOSTO"
PROMPT 43 1 ""
PICTURE "###.###.###.###^^^"
END
NUMERO 12
BEGIN
KEY "REDDITO CORRISPOSTO"
PROMPT 77 1 ""
PICTURE "###.###.###.###^^^"
END
STRINGA 2
BEGIN
KEY "FIRMA"
PROMPT 83 4 ""
FIELD 106@->RAGSOC
END
END
END

File diff suppressed because it is too large Load Diff

View File

@ -37,7 +37,7 @@ BEGIN
FI 131
END
SECTION HEADER FIRST 31
SECTION HEADER FIRST 19
LISTA 9
BEGIN
@ -50,14 +50,14 @@ END
STRINGA 1
BEGIN
KEY "CODICE FISCALE"
PROMPT 4 12 ""
PROMPT 4 1 ""
FIELD 116@->COFI
END
STRINGA 2
BEGIN
KEY "RAGIONE SOCIALE"
PROMPT 39 12 ""
PROMPT 39 1 ""
FIELD 116@->RAGSOC
GROUP 2
END
@ -65,7 +65,7 @@ END
STRINGA 3
BEGIN
KEY "COGNOME"
PROMPT 39 12 ""
PROMPT 39 1 ""
FIELD 116@->RAGSOC[1,30]
GROUP 1
END
@ -73,7 +73,7 @@ END
STRINGA 4
BEGIN
KEY "NOME"
PROMPT 17 14 ""
PROMPT 17 3 ""
FIELD 116@->RAGSOC[31,50]
GROUP 1
END
@ -81,7 +81,7 @@ END
STRINGA 5
BEGIN
KEY "SESSO"
PROMPT 58 14 ""
PROMPT 58 3 ""
FIELD 118@->SESSO
GROUP 1
END
@ -89,7 +89,7 @@ END
STRINGA 6
BEGIN
KEY "DATA DI NASCITA"
PROMPT 66 14 ""
PROMPT 66 3 ""
FIELD 118@->DATANASC
GROUP 1
END
@ -97,7 +97,7 @@ END
STRINGA 7
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 84 14 ""
PROMPT 84 3 ""
FIELD 113@->DENCOM
GROUP 1
END
@ -105,7 +105,7 @@ END
STRINGA 8
BEGIN
KEY "PROV. DI NASCITA"
PROMPT 126 14 ""
PROMPT 126 3 ""
FIELD 113@->PROVCOM
GROUP 1
END
@ -113,21 +113,21 @@ END
STRINGA 10
BEGIN
KEY "COMUNE DI RES.FISCALE"
PROMPT 17 16 ""
PROMPT 17 5 ""
FIELD 213@->DENCOM
END
STRINGA 11
BEGIN
KEY "PROV DI RES.FISCALE"
PROMPT 59 16 ""
PROMPT 59 5 ""
FIELD 213@->PROVCOM
END
STRINGA 12
BEGIN
KEY "VIA di RES."
PROMPT 66 16 ""
PROMPT 66 5 ""
FIELD 116@->INDRF
FIELD 116@->INDRES
END
@ -135,7 +135,7 @@ END
STRINGA 15
BEGIN
KEY "NUM. CIVICO di RES."
PROMPT 102 16 ""
PROMPT 102 5 ""
FIELD 116@->CIVRF
FIELD 116@->CIVRES
END
@ -143,7 +143,7 @@ END
STRINGA 16
BEGIN
KEY "CAP"
PROMPT 122 16 ""
PROMPT 122 5 ""
FIELD 116@->CAPRF
FIELD 116@->CAPRES
END
@ -151,13 +151,13 @@ END
STRINGA 13
BEGIN
KEY "CODICE FISCALE DICHIARANTE"
PROMPT 118 19 ""
PROMPT 118 8 ""
END
NUMBER 14
BEGIN
KEY "NUM. FOGLIO"
PROMPT 123 22 ""
PROMPT 123 11 ""
END
END

View File

@ -41,14 +41,14 @@ END
STRINGA 1
BEGIN
KEY "CODICE FISCALE"
PROMPT 3 12 ""
PROMPT 3 10 ""
FIELD 116@->COFI
END
STRINGA 2
BEGIN
KEY "RAGIONE SOCIALE"
PROMPT 39 12 ""
PROMPT 39 10 ""
FIELD 116@->RAGSOC
GROUP 2
END
@ -56,7 +56,7 @@ END
STRINGA 3
BEGIN
KEY "COGNOME"
PROMPT 39 12 ""
PROMPT 39 10 ""
FIELD 116@->RAGSOC[1,30]
GROUP 1
END
@ -64,7 +64,7 @@ END
STRINGA 4
BEGIN
KEY "NOME"
PROMPT 17 14 ""
PROMPT 17 12 ""
FIELD 116@->RAGSOC[31,50]
GROUP 1
END
@ -72,7 +72,7 @@ END
STRINGA 5
BEGIN
KEY "SESSO"
PROMPT 58 14 ""
PROMPT 58 12 ""
FIELD 118@->SESSO
GROUP 1
END
@ -80,7 +80,7 @@ END
STRINGA 6
BEGIN
KEY "DATA DI NASCITA"
PROMPT 66 14 ""
PROMPT 66 12 ""
FIELD 118@->DATANASC
GROUP 1
END
@ -88,7 +88,7 @@ END
STRINGA 7
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 83 14 ""
PROMPT 83 12 ""
FIELD 113@->DENCOM
GROUP 1
END
@ -96,7 +96,7 @@ END
STRINGA 8
BEGIN
KEY "PROV. DI NASCITA"
PROMPT 125 14 ""
PROMPT 125 12 ""
FIELD 113@->PROVCOM
GROUP 1
END
@ -104,21 +104,21 @@ END
STRINGA 10
BEGIN
KEY "COMUNE DI RES.FISCALE"
PROMPT 17 16 ""
PROMPT 17 14 ""
FIELD 213@->DENCOM
END
STRINGA 11
BEGIN
KEY "PROV DI RES.FISCALE"
PROMPT 59 16 ""
PROMPT 59 14 ""
FIELD 213@->PROVCOM
END
STRINGA 12
BEGIN
KEY "VIA di RES."
PROMPT 67 16 ""
PROMPT 67 14 ""
FIELD 116@->INDRF
FIELD 116@->INDRES
FLAGS "H"
@ -128,7 +128,7 @@ END
STRINGA 15
BEGIN
KEY "NUM. CIVICO di RES."
PROMPT 103 16 ""
PROMPT 103 14 ""
FIELD 116@->CIVRF
FIELD 116@->CIVRES
FLAGS "H"
@ -138,13 +138,13 @@ END
STRINGA 17
BEGIN
KEY "VIA + NUM CIV. DI RES."
PROMPT 67 16 ""
PROMPT 67 14 ""
END
STRINGA 16
BEGIN
KEY "CAP"
PROMPT 124 16 ""
PROMPT 124 14 ""
FIELD 116@->CAPRF
FIELD 116@->CAPRES
END
@ -152,13 +152,13 @@ END
STRINGA 13
BEGIN
KEY "CODICE FISCALE DICHIARANTE"
PROMPT 105 19 ""
PROMPT 105 17 ""
END
NUMBER 14
BEGIN
KEY "NUM. FOGLIO"
PROMPT 125 21 ""
PROMPT 125 19 ""
FLAGS "H"
END

View File

@ -23,7 +23,7 @@ BEGIN
FI 131
END
SECTION HEADER FIRST 18
SECTION HEADER FIRST 10
LISTA 1
BEGIN
@ -37,22 +37,22 @@ END
STRINGA 2
BEGIN
KEY "CODICE FISCALE"
PROMPT 21 10 ""
PROMPT 21 1 ""
FIELD 106@->COFI
END
STRINGA 3
BEGIN
KEY "RAGIONE SOCIALE"
PROMPT 51 10 ""
KEY "RAGIONE SOCIALE (o cognome)"
PROMPT 51 1 ""
GROUP 2
FIELD 106@->RAGSOC
END
STRINGA 4
BEGIN
KEY "COGNOME"
PROMPT 51 10 ""
KEY "COGNOME (o ragsoc)"
PROMPT 51 1 ""
GROUP 1
FIELD 106@->RAGSOC[1,30]
END
@ -60,7 +60,7 @@ END
STRINGA 5
BEGIN
KEY "NOME"
PROMPT 21 12 ""
PROMPT 21 4 ""
GROUP 1
FIELD 106@->RAGSOC[31,50]
END
@ -68,7 +68,8 @@ END
LISTA 6
BEGIN
KEY "SESSO M"
PROMPT 53 12 ""
PROMPT 53 4 ""
ITEM " | "
ITEM "M|X"
ITEM "F|"
FIELD 108@->SESSO
@ -78,7 +79,8 @@ END
LISTA 7
BEGIN
KEY "SESSO F"
PROMPT 62 12 ""
PROMPT 62 4 ""
ITEM " | "
ITEM "M|"
ITEM "F|X"
FIELD 108@->SESSO
@ -88,7 +90,7 @@ END
STRINGA 8
BEGIN
KEY "DATA DI NASCITA"
PROMPT 68 12 ""
PROMPT 68 4 ""
GROUP 1
FIELD 108@->DATANASC
PICTURE "## ^ ## ^^###"
@ -97,7 +99,7 @@ END
STRINGA 9
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 85 12 ""
PROMPT 85 4 ""
GROUP 1
FIELD 113@->DENCOM
END
@ -105,7 +107,7 @@ END
STRINGA 10
BEGIN
KEY "PROV. DI NASCITA"
PROMPT 126 12 ""
PROMPT 129 4 ""
GROUP 1
FIELD 113@->PROVCOM
END
@ -113,48 +115,48 @@ END
STRINGA 11
BEGIN
KEY "CODICE FISCALE DEL SOGGETTO DICHIARANTE"
PROMPT 56 14 ""
PROMPT 56 6 ""
END
STRINGA 12
BEGIN
KEY "Cod.Conc.1"
PROMPT 41 16 ""
PROMPT 41 9 ""
FIELD 37->L0CCONC1
END
STRINGA 13
BEGIN
KEY "Cod.Conc.2"
PROMPT 53 16 ""
PROMPT 53 9 ""
FIELD 37->L0CCONC2
END
STRINGA 14
BEGIN
KEY "Cod.Conc.3"
PROMPT 63 16 ""
PROMPT 63 9 ""
FIELD 37->L0CCONC3
END
NUMERO 15
BEGIN
KEY "Cod.Tes.1"
PROMPT 102 16 ""
PROMPT 102 9 ""
FIELD 37->L0CTES1
END
NUMERO 16
BEGIN
KEY "Cod.Tes.2"
PROMPT 114 16 ""
PROMPT 114 9 ""
FIELD 37->L0CTES2
END
NUMERO 17
BEGIN
KEY "Cod.Tes.3"
PROMPT 126 16 ""
PROMPT 126 9 ""
FIELD 37->L0CTES3
END
@ -194,14 +196,18 @@ BEGIN
MESSAGE ADD,FL->2
END
NUMERO 5
LISTA 5
BEGIN
KEY "RSS"
PROMPT 100 1 ""
PROMPT 100 1 ""
ITEM " | "
ITEM "1|VA"
ITEM "2|SA"
ITEM "3|SI"
FIELD 42->QLRSS
END
NUMERO 6
STRINGA 6
BEGIN
KEY "Note"
PROMPT 111 1 ""
@ -229,6 +235,13 @@ BEGIN
FIELD 42->QLCT
END
STRINGA 10
BEGIN
KEY "Art.Bil."
PROMPT 54 3 ""
FIELD 42->QLAB
END
STRINGA 11
BEGIN
KEY "DATA VERS."
@ -248,7 +261,7 @@ STRINGA 13
BEGIN
KEY "NUMERO"
PROMPT 99 3 ""
FIELD 42->QLNUMERO
FIELD 42->QLNUMERO[1,5]
END
END
@ -269,6 +282,18 @@ BEGIN
PICTURE "###.###.###.###^^^"
END
STRINGA 3
BEGIN
KEY "DATA"
PROMPT 50 5 ""
END
STRINGA 4
BEGIN
KEY "FIRMA"
PROMPT 120 5 ""
END
END
END

File diff suppressed because it is too large Load Diff

View File

@ -1,289 +1,289 @@
#ifndef _77STBA_H
#define _77STBA_H
#include "77stq.h"
HIDDEN const int BASE_FORMLEN = 73;
HIDDEN const int BASE_PAGINE = 4;
const int _RIGHE_N = 6;
const int _RIGHE_R = 2;
const int _RIGHE_P = 4;
const int _RIGHE_Q = 4;
const int _RIGHE_S = 4;
const int _RIGHE_T = 4;
class TBase1 : public TDicForm
{
private:
long _codditta;
TRelation* r; // usate per contare i soci
TCursor* c;
bool _bAllegSoci;
long iContaSoci();
protected:
void stampa_corpo(TPrinter& pr);
void stampa_soci(TPrinter& pr);
bool bAllegSoci() const { return _bAllegSoci; }
virtual int dic_form_len() const { return BASE_FORMLEN-2; }
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void stampa_totali(TPrinter& pr) {}
virtual void aggiorna_totali(const char tipo) {}
virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const { return 11; }
public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TBase1(const char* sNomeForm, const char* quadro);
virtual ~TBase1();
};
class TBase2 : public TDicForm
{
private:
long _codditta;
protected:
void stampa_corpo(TPrinter& pr);
virtual int dic_form_len() const { return BASE_FORMLEN; }
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const { return 3;}
public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TBase2(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
virtual ~TBase2() {}
};
class TBase3 : public TDicForm
{
private:
long _codditta;
bool _bAggiuntivoL; // se necessario stampare aggiuntivo L
protected:
void stampa_testata(TPrinter& pr);
void stampa_totali_L(TPrinter& pr);
bool aggiuntivoL() const { return _bAggiuntivoL; }
int stampa_L(TPrinter& pr,const int iChiaveL);
virtual int dic_form_len() const { return BASE_FORMLEN; }
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const { return 3;}
public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TBase3(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
virtual ~TBase3() {}
};
const int _RIGA_TOTALI_L = 65;
class TRigaN : public TSortable
{
TRecnotype _pos;
int _MeseRif,_AnnoRif; // periodo di riferimento
real _ImpRimb,_CompAss; // importi
public:
virtual int compare(const TSortable& s) const;
TRecnotype pos() const { return _pos; }
const char* sMeseRif() const;
const char* sAnnoRif() const;
const int iMeseRif() const { return _MeseRif; }
const int iAnnoRif() const { return _AnnoRif; }
const char* ImpRimb(const char* pic) const { return _ImpRimb.string(pic); }
const char* CompAss(const char* pic) const { return _CompAss.string(pic); }
TRigaN(const TLocalisamfile& qn);
virtual ~TRigaN() { }
};
class TRigheNR : public TObject
{
TArray _data;
protected:
const TRigaN& rigaN(int i) const { return (const TRigaN&)_data[i]; }
public:
const TRigaN& operator[](int i) const { return rigaN(i); }
int fill(const long codditta,TLocalisamfile& qnr);
int items() const { return _data.items(); }
TRigheNR() { }
virtual ~TRigheNR() { }
};
class TRigaQT : public TSortable
{
int _MesePag,_AnnoPag; // periodo di riferimento
real _ContVers,_ContRimb,_Interessi; // importi
TString _sCodReg;
TRecnotype _pos;
public:
virtual int compare(const TSortable& s) const;
TRecnotype pos() const { return _pos; }
const char* sMesePag() const;
const char* sAnnoPag() const;
const int iMesePag() const { return _MesePag; }
const int iAnnoPag() const { return _AnnoPag; }
const char* ContVers(const char* pic) const { return _ContVers.string(pic); }
const char* ContRimb(const char* pic) const { return _ContRimb.string(pic); }
const char* Interessi(const char* pic) const { return _Interessi.string(pic); }
const char* CodReg() const { return (const char*)_sCodReg; }
TRigaQT(const TLocalisamfile& qt);
virtual ~TRigaQT() { }
};
class TRigheQT : public TObject
{
TArray _data;
protected:
const TRigaQT& rigaQT(int i) const { return (const TRigaQT&)_data[i]; }
public:
const TRigaQT& operator[](int i) const { return rigaQT(i); }
int fill(const long codditta,TLocalisamfile& qt);
int items() const { return _data.items(); }
TRigheQT() {}
virtual ~TRigheQT() {}
};
class TRigaPS : public TSortable
{
TDate _dDv; // data vers.
real _rImp,_rIntDip,_rIntDat; // importi
TString _sTipoV,_sCodTrib,_sSerie,_sNumero;
TRecnotype _pos;
public:
virtual int compare(const TSortable& s) const;
TRecnotype pos() const { return _pos; }
TDate dDataVers() const { return _dDv; }
const char* sDataVers() const { return _dDv.string(); }
const char* sImposta() const;
const char* sIntDip() const;
const char* sIntDat() const;
const char* sImposta(const char* pic) const { return _rImp.string(pic); }
const char* sIntDip(const char* pic) const { return _rIntDip.string(pic); }
const char* sIntDat(const char* pic) const { return _rIntDat.string(pic); }
const char* sTipoVers() const { return (const char*)_sTipoV; }
const char* sCodTrib() const { return (const char*)_sCodTrib; }
const char* sSerie() const { return (const char*)_sSerie; }
const char* sNumero() const { return (const char*)_sNumero; }
TRigaPS(const TLocalisamfile& qt);
virtual ~TRigaPS() { }
};
class TRighePS : public TObject
{
TArray _data;
protected:
const TRigaPS& rigaPS(int i) const { return (const TRigaPS&)_data[i]; }
public:
const TRigaPS& operator[](int i) const { return rigaPS(i); }
int fill(const long codditta,TLocalisamfile& ps);
int items() const { return _data.items(); }
TRighePS() {}
virtual ~TRighePS() {}
};
class TBase4 : public TDicForm
{
private:
long _codditta;
TRigheNR _righeNR; // array dei record N e R
TRigheQT _righeQT;
TRighePS _righePS;
bool _bAggN,_bAggP,_bAggR,_bAggQ,_bAggS,_bAggT;
protected:
void stampa_righe_vuote(TPrinter& pr,const int righe);
void fill_riga_QT(TPrint_section& sec,const int num);
void fill_riga_PS(TPrint_section& sec,const int num);
void fill_riga_NR(TPrint_section& sec,const int num, const int side);
void stampa_testata(TPrinter& pr);
void stampa_fine(TPrinter& pr);
void stampa_N(TPrinter& pr);
void stampa_P(TPrinter& pr);
void stampa_Q(TPrinter& pr);
void stampa_R(TPrinter& pr);
void stampa_S(TPrinter& pr);
void stampa_T(TPrinter& pr);
virtual int dic_form_len() const { return BASE_FORMLEN; }
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const { return 3;}
public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TBase4(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
virtual ~TBase4() {}
};
const int _FIELD_L = 740;
class TStampaBase : public TStampaQuadro
{
private:
TBase1* _fBase1;
TBase2* _fBase2;
TBase3* _fBase3;
TBase4* _fBase4;
TRelation* _rel;
TCursor* _cur, *_cur2, *_cur3, *_cur4;
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual bool conta_tipi_per() const { return FALSE; }
virtual TDicForm* get_form() const { return _fBase1; }
virtual TCursor* get_cursor() const { return _cur; }
virtual bool print_quadro(const int OffsetDitta, const bool modulaser);
public:
TStampaBase(char livel) : TStampaQuadro("Base", livel) { }
};
///////////////////////////////////////////////////////////////////////////////////////////
//
// Quadro L aggiuntivo
//
///////////////////////////////////////////////////////////////////////////////////////////
class TQuadroL : public TDicForm
{
private:
long _codditta;
protected:
void stampa_testata(TPrinter& pr);
void stampa_totali_L(TPrinter& pr);
bool stampa_L(TPrinter& pr,const long lStartRec,const int iRecL);
virtual int dic_form_len() const { return BASE_FORMLEN; }
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const { return 3;}
public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TQuadroL(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
virtual ~TQuadroL() {}
};
const int _RIGA_TOTALI_AGG_L = 65;
const long _START_AGG_L = 17L;
const int _REC_PRIMA_AGG_L = 12;
const int _REC_SECONDA_AGG_L = 14;
class TStampaQuadroAggL : public TStampaQuadro
{
TQuadroL* _form;
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual TDicForm* get_form() const { return _form; }
public:
TStampaQuadroAggL(const char* quadro, char liv):TStampaQuadro(quadro, liv) {}
virtual ~TStampaQuadroAggL() { }
};
#endif
#ifndef _77STBA_H
#define _77STBA_H
#include "77stq.h"
HIDDEN const int BASE_FORMLEN = 73;
HIDDEN const int BASE_PAGINE = 4;
const int _RIGHE_N = 6;
const int _RIGHE_R = 2;
const int _RIGHE_P = 4;
const int _RIGHE_Q = 4;
const int _RIGHE_S = 4;
const int _RIGHE_T = 4;
class TBase1 : public TDicForm
{
private:
long _codditta;
TRelation* r; // usate per contare i soci
TCursor* c;
bool _bAllegSoci;
long iContaSoci();
protected:
void stampa_corpo(TPrinter& pr);
void stampa_soci(TPrinter& pr);
bool bAllegSoci() const { return _bAllegSoci; }
virtual int dic_form_len() const;
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void stampa_totali(TPrinter& pr) {}
virtual void aggiorna_totali(const char tipo) {}
virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const;
public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TBase1(const char* sNomeForm, const char* quadro);
virtual ~TBase1();
};
class TBase2 : public TDicForm
{
private:
long _codditta;
protected:
void stampa_corpo(TPrinter& pr);
virtual int dic_form_len() const { return BASE_FORMLEN; }
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const { return 4;}
public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TBase2(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
virtual ~TBase2() {}
};
class TBase3 : public TDicForm
{
private:
bool _bAggiuntivoL; // se necessario stampare aggiuntivo L
protected:
void stampa_testata(TPrinter& pr);
void stampa_totali_L(TPrinter& pr);
bool aggiuntivoL() const { return _bAggiuntivoL; }
int stampa_L(TPrinter& pr,const int iChiaveL);
virtual int dic_form_len() const { return BASE_FORMLEN; }
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const { return 4;}
virtual long filtra(const long codditta);
public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TBase3(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
virtual ~TBase3() {}
};
const int _RIGA_TOTALI_L = 65;
class TRigaN : public TSortable
{
TRecnotype _pos;
int _MeseRif,_AnnoRif; // periodo di riferimento
real _ImpRimb,_CompAss; // importi
public:
virtual int compare(const TSortable& s) const;
TRecnotype pos() const { return _pos; }
const char* sMeseRif() const;
const char* sAnnoRif() const;
const int iMeseRif() const { return _MeseRif; }
const int iAnnoRif() const { return _AnnoRif; }
const char* ImpRimb(const char* pic) const { return _ImpRimb.string(pic); }
const char* CompAss(const char* pic) const { return _CompAss.string(pic); }
TRigaN(const TLocalisamfile& qn);
virtual ~TRigaN() { }
};
class TRigheNR : public TObject
{
TArray _data;
protected:
const TRigaN& rigaN(int i) const { return (const TRigaN&)_data[i]; }
public:
const TRigaN& operator[](int i) const { return rigaN(i); }
int fill(const long codditta,TLocalisamfile& qnr);
int items() const { return _data.items(); }
void destroy() { _data.destroy(); }
TRigheNR() { }
virtual ~TRigheNR() { }
};
class TRigaQT : public TSortable
{
int _MesePag,_AnnoPag; // periodo di riferimento
real _ContVers,_ContRimb,_Interessi; // importi
TString _sCodReg;
TRecnotype _pos;
public:
virtual int compare(const TSortable& s) const;
TRecnotype pos() const { return _pos; }
const char* sMesePag() const;
const char* sAnnoPag() const;
const int iMesePag() const { return _MesePag; }
const int iAnnoPag() const { return _AnnoPag; }
const char* ContVers(const char* pic) const { return _ContVers.string(pic); }
const char* ContRimb(const char* pic) const { return _ContRimb.string(pic); }
const char* Interessi(const char* pic) const { return _Interessi.string(pic); }
const char* CodReg() const { return (const char*)_sCodReg; }
TRigaQT(const TLocalisamfile& qt);
virtual ~TRigaQT() { }
};
class TRigheQT : public TObject
{
TArray _data;
protected:
const TRigaQT& rigaQT(int i) const { return (const TRigaQT&)_data[i]; }
public:
const TRigaQT& operator[](int i) const { return rigaQT(i); }
void destroy() { _data.destroy(); }
int fill(const long codditta,TLocalisamfile& qt);
int items() const { return _data.items(); }
TRigheQT() {}
virtual ~TRigheQT() {}
};
class TRigaPS : public TSortable
{
TDate _dDv; // data vers.
real _rImp,_rIntDip,_rIntDat; // importi
TString _sTipoV,_sCodTrib,_sSerie,_sNumero;
TRecnotype _pos;
public:
virtual int compare(const TSortable& s) const;
TRecnotype pos() const { return _pos; }
TDate dDataVers() const { return _dDv; }
const char* sDataVers() const { return _dDv.string(); }
const char* sImposta() const;
const char* sIntDip() const;
const char* sIntDat() const;
const char* sImposta(const char* pic) const { return _rImp.string(pic); }
const char* sIntDip(const char* pic) const { return _rIntDip.string(pic); }
const char* sIntDat(const char* pic) const { return _rIntDat.string(pic); }
const char* sTipoVers() const { return (const char*)_sTipoV; }
const char* sCodTrib() const { return (const char*)_sCodTrib; }
const char* sSerie() const { return (const char*)_sSerie; }
const char* sNumero() const { return (const char*)_sNumero; }
TRigaPS(const TLocalisamfile& qt);
virtual ~TRigaPS() { }
};
class TRighePS : public TObject
{
TArray _data;
protected:
const TRigaPS& rigaPS(int i) const { return (const TRigaPS&)_data[i]; }
public:
const TRigaPS& operator[](int i) const { return rigaPS(i); }
int fill(const long codditta,TLocalisamfile& ps);
void destroy() { _data.destroy(); }
int items() const { return _data.items(); }
TRighePS() {}
virtual ~TRighePS() {}
};
class TBase4 : public TDicForm
{
private:
long _codditta;
TRigheNR _righeNR; // array dei record N e R
TRigheQT _righeQT;
TRighePS _righePS;
bool _bAggN,_bAggP,_bAggR,_bAggQ,_bAggS,_bAggT;
protected:
void stampa_righe_vuote(TPrinter& pr,const int righe);
void fill_riga_QT(TPrint_section& sec,const int num);
void fill_riga_PS(TPrint_section& sec,const int num);
void fill_riga_NR(TPrint_section& sec,const int num, const int side);
void stampa_testata(TPrinter& pr);
void stampa_fine(TPrinter& pr);
void stampa_N(TPrinter& pr);
void stampa_P(TPrinter& pr);
void stampa_Q(TPrinter& pr);
void stampa_R(TPrinter& pr);
void stampa_S(TPrinter& pr);
void stampa_T(TPrinter& pr);
virtual int dic_form_len() const { return BASE_FORMLEN; }
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const { return 4;}
public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TBase4(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
virtual ~TBase4() {}
};
const int _FIELD_L = 740;
class TStampaBase : public TStampaQuadro
{
private:
TBase1* _fBase1;
TBase2* _fBase2;
TBase3* _fBase3;
TBase4* _fBase4;
TRelation* _rel;
TCursor* _cur, *_cur2, *_cur3, *_cur4;
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual bool conta_tipi_per() const { return FALSE; }
virtual TDicForm* get_form() const { return _fBase1; }
virtual TCursor* get_cursor() const { return _cur; }
virtual bool print_quadro(const int OffsetDitta, const bool modulaser);
public:
TStampaBase(char livel) : TStampaQuadro("Base", livel) { }
};
///////////////////////////////////////////////////////////////////////////////////////////
//
// Quadro L aggiuntivo
//
///////////////////////////////////////////////////////////////////////////////////////////
class TQuadroL : public TDicForm
{
private:
long _codditta;
real _rRitEff, _rRitVer;
protected:
void stampa_testata(TPrinter& pr);
void stampa_totali_L(TPrinter& pr);
bool stampa_L(TPrinter& pr,const long lStartRec,const int iRecL);
virtual void next_page(TPrinter& pr) { fill_page(pr, -1); }
virtual void set_body(TPrinter& pr, const char tipo) {}
virtual int prima_riga(PaginaQuadro p) const;
virtual long filtra(const long codditta);
void CalcolaTotalePrecedenti(TCursor* cur, const int _START_AGG_L);
public:
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
TQuadroL(const char* sNomeForm, const char* quadro) : _rRitEff(ZERO),_rRitVer(ZERO),TDicForm(sNomeForm, quadro) {}
virtual ~TQuadroL() {}
};
class TStampaQuadroAggL : public TStampaQuadro
{
TQuadroL* _form;
TCursor* _cur;
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual TDicForm* get_form() const { return _form; }
virtual TCursor* get_cursor() const { return _cur; }
virtual bool conta_tipi_per() const { return FALSE; }
public:
TStampaQuadroAggL(const char* quadro, char liv):TStampaQuadro(quadro, liv) {}
virtual ~TStampaQuadroAggL() { }
};
#endif

View File

@ -38,6 +38,11 @@ const char* get_ragsoc(const long codditta)
return __dep80;
}
int TDicForm::prima_riga(PaginaQuadro p) const
{
return p == PRIMA ? 9 : 8;
}
void TDicForm::set_cofi_dic(const char* cofi)
{
_cofi_dic = cofi;
@ -83,10 +88,6 @@ bool TDicForm::InitPrint(const long codditta)
_RigaCorr = 0;
TPrinter& pr = printer();
// pr.set_offset(offset_y(), offset_x());
// pr.set_char_size(fontsize()); // Set font name and size
// pr.set_fontname(fontname()); // according to current form
_posiziona=pr.printtype()==winprinter;
// if (_posiziona && !_GiaPosizionato && pr.printtype() == winprinter)
if (_posiziona && !_GiaPosizionato && pr.printtype() == winprinter)
@ -526,8 +527,9 @@ bool TDicForm::PaginaPosizionamento() const
int TDicForm::dic_form_len() const
{
if (curr_page() == PRIMA && _PaginaPosizionamento && !_GiaPosizionato)
return QD_FORMLEN_PRIMA;
// if (curr_page() == PRIMA && _PaginaPosizionamento && !_GiaPosizionato)
if (curr_page() == PRIMA && _PaginaPosizionamento)
return QD_FORMLEN-HEADER_PRIMA_NOPOS;
else
return QD_FORMLEN;
}
@ -542,7 +544,6 @@ void TDicForm::fill_page(TPrinter& pr, const int righe)
// form feed
if (righe < 0)
{
// const int stop = PaginaPosizionamento() ? QD_FORMLEN_PRIMA : QD_FORMLEN;
const int stop = dic_form_len();
for (int i = _RigaCorr; i < stop; i++)
{
@ -553,7 +554,7 @@ void TDicForm::fill_page(TPrinter& pr, const int righe)
put_modulaser(row, STARTPAGE, pagina);
}
// Sull'ultima riga metto il codice ditta
if (i == stop - 2)
if (i == stop - 1)
{
// if (_modulaser && EndJob() && curr_page() == QUARTA)
if (_modulaser && EndJob() && ultima_pagina())
@ -561,10 +562,8 @@ void TDicForm::fill_page(TPrinter& pr, const int righe)
TString16 ditta; ditta << _codditta;
row.put(ditta, POS_DITTA);
pr.print(row);
}
else
pr.print(row);
pr.print(row);
row.reset();
}
_RigaCorr = 0;
@ -623,7 +622,7 @@ void TDicForm::stampa_testata(TPrinter& pr)
}
// Righe da saltare nelle prime pag. dei moduli successivi al primo (che' son
// senza le righe del posizionamento...)
int HEADER_PRIMA_NOPOS = 3;
int righedasaltare=HEADER_PRIMA_NOPOS;
head.update();
for (word j = 0; j <= r; j++)
{
@ -639,16 +638,13 @@ void TDicForm::stampa_testata(TPrinter& pr)
pr.print(r);
_RigaCorr++;
r.reset();
HEADER_PRIMA_NOPOS--;
righedasaltare--;
}
if (!PaginaPosizionamento())
fill_page(pr, HEADER_PRIMA_NOPOS);
fill_page(pr, righedasaltare);
}
else
{
pr.print(head.row(j));
_RigaCorr++;
}
pr.print(head.row(j));
_RigaCorr++;
}
}
@ -3732,24 +3728,75 @@ class TBusta : public TDicForm
{
protected:
virtual bool print(const long codditta, const long, const long);
virtual int prima_riga(PaginaQuadro p) const;
public:
TBusta(const char* form, const char* quadro) : TDicForm(form, quadro) { }
virtual ~TBusta() { }
};
bool get_alleg_730(const long codditta)
{
TLocalisamfile base(LF_BASE);
base.zero();
base.put("CODDITTA",(long)codditta);
if (base.read()==NOERR)
{
const long allegA=base.get_long("N730ALLA");
const long allegA2=base.get_long("N730ALLA2");
return allegA || allegA2;
}
else
return FALSE;
}
HIDDEN const int BUSTA_CON_POSIZ = 53;
HIDDEN const int BUSTA_SENZA_POSIZ = 56;
int TBusta::prima_riga(PaginaQuadro p) const
{
return HEADER_PRIMA_NOPOS-1;
}
bool TBusta::print(const long codditta, const long, const long)
{
const bool ok = InitPrint(codditta);
if (ok)
{
// Calcola identificatore del quadretto corrispondente al quadro L
TForm_item& dietor = find_field('B', odd_page, 'L' * 10);
TForm_item& dietor = find_field('B', odd_page, 740);
const int anno = anno_770();
const bool elle = esiste_record_L(codditta, anno);
dietor.set(elle ? "X" : "");
TForm::print(0);
TForm_item& all730 = find_field('B', odd_page, 20);
const bool bAlleg730 = get_alleg_730(codditta);
all730.set(bAlleg730 ? "X" : "");
TPrinter& pr=printer();
TPrint_section& body = section('B', odd_page);
const int body_righe = body.height();
TCursor* cur=cursor();
bool finito=FALSE;
(*cur)=0L;
pr.formlen(BUSTA_CON_POSIZ);
if (!_PaginaPosizionamento)
jump_to_line(pr,prima_riga(PRIMA));
while (!finito)
{
body.reset();
body.update();
for (int i=0; i < body_righe; i++)
{
pr.print(body.row(i));
_RigaCorr++;
}
if (usa_progind())
progind()->addstatus(1);
++(*cur);
finito= cur->pos() >= cur->items()-1;
pr.formlen(BUSTA_SENZA_POSIZ);
_PaginaPosizionamento=FALSE;
}
// TForm::print(0);
}
return ok;
}
@ -3873,7 +3920,7 @@ int stampa_quadro(int argc, char* argv[])
}
else if (quadro[0] == 'B' && quadro[1] != 'a')
{
switch (quadro[1])
switch (toupper(quadro[1]))
{
case 'U': app = new TStampaBusta(quadro, livello); break;
default : app = new TStampaQuadroB(quadro, livello); break;
@ -3899,6 +3946,10 @@ int stampa_quadro(int argc, char* argv[])
{
app = new TStampaQuadroH(quadro, livello);
}
else if (quadro == "L")
{
app = new TStampaQuadroAggL(quadro, livello);
}
if (app != NULL)
{

View File

@ -1,282 +1,281 @@
#ifndef __77STQ_H
#define __77STQ_H
#include <xvt.h>
#include <applicat.h>
#include <relation.h>
#include <config.h>
#include <mask.h>
#include <form.h>
#include <printer.h>
#include <progind.h>
#include "base.h"
#include <urldefid.h>
#include <nditte.h>
#include <anagr.h>
#include "quadroc.h"
#include "quadrod.h"
#include "quadrod1.h"
#include "quadrogd.h"
#include "quadrif.h"
#include "77stqd.h"
#include "77lib.h"
// Righe da saltare nelle prime pag. dei moduli successivi al primo (che' son
// senza le righe del posizionamento...)
HIDDEN int HEADER_PRIMA_NOPOS = 2;
// Chincaglieria che serve per posiziona()
typedef long HWND;
HIDDEN const int MAX_LEN = 300;
extern "C" {
BOOLEAN PrintLineNow( char *pData, word cbBytes, HWND hInst );
};
HIDDEN TString16 __dep16;
HIDDEN TString80 __dep80;
// Vega-Key di Modulaser
HIDDEN const char* VK_STARTDOC = "<VK>&MA796&0&1";
HIDDEN const char* VK_ENDDOC = "<VK>!0";
typedef enum { STARTDOC, STARTDITTA, STARTPAGE, ENDDOC } ModulaserKey;
// Campi form
#define TOT_TOTALE 1
#define TOT_SNSRIT 2
#define TOT_IMPON 3
#define TOT_IMPOR 4
#define TOT_NETTO 5
#define D_TOTALE 16
#define D_SNSRIT 17
#define D_IMPONIBILE 18
#define D_IMPORTO 20
#define D_NETTO 21
#define D1_TOTALE 12
#define D1_QUOTAPRO 13
#define D1_SPESEANT 14
#define D1_IMPONIBILE 15
#define D1_IMPORTO 17
#define D1_NETTO 18
#define C_TOTALE 14
#define C_CONTSSN 15
#define C_SOMME 16
#define C_IMPONIBILE 17
#define C_RITENUTE 18
#define C_NETTO 19
#define H_COFI_DIC 13
#define H_NUM_FOGLIO 14
#define QD_STATO_ESTERO 12
// Quadro D
HIDDEN const int QD_FORMLEN_PRIMA = 70; // 72 - 3 (3 e' la posizione della X di posiz.)
HIDDEN const int QD_FORMLEN = 72;
HIDDEN const int POS_DITTA = 120; // Colonna del codice ditta a pie' di modulo
HIDDEN const int QD_PAGINE = 4;
HIDDEN const int QD_RIGHE_PRIMA = 4;
HIDDEN const int QD_RIGHE_SECONDA = 7;
HIDDEN const int QD_RIGHE_TERZA = 7;
HIDDEN const int QD_RIGHE_QUARTA = 7;
HIDDEN const int QD1_RIGHE_PRIMA = 6;
HIDDEN const int QD1_RIGHE_SECONDA = 9;
HIDDEN const int QD1_RIGHE_TERZA = 9;
HIDDEN const int QD1_RIGHE_QUARTA = 8;
HIDDEN const int HEADER_SECONDA = 8;
HIDDEN const int HEADER_TERZA = 8; // Sarebbero 9 col righello...
HIDDEN const int HEADER_QUARTA = 13; // 15 col righello...
HIDDEN const int HEADER_D1_SECONDA = 8;
HIDDEN const int HEADER_D1_TERZA = 8;
HIDDEN const int HEADER_D1_QUARTA = 14;
typedef enum { PRIMA=1, SECONDA, TERZA, QUARTA } PaginaQuadro;
typedef enum { fisiche, nofisiche } TipoPagina;
const char* get_ragsoc_anagr(char tipo, long codanagr);
class TDicForm : public TForm
{
private:
real _f_tot_totale, _f_tot_snsrit, _f_tot_impon, _f_tot_impor, _f_tot_netto;
real _nf_tot_totale, _nf_tot_snsrit, _nf_tot_impon, _nf_tot_impor, _nf_tot_netto;
TCursor* _cur;
protected:
long _Items; // numero di record che hanno passato il filtro
PaginaQuadro _PaginaCorrente;
void set_curr_page(PaginaQuadro pagina) { _PaginaCorrente = pagina; }
virtual int dic_form_len() const;
virtual void inc_curr_page();
virtual void next_page(TPrinter& pr);
bool _modulaser; // se stampa per modulaser
bool _posiziona;
TipoDitta _tipo_ditta; // tipo ditta: normale, estinto, dichiarante
int _num_foglio; // numero foglio
TString _cofi_dic; // cod.fis. dichiarante
bool _can_print_tot_fis, _can_print_tot_nofis;
bool _finite_fis, _finite_nofis, _LastDitta, _EndPrintDitta;
bool _GiaStampatiFis, _GiaStampatiNoFis, _PaginaPosizionamento;
bool _GiaPosizionato, _GiaMessoStartDoc, _GiaMessoStartPage[QD_PAGINE]; // flag per modulaser
int _CtrNoFisStampati, _CtrFisStampati; // contatori p.f. e p.g. stampate
long _codditta, _codditta_dic; // cod.ditta e cod.ditta dichiarante
int _RigaCorr; // contatore riga corrente
TString16 _quadro; // codice quadro in stampa
void stampa_testata(TPrinter& pr);
virtual bool ultima_pagina() const { return _PaginaCorrente==QUARTA; }
virtual void stampa_totali(TPrinter& pr);
// virtual void aggiorna_totali(const char tipo);
virtual void set_body(TPrinter& pr, const char tipo);
void StampaPagina(PaginaQuadro PaginaCorrente, const bool StampaTotali, const long Fis, const long NoFis);
void posiziona();
void fill_page(TPrinter& pr, const int righe);
void jump_to_line(TPrinter& pr, const int riga);
const char* BuildModulaserStartPage();
void put_modulaser(TPrintrow& row, ModulaserKey key, int page=0);
void ClearFlagModulaser();
bool PaginaPosizionamento() const;
virtual bool InitPrint(const long codditta);
public:
virtual TCursor* cursor() const { return _cur; }
virtual TRelation* relation() const { return _cur->relation(); }
virtual long filtra(const long codditta);
TProgind* _prog; // progind usata in print()
long codditta() const { return _codditta; }
void set_codditta(const long ditta) { _codditta = ditta; }
void set_posiziona(const bool posiz) { _GiaPosizionato = FALSE; }
void can_print_tot_fis(const bool canpr) { _can_print_tot_fis = canpr; }
void can_print_tot_nofis(const bool canpr) { _can_print_tot_nofis = canpr; }
void set_last_ditta(const bool last) { _LastDitta = last; }
bool last_ditta() const { return _LastDitta; }
bool EndJob() const { return _LastDitta && _EndPrintDitta; }
bool ultima_fis();
bool ultima_nofis();
TString& cofi_dic() { return _cofi_dic; }
void set_cofi_dic(const char* cofi);
TipoDitta tipo_ditta() const { return _tipo_ditta; }
void set_tipo_ditta(TipoDitta tipo) { _tipo_ditta = tipo; }
bool modulaser() const { return _modulaser; }
void set_modulaser(const bool modul) { _modulaser = modul; }
void set_num_foglio(const int foglio) { _num_foglio = foglio; }
int num_foglio() const { return _num_foglio; }
virtual void azzera_totali();
PaginaQuadro curr_page() const { return _PaginaCorrente; }
TCursor& cur();
void set_progind(TProgind* prog) { _prog = prog; }
TProgind* progind() { return _prog; }
bool usa_progind() const { return _prog != NULL; }
virtual void set_cursor(TCursor* cur);
virtual void close_print();
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
const TString& quadro() const { return _quadro; }
TDicForm(const char* form, const char* quadro);
virtual ~TDicForm() {}
};
////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
//
// TStDicArray
//
// Array delle ditte da stampare. Contiene una riga per ogni ditta che si vuole stampare
// Il formato della riga e':
// codditta|estinti|numfis|numnofis|ultimafis|ultimanofis
//
/////////////////////////////////////////////////////////////////////////////////////////////
class TStDicArray : public TObject
{
private:
TString_array _store;
public:
TToken_string& operator[](int i) const;
int curr_index() const { return _store.last(); }
void set(const int index, const TipoDitta tipo=normale, const int num_fis=0, const int num_nofis=0,
bool ultima_con_fis=FALSE, bool ultima_con_nofis=FALSE, const char* cofidic=NULL);
void set_tipo(const int index, const TipoDitta tipo);
void set_ultima_con_fis(const int index, const bool ultima_fis);
void set_ultima_con_nofis(const int index, const bool ultima_nofis);
void set_flag_tipi(const int index, const bool ultima_fis, const bool ultima_nofis);
void set_ctr_tipi(const int index, const int num_fis, const int num_nofis);
void add(const long codditta, const TipoDitta tipo=normale, const int num_fis=0, const int num_nofis=0,
bool ultima_con_fis=FALSE, bool ultima_con_nofis=FALSE, const char* cofidic=NULL);
int items() const { return _store.items(); }
void destroy() { _store.destroy(); }
};
/////////////////////////////////////////////////////////////////////////////////////////////
//
// STAMPA QUADRO
//
/////////////////////////////////////////////////////////////////////////////////////////////
class TStampaQuadro : public TApplication
{
TMask* _m; // Maschera di stampa
TConfig* _cnf; // Configurazione
TString16 _section; // Paragrafo del config
long _codditta;
int _anno_dic;
TString _quadro;
char _livello; // "S" studio, "D" singola ditta
TString _title;
TStDicArray _ditte;
protected: // TApplication
virtual bool menu(MENU_TAG);
virtual void on_config_change();
virtual bool create();
virtual bool destroy();
protected:
virtual bool user_create() pure;
virtual bool user_destroy() pure;
virtual TDicForm* get_form() const pure;
virtual TCursor* get_cursor() const pure;
virtual const char* mask_name() const;
virtual const char* form_name() const;
virtual bool conta_tipi_per() const { return TRUE; }
void fill_estinti(const long CodDic);
const TStDicArray& ditte() const { return _ditte; }
virtual bool print_quadro(const int OffsetDitta, const bool modulaser);
virtual void print(const bool modulaser);
bool singola_ditta() const { return _livello == 'D'; }
const TString& quadro() const { return _quadro; }
void set_taitol(const char* t) { _title = t; }
TStampaQuadro(const char* quad, char liv);
public:
const TString& taitol() const { return _title; }
virtual ~TStampaQuadro() { }
};
#endif
#ifndef __77STQ_H
#define __77STQ_H
#include <xvt.h>
#include <applicat.h>
#include <relation.h>
#include <config.h>
#include <mask.h>
#include <form.h>
#include <printer.h>
#include <progind.h>
#include "base.h"
#include <urldefid.h>
#include <nditte.h>
#include <anagr.h>
#include "quadroc.h"
#include "quadrod.h"
#include "quadrod1.h"
#include "quadrogd.h"
#include "quadrif.h"
#include "77stqd.h"
#include "77lib.h"
// Righe da saltare nelle prime pag. dei moduli successivi al primo (che' son
// senza le righe del posizionamento...)
HIDDEN int HEADER_PRIMA_NOPOS = 3;
// Chincaglieria che serve per posiziona()
typedef long HWND;
HIDDEN const int MAX_LEN = 300;
extern "C" {
BOOLEAN PrintLineNow( char *pData, word cbBytes, HWND hInst );
};
HIDDEN TString16 __dep16;
HIDDEN TString80 __dep80;
// Vega-Key di Modulaser
HIDDEN const char* VK_STARTDOC = "<VK>&MA796&0&1";
HIDDEN const char* VK_ENDDOC = "<VK>!0";
typedef enum { STARTDOC, STARTDITTA, STARTPAGE, ENDDOC } ModulaserKey;
// Campi form
#define TOT_TOTALE 1
#define TOT_SNSRIT 2
#define TOT_IMPON 3
#define TOT_IMPOR 4
#define TOT_NETTO 5
#define D_TOTALE 16
#define D_SNSRIT 17
#define D_IMPONIBILE 18
#define D_IMPORTO 20
#define D_NETTO 21
#define D1_TOTALE 12
#define D1_QUOTAPRO 13
#define D1_SPESEANT 14
#define D1_IMPONIBILE 15
#define D1_IMPORTO 17
#define D1_NETTO 18
#define C_TOTALE 14
#define C_CONTSSN 15
#define C_SOMME 16
#define C_IMPONIBILE 17
#define C_RITENUTE 18
#define C_NETTO 19
#define H_COFI_DIC 13
#define H_NUM_FOGLIO 14
#define QD_STATO_ESTERO 12
// Quadro D
HIDDEN const int QD_FORMLEN = 72;
HIDDEN const int POS_DITTA = 120; // Colonna del codice ditta a pie' di modulo
HIDDEN const int QD_PAGINE = 4;
HIDDEN const int QD_RIGHE_PRIMA = 4;
HIDDEN const int QD_RIGHE_SECONDA = 7;
HIDDEN const int QD_RIGHE_TERZA = 7;
HIDDEN const int QD_RIGHE_QUARTA = 7;
HIDDEN const int QD1_RIGHE_PRIMA = 6;
HIDDEN const int QD1_RIGHE_SECONDA = 9;
HIDDEN const int QD1_RIGHE_TERZA = 9;
HIDDEN const int QD1_RIGHE_QUARTA = 8;
HIDDEN const int HEADER_SECONDA = 8;
HIDDEN const int HEADER_TERZA = 8; // Sarebbero 9 col righello...
HIDDEN const int HEADER_QUARTA = 13; // 15 col righello...
HIDDEN const int HEADER_D1_SECONDA = 8;
HIDDEN const int HEADER_D1_TERZA = 8;
HIDDEN const int HEADER_D1_QUARTA = 14;
typedef enum { PRIMA=1, SECONDA, TERZA, QUARTA } PaginaQuadro;
typedef enum { fisiche, nofisiche } TipoPagina;
const char* get_ragsoc_anagr(char tipo, long codanagr);
class TDicForm : public TForm
{
private:
real _f_tot_totale, _f_tot_snsrit, _f_tot_impon, _f_tot_impor, _f_tot_netto;
real _nf_tot_totale, _nf_tot_snsrit, _nf_tot_impon, _nf_tot_impor, _nf_tot_netto;
TCursor* _cur;
protected:
long _Items; // numero di record che hanno passato il filtro
PaginaQuadro _PaginaCorrente;
void set_curr_page(PaginaQuadro pagina) { _PaginaCorrente = pagina; }
virtual int dic_form_len() const;
virtual void inc_curr_page();
virtual void next_page(TPrinter& pr);
bool _modulaser; // se stampa per modulaser
bool _posiziona;
TipoDitta _tipo_ditta; // tipo ditta: normale, estinto, dichiarante
int _num_foglio; // numero foglio
TString _cofi_dic; // cod.fis. dichiarante
bool _can_print_tot_fis, _can_print_tot_nofis;
bool _finite_fis, _finite_nofis, _LastDitta, _EndPrintDitta;
bool _GiaStampatiFis, _GiaStampatiNoFis, _PaginaPosizionamento;
bool _GiaPosizionato, _GiaMessoStartDoc, _GiaMessoStartPage[QD_PAGINE]; // flag per modulaser
int _CtrNoFisStampati, _CtrFisStampati; // contatori p.f. e p.g. stampate
long _codditta, _codditta_dic; // cod.ditta e cod.ditta dichiarante
int _RigaCorr; // contatore riga corrente
TString16 _quadro; // codice quadro in stampa
void stampa_testata(TPrinter& pr);
virtual bool ultima_pagina() const { return _PaginaCorrente==QUARTA; }
virtual void stampa_totali(TPrinter& pr);
// virtual void aggiorna_totali(const char tipo);
virtual void set_body(TPrinter& pr, const char tipo);
void StampaPagina(PaginaQuadro PaginaCorrente, const bool StampaTotali, const long Fis, const long NoFis);
void posiziona();
void fill_page(TPrinter& pr, const int righe);
void jump_to_line(TPrinter& pr, const int riga);
const char* BuildModulaserStartPage();
void put_modulaser(TPrintrow& row, ModulaserKey key, int page=0);
void ClearFlagModulaser();
bool PaginaPosizionamento() const;
virtual bool InitPrint(const long codditta);
public:
virtual TCursor* cursor() const { return _cur; }
virtual TRelation* relation() const { return _cur->relation(); }
virtual long filtra(const long codditta);
TProgind* _prog; // progind usata in print()
long codditta() const { return _codditta; }
void set_codditta(const long ditta) { _codditta = ditta; }
void set_posiziona(const bool posiz) { _GiaPosizionato = FALSE; }
void can_print_tot_fis(const bool canpr) { _can_print_tot_fis = canpr; }
void can_print_tot_nofis(const bool canpr) { _can_print_tot_nofis = canpr; }
void set_last_ditta(const bool last) { _LastDitta = last; }
bool last_ditta() const { return _LastDitta; }
bool EndJob() const { return _LastDitta && _EndPrintDitta; }
bool ultima_fis();
bool ultima_nofis();
TString& cofi_dic() { return _cofi_dic; }
void set_cofi_dic(const char* cofi);
TipoDitta tipo_ditta() const { return _tipo_ditta; }
void set_tipo_ditta(TipoDitta tipo) { _tipo_ditta = tipo; }
bool modulaser() const { return _modulaser; }
void set_modulaser(const bool modul) { _modulaser = modul; }
void set_num_foglio(const int foglio) { _num_foglio = foglio; }
int num_foglio() const { return _num_foglio; }
virtual void azzera_totali();
PaginaQuadro curr_page() const { return _PaginaCorrente; }
TCursor& cur();
void set_progind(TProgind* prog) { _prog = prog; }
TProgind* progind() { return _prog; }
bool usa_progind() const { return _prog != NULL; }
virtual void set_cursor(TCursor* cur);
virtual void close_print();
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
virtual int prima_riga(PaginaQuadro p) const;
const TString& quadro() const { return _quadro; }
TDicForm(const char* form, const char* quadro);
virtual ~TDicForm() {}
};
////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
//
// TStDicArray
//
// Array delle ditte da stampare. Contiene una riga per ogni ditta che si vuole stampare
// Il formato della riga e':
// codditta|estinti|numfis|numnofis|ultimafis|ultimanofis
//
/////////////////////////////////////////////////////////////////////////////////////////////
class TStDicArray : public TObject
{
private:
TString_array _store;
public:
TToken_string& operator[](int i) const;
int curr_index() const { return _store.last(); }
void set(const int index, const TipoDitta tipo=normale, const int num_fis=0, const int num_nofis=0,
bool ultima_con_fis=FALSE, bool ultima_con_nofis=FALSE, const char* cofidic=NULL);
void set_tipo(const int index, const TipoDitta tipo);
void set_ultima_con_fis(const int index, const bool ultima_fis);
void set_ultima_con_nofis(const int index, const bool ultima_nofis);
void set_flag_tipi(const int index, const bool ultima_fis, const bool ultima_nofis);
void set_ctr_tipi(const int index, const int num_fis, const int num_nofis);
void add(const long codditta, const TipoDitta tipo=normale, const int num_fis=0, const int num_nofis=0,
bool ultima_con_fis=FALSE, bool ultima_con_nofis=FALSE, const char* cofidic=NULL);
int items() const { return _store.items(); }
void destroy() { _store.destroy(); }
};
/////////////////////////////////////////////////////////////////////////////////////////////
//
// STAMPA QUADRO
//
/////////////////////////////////////////////////////////////////////////////////////////////
class TStampaQuadro : public TApplication
{
TMask* _m; // Maschera di stampa
TConfig* _cnf; // Configurazione
TString16 _section; // Paragrafo del config
long _codditta;
int _anno_dic;
TString _quadro;
char _livello; // "S" studio, "D" singola ditta
TString _title;
TStDicArray _ditte;
protected: // TApplication
virtual bool menu(MENU_TAG);
virtual void on_config_change();
virtual bool create();
virtual bool destroy();
protected:
virtual bool user_create() pure;
virtual bool user_destroy() pure;
virtual TDicForm* get_form() const pure;
virtual TCursor* get_cursor() const pure;
virtual const char* mask_name() const;
virtual const char* form_name() const;
virtual bool conta_tipi_per() const { return TRUE; }
void fill_estinti(const long CodDic);
const TStDicArray& ditte() const { return _ditte; }
virtual bool print_quadro(const int OffsetDitta, const bool modulaser);
virtual void print(const bool modulaser);
bool singola_ditta() const { return _livello == 'D'; }
const TString& quadro() const { return _quadro; }
void set_taitol(const char* t) { _title = t; }
TStampaQuadro(const char* quad, char liv);
public:
const TString& taitol() const { return _title; }
virtual ~TStampaQuadro() { }
};
#endif

File diff suppressed because it is too large Load Diff

View File

@ -129,11 +129,12 @@ void TQuadroC::setta_importi(TPrint_section& body)
void TQuadroC::stampa_corpo(TPrinter& pr)
{
TPrint_section& body = section('B', odd_page);
const int body_righe = body.height();
body.reset();
// body.update();
setta_importi(body);
body.update();
const int body_righe = body.height();
// const int body_righe = body.height();
for (int i=0; i < body_righe; i++)
{
pr.print(body.row(i));
@ -152,8 +153,9 @@ int TQuadroC::elementi_pagina(PaginaQuadro p) const
int TQuadroC::prima_riga(PaginaQuadro p) const
{
// return p == PRIMA ? 27 : 8;
return p == PRIMA ? 26 : 7;
// old return p == PRIMA ? 27 : 8;
// nik1 return p == PRIMA ? 26 : 7;
return p == PRIMA ? 27 : 9;
}
bool TQuadroC::print(const long codditta, const long NumFis, const long NumNoFis)
@ -165,7 +167,7 @@ bool TQuadroC::print(const long codditta, const long NumFis, const long NumNoFis
if (!InitPrint(codditta))
return FALSE;
pr.formlen(QA_FORMLEN);
// pr.formlen(QA_FORMLEN);
int elementi = 0; // Numero di elementi stampati in questa pagina
int ele_bis = 0;
@ -206,6 +208,8 @@ bool TQuadroC::print(const long codditta, const long NumFis, const long NumNoFis
switch(_PaginaCorrente)
{
case PRIMA:
pr.formlen(dic_form_len());
if (_modulaser)
ClearFlagModulaser();
@ -238,8 +242,10 @@ bool TQuadroC::print(const long codditta, const long NumFis, const long NumNoFis
ele_bis = 0;
}
break;
_PaginaPosizionamento=FALSE;
case SECONDA:
case TERZA:
case TERZA:
pr.formlen(dic_form_len());
if (!stampato_ultimo)
{
if (ele_bis == 0)
@ -266,7 +272,8 @@ bool TQuadroC::print(const long codditta, const long NumFis, const long NumNoFis
}
break;
case QUARTA:
if (!stampato_ultimo)
pr.formlen(dic_form_len());
if (!stampato_ultimo)
{
if (ele_bis == 0)
jump_to_line(pr, prima_riga(QUARTA));

View File

@ -56,7 +56,7 @@ END
BUTTON B_LAGG 1 1
BEGIN
PROMPT 1 ROW2 ""
// MESSAGE RUN,771MOD,-7,1
MESSAGE RUN,772MOD,-4,L,S
PICTURE 123
GROUP 1
END
@ -70,7 +70,7 @@ END
BUTTON B_NAGG 1 1
BEGIN
PROMPT 1 ROW3 ""
// MESSAGE RUN,771MOD,-7,2
MESSAGE RUN,772MOD,-4,N,S
PICTURE 123
GROUP 1
END
@ -145,7 +145,7 @@ BUTTON B_A1 1 1
BEGIN
PROMPT 20 ROW2 ""
PICTURE 123
MESSAGE RUN,771MOD,-4,A1,S
MESSAGE RUN,772MOD,-4,A1,S
GROUP 1
END
@ -201,7 +201,7 @@ BUTTON B_B1 1 1
BEGIN
PROMPT 20 ROW6 ""
PICTURE 123
// MESSAGE RUN,771MOD,-6,0
MESSAGE RUN,772MOD,-4,B1,S
GROUP 1
END
// Fine seconda colonna

View File

@ -28,7 +28,7 @@ END
BUTTON B_BASE 1 1
BEGIN
PROMPT 1 ROW1 ""
MESSAGE RUN,772MOD,-4,Base,D|K_TAB,RILEGGI_QUADRI
MESSAGE RUN,772MOD,-4,Base,D
PICTURE 123
FLAGS MYFLAGS
GROUP GRUPPO
@ -44,7 +44,7 @@ END
BUTTON B_LAGG 1 1
BEGIN
PROMPT 1 ROW2 ""
// MESSAGE RUN,771MOD,-7,1|K_TAB,RILEGGI_QUADRI
MESSAGE RUN,772MOD,-4,L,D
PICTURE 123
FLAGS MYFLAGS
GROUP GRUPPO