From feaeb40e8bbda8cd90bb31e5f6a355fd3bddf71f Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 19 Sep 1996 10:43:25 +0000 Subject: [PATCH] Corrette stampe dei quadri A? git-svn-id: svn://10.65.10.50/trunk@3629 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- m770/77qa.frm | 2280 +++++++++++++++++++++++----------------------- m770/77qa2.frm | 936 +++++++++---------- m770/77qa3.frm | 864 +++++++++--------- m770/77stq.cpp | 67 +- m770/77stqab.cpp | 1283 +++++++++++++------------- 5 files changed, 2711 insertions(+), 2719 deletions(-) diff --git a/m770/77qa.frm b/m770/77qa.frm index db53da345..405d46de8 100755 --- a/m770/77qa.frm +++ b/m770/77qa.frm @@ -1,1140 +1,1140 @@ -USE 44 -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 - 44->* "Quadro A 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 "Roman 17cpi" - SIZE 12 - 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 39 12 "" - GROUP 2 - FIELD 106@->RAGSOC -END - -STRINGA 4 -BEGIN - KEY "COGNOME" - PROMPT 39 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 58 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 85 19 "" -END - -NUMERO 14 -BEGIN - KEY "NUM. FOGLIO" - PROMPT 125 22 "" -END - -END - -SECTION BODY ODD 20 - -STRINGA 1 -BEGIN - KEY "COD.FIS" - PROMPT 11 1 "" - FIELD 45->CODFI -END - -STRINGA 2 -BEGIN - KEY "COGNOME" - PROMPT 44 1 "" - FIELD 45->COGNOME -END - -STRINGA 3 -BEGIN - KEY "NOME" - PROMPT 82 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 - -STRINGA 8 -BEGIN - KEY "COMUNE DI RESIDENZA" - PROMPT 54 3 "" - FIELD 45->COMRES -END - -STRINGA 9 -BEGIN - KEY "PROV. RESIDENZA" - PROMPT 88 3 "" - FIELD 45->PROVRES -END - -STRINGA 10 -BEGIN - KEY "INDIRIZZO RES." - PROMPT 95 3 "" - FIELD 45->INDRES -END - -STRINGA 11 -BEGIN - KEY "STATO CIVILE" - PROMPT 13 5 "" - FIELD 45->STATOCIV -END - -STRINGA 12 -BEGIN - KEY "QUALIFICA" - PROMPT 22 5 "" - FIELD 45->QUALIFICA -END - -STRINGA 13 -BEGIN - KEY "AREA ATTIVITA'" - PROMPT 31 5 "" - FIELD 44->AREAATT -END - -STRINGA 14 -BEGIN - KEY "TIPO" - PROMPT 38 5 "" - FIELD 44->TIPO -END - -NUMERO 15 -BEGIN - KEY "NUMERO GIORNI" - PROMPT 46 5 "" - FIELD 44->NUMGIO - PICTURE "###" -END - -DATA 16 -BEGIN - KEY "DATA FINE RAPPORTO" - PROMPT 62 5 "" - FORMAT "1444-" - PICTURE "## ^ ##^^^^^" - FIELD 44->DATAFR -END - -NUMERO 17 -BEGIN - KEY "GIORNI DETRAZ. LAV. DIP." - PROMPT 80 5 "" - FIELD 44->NUMGIODET - PICTURE "###" -END - -STRINGA 18 -BEGIN - KEY "CF DATORE LAVORO PRECEDENTE" - PROMPT 98 5 "" - FIELD 44->CFDLPREC -END - -NUMERO 19 -BEGIN - KEY "CAUSA" - PROMPT 129 5 "" - FIELD 44->CAUSA -END - -NUMERO 20 -BEGIN - KEY "IN DENARO" - PROMPT 9 7 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->20 - FIELD 44->DENARO -END - -NUMERO 21 -BEGIN - KEY "IN NATURA" - PROMPT 24 7 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->21 - FIELD 44->NATURA -END - -NUMERO 22 -BEGIN - KEY "CONTRIBUTI OBBLIGATORI" - PROMPT 39 7 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->22 - FIELD 44->COBBDIP -END - -NUMERO 23 -BEGIN - KEY "COMPENSI NETTI" - PROMPT 55 7 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->23 - FIELD 44->COMPNETTI -END - -NUMERO 24 -BEGIN - KEY "AMMONTARE LORDO" - PROMPT 70 7 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->24 - FIELD 44->AMMLORDO -END - -NUMERO 25 -BEGIN - KEY "IND.ASS.CONTRIBUTI OBBLIGATORI" - PROMPT 85 7 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->25 - FIELD 44->IACOBBCD -END - -NUMERO 26 -BEGIN - KEY "SOMME NON ASSOG. A RITEN." - PROMPT 101 7 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->26 - FIELD 44->NORIT -END - -NUMERO 27 -BEGIN - KEY "TOTALE IMPONIBILE" - PROMPT 117 7 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->27 - FIELD 44->TOTIMP -END - -NUMERO 28 -BEGIN - KEY "ASSEGNI ED INDENNITA'" - PROMPT 9 9 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->28 - FIELD 44->AIENTIPREV -END - -NUMERO 29 -BEGIN - KEY "AMMONTARE COMPENSI CORRISPOSTI DA TERZI" - PROMPT 24 9 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->29 - FIELD 44->CCTAMMCONT -END - -NUMERO 30 -BEGIN - KEY "TOTALE IMPONIBILE 2" - PROMPT 39 9 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->30 - FIELD 44->TOTIMP2 -END - -NUMERO 31 -BEGIN - KEY "IMPOSTA CORRISPONDENTE" - PROMPT 55 9 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->31 - FIELD 44->ICTOTIMP -END - -NUMERO 32 -BEGIN - KEY "DETRAZIONE PER CONIUGE A CARICO" - PROMPT 70 9 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->32 - FIELD 44->DETCC -END - -NUMERO 33 -BEGIN - KEY "DETRAZIONE PER FIGLI A CARICO" - PROMPT 85 9 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->33 - FIELD 44->DETFC -END - -NUMERO 34 -BEGIN - KEY "DETRAZIONE PER ALTRI FAMILIARI A CARICO" - PROMPT 101 9 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->34 - FIELD 44->DETAF -END - -NUMERO 35 -BEGIN - KEY "DETRAZIONE PER LAVORO DIPENDENTE" - PROMPT 117 9 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->35 - FIELD 44->DETLD -END - -NUMERO 36 -BEGIN - KEY "DETRAZIONE PER ONERI" - PROMPT 9 11 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->36 - FIELD 44->DETO -END - -NUMERO 37 -BEGIN - KEY "TOTALE DETRAZIONI" - PROMPT 24 11 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->37 - FIELD 44->TOTDET -END - -NUMERO 38 -BEGIN - KEY "INCREMENTO DETRAZIONI PER FIGLI A CARICO" - PROMPT 39 11 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->38 - FIELD 44->INCDETFC -END - -NUMERO 39 -BEGIN - KEY "RITENUTE OPERATE DA TERZI" - PROMPT 55 11 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->39 - FIELD 44->AMRIOT -END - -NUMERO 40 -BEGIN - KEY "RITENUTE OPERATE DAL DATORE DI LAVORO" - PROMPT 70 11 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->40 - FIELD 44->AMRIODL -END - -NUMERO 41 -BEGIN - KEY "ECCEDENZA RITENUTE RIMBORSATE" - PROMPT 85 11 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->41 - FIELD 44->ECCRITRIMB -END - -NUMERO 42 -BEGIN - KEY "AMMONTARE RITENUTE DOVUTE" - PROMPT 101 11 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->42 - FIELD 44->AMMRITDOV -END - -NUMERO 43 -BEGIN - KEY "EROGAZIONI PER SPESE SANITARIE" - PROMPT 117 11 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->43 - FIELD 44->ERSPSAN -END - -NUMERO 44 -BEGIN - KEY "PREMI DI ASSICURAZIONE VITA E INFORTUNI" - PROMPT 9 13 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->44 - FIELD 44->PRASSVI -END - -NUMERO 45 -BEGIN - KEY "CONTRIBUTI PER PREVIDENZA COMPLEMENTARE" - PROMPT 24 13 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->45 - FIELD 44->CONPRECO -END - -NUMERO 46 -BEGIN - KEY "CONTRIBUTI OBBLIGATORI A CARICO DEL DIPENDENTE" - PROMPT 39 13 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->46 - FIELD 44->COBBDIP2 -END - -NUMERO 47 -BEGIN - KEY "AMMONTARE IMPONIBILE" - PROMPT 55 13 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->47 - FIELD 44->AMMIMP -END - -NUMERO 48 -BEGIN - KEY "DETRAZIONI D'IMPOSTA" - PROMPT 70 13 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->48 - FIELD 44->DETIMPOS -END - -NUMERO 49 -BEGIN - KEY "RITENUTA ESEGUITA" - PROMPT 85 13 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->49 - FIELD 44->RITESEG -END - -NUMERO 50 -BEGIN - KEY "ALTRE SOMME E VALORI NON ASSOGGETTATI A RITENUTA" - PROMPT 101 13 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->50 - FIELD 44->SVNASSRI -END - -NUMERO 51 -BEGIN - KEY "AMMONTARE IMPONIBILE AI FINI DEL C.S.S.N." - PROMPT 117 13 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->51 - FIELD 44->AIFCSSN -END - -STRINGA 52 -BEGIN - KEY "CONGUAGLI NON EFFETTUATI" - PROMPT 13 15 "" - FIELD 44->CONEFF -END - -NUMERO 53 -BEGIN - KEY "IMPOSTA VERSATA" - PROMPT 20 15 "" - PICTURE "###.###.###^^^" - MESSAGE ADD,FL->53 - FIELD 44->IMPVERS -END - -NUMERO 54 -BEGIN - KEY "INTERESSI" - PROMPT 32 15 "" - MESSAGE ADD,FL->54 - FIELD 44->INTERE - PICTURE "###.###.###^^^" -END - -NUMERO 55 -BEGIN - KEY "CONTRIBUTO VERSATO" - PROMPT 45 15 "" - PICTURE "###.###.###^^^" - MESSAGE ADD,FL->55 - FIELD 44->CSSN95CV -END - -NUMERO 56 -BEGIN - KEY "INTERESSI" - PROMPT 57 15 "" - PICTURE "###.###.###^^^" - MESSAGE ADD,FL->56 - FIELD 44->INTERE2 -END - -STRINGA 57 -BEGIN - KEY "CONGUAGLI NON EFFETTUATI" - PROMPT 73 15 "" - FIELD 44->CNEFF -END - -STRINGA 58 -BEGIN - KEY "RETTIFICA CONGUAGLIO" - PROMPT 81 15 "" - FIELD 44->RETCON -END - -NUMERO 59 -BEGIN - KEY "IMPOSTA RIMBORSATA" - PROMPT 85 15 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->59 - FIELD 44->IMPRIMB -END - -NUMERO 60 -BEGIN - KEY "IMPOSTA VERSATA" - PROMPT 101 15 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->60 - FIELD 44->IMPVER -END - -NUMERO 61 -BEGIN - KEY "INTERESSI" - PROMPT 117 15 "" - PICTURE "###.###.###.###^^^" - MESSAGE ADD,FL->61 - FIELD 44->INTIRPEF -END - -NUMERO 62 -BEGIN - KEY "IMPOSTA VERSATA" - PROMPT 13 17 "" - PICTURE "###.###^^^" - MESSAGE ADD,FL->62 - FIELD 44->IMPVER2 -END - -NUMERO 63 -BEGIN - KEY "INTERESSI" - PROMPT 24 17 "" - PICTURE "###.###^^^" - MESSAGE ADD,FL->63 - FIELD 44->INTER -END - -NUMERO 64 -BEGIN - KEY "SOPPRATTASSA SU IRPEF" - PROMPT 36 17 "" - PICTURE "###.###^^^" - MESSAGE ADD,FL->64 - FIELD 44->STSIRPEF -END - -NUMERO 65 -BEGIN - KEY "CONTRIBUTO A RIMBORSO" - PROMPT 45 17 "" - PICTURE "###.###.###^^^" - MESSAGE ADD,FL->65 - FIELD 44->CONRIMB -END - -NUMERO 66 -BEGIN - KEY "CONTRIBUTO VERSATO" - PROMPT 59 17 "" - PICTURE "###.###.###^^^" - MESSAGE ADD,FL->66 - FIELD 44->CONVER -END - -NUMERO 67 -BEGIN - KEY "INTERESSI" - PROMPT 73 17 "" - PICTURE "###.###.###^^^" - MESSAGE ADD,FL->67 - FIELD 44->INTER2 -END - -NUMERO 68 -BEGIN - KEY "CONTRIBUTO VERSATO" - PROMPT 86 17 "" - PICTURE "###.###.###^^^" - MESSAGE ADD,FL->68 - FIELD 44->CONVER2 -END - -NUMERO 69 -BEGIN - KEY "INTERESSI" - PROMPT 100 17 "" - PICTURE "###.###.###^^^" - MESSAGE ADD,FL->69 - FIELD 44->INTER3 -END - -NUMERO 70 -BEGIN - KEY "SOPPRATTASE SU C.S.S.N." - PROMPT 114 17 "" - PICTURE "###.###.###^^^" - MESSAGE ADD,FL->70 - FIELD 44->STSCSSN70 -END - -STRINGA 71 -BEGIN - KEY "MODELLO 730 NON LIQUIDABILE" - PROMPT 129 17 "" - FIELD 44->M730NLIQ -END - -STRINGA 72 -BEGIN - KEY "CODICE FISCALE CAAF" - PROMPT 11 19 "" - FIELD 104@->S1 -END - -STRINGA 73 -BEGIN - KEY "DENOMINAZIONE CAAF" - PROMPT 42 19 "" - FIELD 104@->S0 -END - -NUMERO 74 -BEGIN - KEY "NUMERO ISCRIZIONE ALBO" - PROMPT 122 19 "" - FIELD 104@->I1 - PICTURE "#####" -END - -END - -SECTION FOOTER LAST 12 - -NUMERO 20 -BEGIN - KEY "IN DENARO" - PROMPT 9 1 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 21 -BEGIN - KEY "IN NATURA" - PROMPT 24 1 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 22 -BEGIN - KEY "CONTRIBUTI OBBLIGATORI" - PROMPT 39 1 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 23 -BEGIN - KEY "COMPENSI NETTI" - PROMPT 55 1 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 24 -BEGIN - KEY "AMMONTARE LORDO" - PROMPT 70 1 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 25 -BEGIN - KEY "IND.ASS.CONTRIBUTI OBBLIGATORI" - PROMPT 85 1 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 26 -BEGIN - KEY "SOMME NON ASSOG. A RITEN." - PROMPT 101 1 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 27 -BEGIN - KEY "TOTALE IMPONIBILE" - PROMPT 117 1 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 28 -BEGIN - KEY "ASSEGNI ED INDENNITA'" - PROMPT 9 3 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 29 -BEGIN - KEY "AMMONTARE COMPENSI CORRISPOSTI DA TERZI" - PROMPT 24 3 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 30 -BEGIN - KEY "TOTALE IMPONIBILE 2" - PROMPT 39 3 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 31 -BEGIN - KEY "IMPOSTA CORRISPONDENTE" - PROMPT 55 3 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 32 -BEGIN - KEY "DETRAZIONE PER CONIUGE A CARICO" - PROMPT 70 3 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 33 -BEGIN - KEY "DETRAZIONE PER FIGLI A CARICO" - PROMPT 85 3 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 34 -BEGIN - KEY "DETRAZIONE PER ALTRI FAMILIARI A CARICO" - PROMPT 101 3 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 35 -BEGIN - KEY "DETRAZIONE PER LAVORO DIPENDENTE" - PROMPT 117 3 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 36 -BEGIN - KEY "DETRAZIONE PER ONERI" - PROMPT 9 5 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 37 -BEGIN - KEY "TOTALE DETRAZIONI" - PROMPT 24 5 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 38 -BEGIN - KEY "INCREMENTO DETRAZIONI PER FIGLI A CARICO" - PROMPT 39 5 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 39 -BEGIN - KEY "RITENUTE OPERATE DA TERZI" - PROMPT 55 5 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 40 -BEGIN - KEY "RITENUTE OPERATE DAL DATORE DI LAVORO" - PROMPT 70 5 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 41 -BEGIN - KEY "ECCEDENZA RITENUTE RIMBORSATE" - PROMPT 85 5 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 42 -BEGIN - KEY "AMMONTARE RITENUTE DOVUTE" - PROMPT 101 5 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 43 -BEGIN - KEY "EROGAZIONI PER SPESE SANITARIE" - PROMPT 117 5 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 44 -BEGIN - KEY "PREMI DI ASSICURAZIONE VITA E INFORTUNI" - PROMPT 9 7 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 45 -BEGIN - KEY "CONTRIBUTI PER PREVIDENZA COMPLEMENTARE" - PROMPT 24 7 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 46 -BEGIN - KEY "CONTRIBUTI OBBLIGATORI A CARICO DEL DIPENDENTE" - PROMPT 39 7 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 47 -BEGIN - KEY "AMMONTARE IMPONIBILE" - PROMPT 55 7 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 48 -BEGIN - KEY "DETRAZIONI D'IMPOSTA" - PROMPT 70 7 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 49 -BEGIN - KEY "RITENUTA ESEGUITA" - PROMPT 85 7 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 50 -BEGIN - KEY "ALTRE SOMME E VALORI NON ASSOGGETTATI A RITENUTA" - PROMPT 101 7 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 51 -BEGIN - KEY "AMMONTARE IMPONIBILE AI FINI DEL C.S.S.N." - PROMPT 117 7 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 53 -BEGIN - KEY "IMPOSTA VERSATA" - PROMPT 20 9 "" - PICTURE "###.###.###^^^" -END - -NUMERO 54 -BEGIN - KEY "INTERESSI" - PROMPT 32 9 "" - PICTURE "###.###.###^^^" -END - -NUMERO 55 -BEGIN - KEY "CONTRIBUTO VERSATO" - PROMPT 45 9 "" - PICTURE "###.###.###^^^" -END - -NUMERO 56 -BEGIN - KEY "INTERESSI" - PROMPT 57 9 "" - PICTURE "###.###.###^^^" -END - -NUMERO 59 -BEGIN - KEY "IMPOSTA RIMBORSATA" - PROMPT 85 9 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 60 -BEGIN - KEY "IMPOSTA VERSATA" - PROMPT 101 9 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 61 -BEGIN - KEY "INTERESSI" - PROMPT 117 9 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 62 -BEGIN - KEY "IMPOSTA VERSATA" - PROMPT 13 11 "" - PICTURE "###.###^^^" -END - -NUMERO 63 -BEGIN - KEY "INTERESSI" - PROMPT 24 11 "" - PICTURE "###.###^^^" -END - -NUMERO 64 -BEGIN - KEY "SOPPRATTASSA SU IRPEF" - PROMPT 36 11 "" - PICTURE "###.###^^^" -END - -NUMERO 65 -BEGIN - KEY "CONTRIBUTO A RIMBORSO" - PROMPT 45 11 "" - PICTURE "###.###.###^^^" -END - -NUMERO 66 -BEGIN - KEY "CONTRIBUTO VERSATO" - PROMPT 59 11 "" - PICTURE "###.###.###^^^" -END - -NUMERO 67 -BEGIN - KEY "INTERESSI" - PROMPT 73 11 "" - PICTURE "###.###.###^^^" -END - -NUMERO 68 -BEGIN - KEY "CONTRIBUTO VERSATO" - PROMPT 86 11 "" - PICTURE "###.###.###^^^" -END - -NUMERO 69 -BEGIN - KEY "INTERESSI" - PROMPT 100 11 "" - PICTURE "###.###.###^^^" -END - -NUMERO 70 -BEGIN - KEY "SOPPRATTASE SU C.S.S.N." - PROMPT 114 11 "" - PICTURE "###.###.###^^^" -END - -NUMERO 730 -BEGIN - KEY "NUMERO MOD.730" - PROMPT 21 14 "" - FIELD 36->N730ALLA -END - -STRINGA 2 -BEGIN - KEY "FIRMA" - PROMPT 83 18 "" - FIELD 106@->RAGSOC -END - - -END - -END +USE 44 +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 + 44->* "Quadro A 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 39 12 "" + GROUP 2 + FIELD 106@->RAGSOC +END + +STRINGA 4 +BEGIN + KEY "COGNOME" + PROMPT 39 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 58 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 85 19 "" +END + +NUMERO 14 +BEGIN + KEY "NUM. FOGLIO" + PROMPT 125 22 "" +END + +END + +SECTION BODY ODD 20 + +STRINGA 1 +BEGIN + KEY "COD.FIS" + PROMPT 11 1 "" + FIELD 45->CODFI +END + +STRINGA 2 +BEGIN + KEY "COGNOME" + PROMPT 44 1 "" + FIELD 45->COGNOME +END + +STRINGA 3 +BEGIN + KEY "NOME" + PROMPT 82 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 + +STRINGA 8 +BEGIN + KEY "COMUNE DI RESIDENZA" + PROMPT 54 3 "" + FIELD 45->COMRES +END + +STRINGA 9 +BEGIN + KEY "PROV. RESIDENZA" + PROMPT 88 3 "" + FIELD 45->PROVRES +END + +STRINGA 10 +BEGIN + KEY "INDIRIZZO RES." + PROMPT 95 3 "" + FIELD 45->INDRES +END + +STRINGA 11 +BEGIN + KEY "STATO CIVILE" + PROMPT 13 5 "" + FIELD 45->STATOCIV +END + +STRINGA 12 +BEGIN + KEY "QUALIFICA" + PROMPT 22 5 "" + FIELD 45->QUALIFICA +END + +STRINGA 13 +BEGIN + KEY "AREA ATTIVITA'" + PROMPT 31 5 "" + FIELD 44->AREAATT +END + +STRINGA 14 +BEGIN + KEY "TIPO" + PROMPT 38 5 "" + FIELD 44->TIPO +END + +NUMERO 15 +BEGIN + KEY "NUMERO GIORNI" + PROMPT 46 5 "" + FIELD 44->NUMGIO + PICTURE "###" +END + +DATA 16 +BEGIN + KEY "DATA FINE RAPPORTO" + PROMPT 62 5 "" + FORMAT "1444-" + PICTURE "## ^ ##^^^^^" + FIELD 44->DATAFR +END + +NUMERO 17 +BEGIN + KEY "GIORNI DETRAZ. LAV. DIP." + PROMPT 80 5 "" + FIELD 44->NUMGIODET + PICTURE "###" +END + +STRINGA 18 +BEGIN + KEY "CF DATORE LAVORO PRECEDENTE" + PROMPT 98 5 "" + FIELD 44->CFDLPREC +END + +NUMERO 19 +BEGIN + KEY "CAUSA" + PROMPT 129 5 "" + FIELD 44->CAUSA +END + +NUMERO 20 +BEGIN + KEY "IN DENARO" + PROMPT 9 7 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->20 + FIELD 44->DENARO +END + +NUMERO 21 +BEGIN + KEY "IN NATURA" + PROMPT 24 7 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->21 + FIELD 44->NATURA +END + +NUMERO 22 +BEGIN + KEY "CONTRIBUTI OBBLIGATORI" + PROMPT 39 7 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->22 + FIELD 44->COBBDIP +END + +NUMERO 23 +BEGIN + KEY "COMPENSI NETTI" + PROMPT 55 7 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->23 + FIELD 44->COMPNETTI +END + +NUMERO 24 +BEGIN + KEY "AMMONTARE LORDO" + PROMPT 70 7 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->24 + FIELD 44->AMMLORDO +END + +NUMERO 25 +BEGIN + KEY "IND.ASS.CONTRIBUTI OBBLIGATORI" + PROMPT 85 7 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->25 + FIELD 44->IACOBBCD +END + +NUMERO 26 +BEGIN + KEY "SOMME NON ASSOG. A RITEN." + PROMPT 101 7 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->26 + FIELD 44->NORIT +END + +NUMERO 27 +BEGIN + KEY "TOTALE IMPONIBILE" + PROMPT 117 7 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->27 + FIELD 44->TOTIMP +END + +NUMERO 28 +BEGIN + KEY "ASSEGNI ED INDENNITA'" + PROMPT 9 9 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->28 + FIELD 44->AIENTIPREV +END + +NUMERO 29 +BEGIN + KEY "AMMONTARE COMPENSI CORRISPOSTI DA TERZI" + PROMPT 24 9 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->29 + FIELD 44->CCTAMMCONT +END + +NUMERO 30 +BEGIN + KEY "TOTALE IMPONIBILE 2" + PROMPT 39 9 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->30 + FIELD 44->TOTIMP2 +END + +NUMERO 31 +BEGIN + KEY "IMPOSTA CORRISPONDENTE" + PROMPT 55 9 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->31 + FIELD 44->ICTOTIMP +END + +NUMERO 32 +BEGIN + KEY "DETRAZIONE PER CONIUGE A CARICO" + PROMPT 70 9 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->32 + FIELD 44->DETCC +END + +NUMERO 33 +BEGIN + KEY "DETRAZIONE PER FIGLI A CARICO" + PROMPT 85 9 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->33 + FIELD 44->DETFC +END + +NUMERO 34 +BEGIN + KEY "DETRAZIONE PER ALTRI FAMILIARI A CARICO" + PROMPT 101 9 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->34 + FIELD 44->DETAF +END + +NUMERO 35 +BEGIN + KEY "DETRAZIONE PER LAVORO DIPENDENTE" + PROMPT 117 9 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->35 + FIELD 44->DETLD +END + +NUMERO 36 +BEGIN + KEY "DETRAZIONE PER ONERI" + PROMPT 9 11 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->36 + FIELD 44->DETO +END + +NUMERO 37 +BEGIN + KEY "TOTALE DETRAZIONI" + PROMPT 24 11 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->37 + FIELD 44->TOTDET +END + +NUMERO 38 +BEGIN + KEY "INCREMENTO DETRAZIONI PER FIGLI A CARICO" + PROMPT 39 11 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->38 + FIELD 44->INCDETFC +END + +NUMERO 39 +BEGIN + KEY "RITENUTE OPERATE DA TERZI" + PROMPT 55 11 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->39 + FIELD 44->AMRIOT +END + +NUMERO 40 +BEGIN + KEY "RITENUTE OPERATE DAL DATORE DI LAVORO" + PROMPT 70 11 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->40 + FIELD 44->AMRIODL +END + +NUMERO 41 +BEGIN + KEY "ECCEDENZA RITENUTE RIMBORSATE" + PROMPT 85 11 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->41 + FIELD 44->ECCRITRIMB +END + +NUMERO 42 +BEGIN + KEY "AMMONTARE RITENUTE DOVUTE" + PROMPT 101 11 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->42 + FIELD 44->AMMRITDOV +END + +NUMERO 43 +BEGIN + KEY "EROGAZIONI PER SPESE SANITARIE" + PROMPT 117 11 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->43 + FIELD 44->ERSPSAN +END + +NUMERO 44 +BEGIN + KEY "PREMI DI ASSICURAZIONE VITA E INFORTUNI" + PROMPT 9 13 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->44 + FIELD 44->PRASSVI +END + +NUMERO 45 +BEGIN + KEY "CONTRIBUTI PER PREVIDENZA COMPLEMENTARE" + PROMPT 24 13 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->45 + FIELD 44->CONPRECO +END + +NUMERO 46 +BEGIN + KEY "CONTRIBUTI OBBLIGATORI A CARICO DEL DIPENDENTE" + PROMPT 39 13 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->46 + FIELD 44->COBBDIP2 +END + +NUMERO 47 +BEGIN + KEY "AMMONTARE IMPONIBILE" + PROMPT 55 13 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->47 + FIELD 44->AMMIMP +END + +NUMERO 48 +BEGIN + KEY "DETRAZIONI D'IMPOSTA" + PROMPT 70 13 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->48 + FIELD 44->DETIMPOS +END + +NUMERO 49 +BEGIN + KEY "RITENUTA ESEGUITA" + PROMPT 85 13 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->49 + FIELD 44->RITESEG +END + +NUMERO 50 +BEGIN + KEY "ALTRE SOMME E VALORI NON ASSOGGETTATI A RITENUTA" + PROMPT 101 13 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->50 + FIELD 44->SVNASSRI +END + +NUMERO 51 +BEGIN + KEY "AMMONTARE IMPONIBILE AI FINI DEL C.S.S.N." + PROMPT 117 13 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->51 + FIELD 44->AIFCSSN +END + +STRINGA 52 +BEGIN + KEY "CONGUAGLI NON EFFETTUATI" + PROMPT 13 15 "" + FIELD 44->CONEFF +END + +NUMERO 53 +BEGIN + KEY "IMPOSTA VERSATA" + PROMPT 20 15 "" + PICTURE "###.###.###^^^" + MESSAGE ADD,FL->53 + FIELD 44->IMPVERS +END + +NUMERO 54 +BEGIN + KEY "INTERESSI" + PROMPT 32 15 "" + MESSAGE ADD,FL->54 + FIELD 44->INTERE + PICTURE "###.###.###^^^" +END + +NUMERO 55 +BEGIN + KEY "CONTRIBUTO VERSATO" + PROMPT 45 15 "" + PICTURE "###.###.###^^^" + MESSAGE ADD,FL->55 + FIELD 44->CSSN95CV +END + +NUMERO 56 +BEGIN + KEY "INTERESSI" + PROMPT 57 15 "" + PICTURE "###.###.###^^^" + MESSAGE ADD,FL->56 + FIELD 44->INTERE2 +END + +STRINGA 57 +BEGIN + KEY "CONGUAGLI NON EFFETTUATI" + PROMPT 73 15 "" + FIELD 44->CNEFF +END + +STRINGA 58 +BEGIN + KEY "RETTIFICA CONGUAGLIO" + PROMPT 81 15 "" + FIELD 44->RETCON +END + +NUMERO 59 +BEGIN + KEY "IMPOSTA RIMBORSATA" + PROMPT 85 15 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->59 + FIELD 44->IMPRIMB +END + +NUMERO 60 +BEGIN + KEY "IMPOSTA VERSATA" + PROMPT 101 15 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->60 + FIELD 44->IMPVER +END + +NUMERO 61 +BEGIN + KEY "INTERESSI" + PROMPT 117 15 "" + PICTURE "###.###.###.###^^^" + MESSAGE ADD,FL->61 + FIELD 44->INTIRPEF +END + +NUMERO 62 +BEGIN + KEY "IMPOSTA VERSATA" + PROMPT 13 17 "" + PICTURE "###.###^^^" + MESSAGE ADD,FL->62 + FIELD 44->IMPVER2 +END + +NUMERO 63 +BEGIN + KEY "INTERESSI" + PROMPT 24 17 "" + PICTURE "###.###^^^" + MESSAGE ADD,FL->63 + FIELD 44->INTER +END + +NUMERO 64 +BEGIN + KEY "SOPPRATTASSA SU IRPEF" + PROMPT 36 17 "" + PICTURE "###.###^^^" + MESSAGE ADD,FL->64 + FIELD 44->STSIRPEF +END + +NUMERO 65 +BEGIN + KEY "CONTRIBUTO A RIMBORSO" + PROMPT 45 17 "" + PICTURE "###.###.###^^^" + MESSAGE ADD,FL->65 + FIELD 44->CONRIMB +END + +NUMERO 66 +BEGIN + KEY "CONTRIBUTO VERSATO" + PROMPT 59 17 "" + PICTURE "###.###.###^^^" + MESSAGE ADD,FL->66 + FIELD 44->CONVER +END + +NUMERO 67 +BEGIN + KEY "INTERESSI" + PROMPT 73 17 "" + PICTURE "###.###.###^^^" + MESSAGE ADD,FL->67 + FIELD 44->INTER2 +END + +NUMERO 68 +BEGIN + KEY "CONTRIBUTO VERSATO" + PROMPT 86 17 "" + PICTURE "###.###.###^^^" + MESSAGE ADD,FL->68 + FIELD 44->CONVER2 +END + +NUMERO 69 +BEGIN + KEY "INTERESSI" + PROMPT 100 17 "" + PICTURE "###.###.###^^^" + MESSAGE ADD,FL->69 + FIELD 44->INTER3 +END + +NUMERO 70 +BEGIN + KEY "SOPPRATTASE SU C.S.S.N." + PROMPT 114 17 "" + PICTURE "###.###.###^^^" + MESSAGE ADD,FL->70 + FIELD 44->STSCSSN70 +END + +STRINGA 71 +BEGIN + KEY "MODELLO 730 NON LIQUIDABILE" + PROMPT 129 17 "" + FIELD 44->M730NLIQ +END + +STRINGA 72 +BEGIN + KEY "CODICE FISCALE CAAF" + PROMPT 11 19 "" + FIELD 104@->S1 +END + +STRINGA 73 +BEGIN + KEY "DENOMINAZIONE CAAF" + PROMPT 42 19 "" + FIELD 104@->S0 +END + +NUMERO 74 +BEGIN + KEY "NUMERO ISCRIZIONE ALBO" + PROMPT 122 19 "" + FIELD 104@->I1 + PICTURE "#####" +END + +END + +SECTION FOOTER LAST 12 + +NUMERO 20 +BEGIN + KEY "IN DENARO" + PROMPT 9 1 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 21 +BEGIN + KEY "IN NATURA" + PROMPT 24 1 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 22 +BEGIN + KEY "CONTRIBUTI OBBLIGATORI" + PROMPT 39 1 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 23 +BEGIN + KEY "COMPENSI NETTI" + PROMPT 55 1 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 24 +BEGIN + KEY "AMMONTARE LORDO" + PROMPT 70 1 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 25 +BEGIN + KEY "IND.ASS.CONTRIBUTI OBBLIGATORI" + PROMPT 85 1 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 26 +BEGIN + KEY "SOMME NON ASSOG. A RITEN." + PROMPT 101 1 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 27 +BEGIN + KEY "TOTALE IMPONIBILE" + PROMPT 117 1 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 28 +BEGIN + KEY "ASSEGNI ED INDENNITA'" + PROMPT 9 3 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 29 +BEGIN + KEY "AMMONTARE COMPENSI CORRISPOSTI DA TERZI" + PROMPT 24 3 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 30 +BEGIN + KEY "TOTALE IMPONIBILE 2" + PROMPT 39 3 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 31 +BEGIN + KEY "IMPOSTA CORRISPONDENTE" + PROMPT 55 3 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 32 +BEGIN + KEY "DETRAZIONE PER CONIUGE A CARICO" + PROMPT 70 3 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 33 +BEGIN + KEY "DETRAZIONE PER FIGLI A CARICO" + PROMPT 85 3 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 34 +BEGIN + KEY "DETRAZIONE PER ALTRI FAMILIARI A CARICO" + PROMPT 101 3 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 35 +BEGIN + KEY "DETRAZIONE PER LAVORO DIPENDENTE" + PROMPT 117 3 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 36 +BEGIN + KEY "DETRAZIONE PER ONERI" + PROMPT 9 5 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 37 +BEGIN + KEY "TOTALE DETRAZIONI" + PROMPT 24 5 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 38 +BEGIN + KEY "INCREMENTO DETRAZIONI PER FIGLI A CARICO" + PROMPT 39 5 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 39 +BEGIN + KEY "RITENUTE OPERATE DA TERZI" + PROMPT 55 5 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 40 +BEGIN + KEY "RITENUTE OPERATE DAL DATORE DI LAVORO" + PROMPT 70 5 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 41 +BEGIN + KEY "ECCEDENZA RITENUTE RIMBORSATE" + PROMPT 85 5 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 42 +BEGIN + KEY "AMMONTARE RITENUTE DOVUTE" + PROMPT 101 5 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 43 +BEGIN + KEY "EROGAZIONI PER SPESE SANITARIE" + PROMPT 117 5 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 44 +BEGIN + KEY "PREMI DI ASSICURAZIONE VITA E INFORTUNI" + PROMPT 9 7 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 45 +BEGIN + KEY "CONTRIBUTI PER PREVIDENZA COMPLEMENTARE" + PROMPT 24 7 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 46 +BEGIN + KEY "CONTRIBUTI OBBLIGATORI A CARICO DEL DIPENDENTE" + PROMPT 39 7 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 47 +BEGIN + KEY "AMMONTARE IMPONIBILE" + PROMPT 55 7 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 48 +BEGIN + KEY "DETRAZIONI D'IMPOSTA" + PROMPT 70 7 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 49 +BEGIN + KEY "RITENUTA ESEGUITA" + PROMPT 85 7 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 50 +BEGIN + KEY "ALTRE SOMME E VALORI NON ASSOGGETTATI A RITENUTA" + PROMPT 101 7 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 51 +BEGIN + KEY "AMMONTARE IMPONIBILE AI FINI DEL C.S.S.N." + PROMPT 117 7 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 53 +BEGIN + KEY "IMPOSTA VERSATA" + PROMPT 20 9 "" + PICTURE "###.###.###^^^" +END + +NUMERO 54 +BEGIN + KEY "INTERESSI" + PROMPT 32 9 "" + PICTURE "###.###.###^^^" +END + +NUMERO 55 +BEGIN + KEY "CONTRIBUTO VERSATO" + PROMPT 45 9 "" + PICTURE "###.###.###^^^" +END + +NUMERO 56 +BEGIN + KEY "INTERESSI" + PROMPT 57 9 "" + PICTURE "###.###.###^^^" +END + +NUMERO 59 +BEGIN + KEY "IMPOSTA RIMBORSATA" + PROMPT 85 9 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 60 +BEGIN + KEY "IMPOSTA VERSATA" + PROMPT 101 9 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 61 +BEGIN + KEY "INTERESSI" + PROMPT 117 9 "" + PICTURE "###.###.###.###^^^" +END + +NUMERO 62 +BEGIN + KEY "IMPOSTA VERSATA" + PROMPT 13 11 "" + PICTURE "###.###^^^" +END + +NUMERO 63 +BEGIN + KEY "INTERESSI" + PROMPT 24 11 "" + PICTURE "###.###^^^" +END + +NUMERO 64 +BEGIN + KEY "SOPPRATTASSA SU IRPEF" + PROMPT 36 11 "" + PICTURE "###.###^^^" +END + +NUMERO 65 +BEGIN + KEY "CONTRIBUTO A RIMBORSO" + PROMPT 45 11 "" + PICTURE "###.###.###^^^" +END + +NUMERO 66 +BEGIN + KEY "CONTRIBUTO VERSATO" + PROMPT 59 11 "" + PICTURE "###.###.###^^^" +END + +NUMERO 67 +BEGIN + KEY "INTERESSI" + PROMPT 73 11 "" + PICTURE "###.###.###^^^" +END + +NUMERO 68 +BEGIN + KEY "CONTRIBUTO VERSATO" + PROMPT 86 11 "" + PICTURE "###.###.###^^^" +END + +NUMERO 69 +BEGIN + KEY "INTERESSI" + PROMPT 100 11 "" + PICTURE "###.###.###^^^" +END + +NUMERO 70 +BEGIN + KEY "SOPPRATTASE SU C.S.S.N." + PROMPT 114 11 "" + PICTURE "###.###.###^^^" +END + +NUMERO 730 +BEGIN + KEY "NUMERO MOD.730" + PROMPT 21 14 "" + FIELD 36->N730ALLA +END + +STRINGA 2 +BEGIN + KEY "FIRMA" + PROMPT 83 18 "" + FIELD 106@->RAGSOC +END + + +END + +END diff --git a/m770/77qa2.frm b/m770/77qa2.frm index f09543ce4..fff9d70df 100755 --- a/m770/77qa2.frm +++ b/m770/77qa2.frm @@ -1,468 +1,468 @@ -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 119 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 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 diff --git a/m770/77qa3.frm b/m770/77qa3.frm index 1aa333ef3..5049cb8ca 100755 --- a/m770/77qa3.frm +++ b/m770/77qa3.frm @@ -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 5 "" - PICTURE "###.###.###.###^^^" -END - -NUMERO 12 -BEGIN - KEY "REDDITO CORRISPOSTO" - PROMPT 77 5 "" - PICTURE "###.###.###.###^^^" -END - -STRINGA 2 -BEGIN - KEY "FIRMA" - PROMPT 83 8 "" - 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 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 diff --git a/m770/77stq.cpp b/m770/77stq.cpp index 761573402..37dda5fab 100755 --- a/m770/77stq.cpp +++ b/m770/77stq.cpp @@ -81,13 +81,13 @@ bool TDicForm::InitPrint(const long codditta) } const bool was_open = pr.isopen(); - + if (!was_open && !pr.open()) + return FALSE; + set_last_page(FALSE); set_background(1, TRUE); set_curr_page(PRIMA); - if (!was_open && !pr.open()) - return FALSE; do_events(); _Items = filtra(codditta); @@ -103,7 +103,7 @@ bool TDicForm::InitPrint(const long codditta) if (pr.printtype() != screenvis) { TString msg(60); - msg.format("Elaborazione in corso ditta %ld", codditta); + msg.format("Elaborazione della ditta %ld", codditta); _prog = new TProgind(_Items, msg, FALSE,TRUE); } return TRUE; @@ -508,7 +508,7 @@ bool TDicForm::PaginaPosizionamento() const int TDicForm::dic_form_len() const { - if (curr_page() == PRIMA) + if (curr_page() == PRIMA && _PaginaPosizionamento && !_GiaPosizionato) return QD_FORMLEN_PRIMA; else return QD_FORMLEN; @@ -524,16 +524,12 @@ 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++) { - if (i == 0) - if (_modulaser) - { - if (!_GiaMessoStartPage[pagina]) - put_modulaser(row, STARTPAGE, pagina); - } + if (i == 0 && _modulaser && !_GiaMessoStartPage[pagina]) + put_modulaser(row, STARTPAGE, pagina); + // Sull'ultima riga metto il codice ditta if (i == stop - 2) { @@ -543,25 +539,24 @@ 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; - return; } else // righe > 0 { for (int i=0; i < righe; i++) { if (i == 0 && _modulaser && !_GiaMessoStartPage[pagina]) + { put_modulaser(row, STARTPAGE, pagina); - else + pr.print(row); row.reset(); - pr.print(row); - row.reset(); + } + else + pr.print(row); _RigaCorr++; } } @@ -605,7 +600,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 HEADER_PRIMA_NOPOS = 2; head.update(); for (word j = 0; j <= r; j++) { @@ -626,11 +621,9 @@ void TDicForm::stampa_testata(TPrinter& pr) if (!PaginaPosizionamento()) fill_page(pr, HEADER_PRIMA_NOPOS); } - else - { - pr.print(head.row(j)); - _RigaCorr++; - } + + pr.print(head.row(j)); + _RigaCorr++; } } @@ -720,7 +713,7 @@ class TQuadroG : public TDicForm void stampa_prospetti3_4(TPrinter& pr); protected: - virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } + virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } virtual void inc_curr_page(); virtual void next_page(TPrinter& pr); virtual void stampa_totali(TPrinter& pr) {} @@ -1558,7 +1551,8 @@ bool TStampaQuadro::print_quadro(const int OffsetDitta, const bool modulaser) // Setta formlen prima di printer.open per avere la lunghezza giusta nel caso di // stampa a video printer().formlen(QD_FORMLEN); - bool ok = printer().open(); + const bool ok = printer().open(); + CHECK(ok, "La stampante non si apre"); ff->set_cursor(get_cursor()); ff->azzera_totali(); @@ -2680,7 +2674,8 @@ bool TStampaQuadroG::print_quadro(const int OffsetDitta, const bool modulaser) // Setta formlen prima di printer.open per avere la lunghezza giusta nel caso di // stampa a video printer().formlen(QG_FORMLEN); - bool ok = printer().open(); + const bool ok = printer().open(); + CHECK(ok, "La stampante non si apre"); _form_g->set_cursor(_cur_g); _form_gd->set_cursor(_cur_gd); @@ -3124,7 +3119,7 @@ class TQuadroF : public TDicForm void azzera_contatori(); void aggiorna_totali(char tipoprosp, TRectype& r); void stampa_totali(char tipoprosp, TPrinter& pr); - virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } + virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } public: virtual bool print(const long codditta, const long numfis=0L, const long numnofis=0L); @@ -3742,7 +3737,8 @@ bool TStampaBusta::print_quadro(const int OffsetDitta, const bool modulaser) // Setta formlen prima di printer.open per avere la lunghezza giusta nel caso di stampa a video printer().formlen(ff->height()); - bool ok = printer().open(); + const bool ok = printer().open(); + CHECK(ok, "La stampante non si apre"); ff->set_modulaser(modulaser); @@ -3816,10 +3812,11 @@ int stampa_quadro(int argc, char* argv[]) default: app = new TStampaQuadroA(quadro, livello); break; } } - else if (quadro[0] == 'B' && quadro[1] != 'a') + else if (quadro[0] == 'B') { - switch (quadro[1]) - { + switch (toupper(quadro[1])) + { + case 'A': app = new TStampaBase(livello); break; case 'U': app = new TStampaBusta(quadro, livello); break; default : app = new TStampaQuadroB(quadro, livello); break; } @@ -3836,10 +3833,6 @@ int stampa_quadro(int argc, char* argv[]) { app = new TStampaQuadroG1(livello); } - else if (quadro == "Base") - { - app = new TStampaBase(livello); - } else if (quadro == "H") { app = new TStampaQuadroH(quadro, livello); diff --git a/m770/77stqab.cpp b/m770/77stqab.cpp index ccc9e8293..e102e5190 100755 --- a/m770/77stqab.cpp +++ b/m770/77stqab.cpp @@ -1,642 +1,641 @@ -/////////////////////////////////////////////////////////// -// Quadro 770/A -/////////////////////////////////////////////////////////// - -#include "77stqab.h" - -TDipendente::TDipendente(const TCursor& cur) -{ - _pos = ((TCursor&)cur).pos(); - - const TRectype& rec = cur.curr(); - const TRectype& dip = cur.curr(LF_DIPEND); - - _codice_ditta = rec.get_long("CODDITTA"); - _ragsoc = dip.get("COGNOME"); _ragsoc << ' ' << dip.get("NOME"); - _codice_deceduto = dip.get_long("CODDIPDEC"); - _codice_dipendente = rec.get_long("CODDIP"); - - if (rec.num() == LF_QUAA) - { - _fine_rapporto = rec.get("DATAFR"); - _lavoro_precedente = rec.get("CFDLPREC").not_empty(); - _causa = toupper(rec.get_char("CAUSA")); - _rettifica_conguaglio = toupper(rec.get_char("RETCON")); - _numero_progressivo = rec.get_int("NPROG"); - } - else - { - _fine_rapporto = rec.get("DATAFIN"); - _lavoro_precedente = FALSE; - _causa = ' '; - _rettifica_conguaglio = ' '; - _numero_progressivo = rec.get_int("NPROG"); - } - - if (_rettifica_conguaglio == 'B' || !_fine_rapporto.ok()) - _fine_rapporto = eotime; -} - -int TDipendente::compare(const TSortable& s) const -{ - const TDipendente& rec = (const TDipendente&)s; - - if (_codice_ditta != rec._codice_ditta) - return _codice_ditta > rec._codice_ditta ? +1 : -1; - - const int diff = _ragsoc.compare(rec._ragsoc, -1, TRUE); - if (diff != 0) - return diff; - - if (_codice_dipendente != rec._codice_dipendente) - return _codice_dipendente > rec._codice_dipendente ? +1 : -1; - - if (_fine_rapporto != rec._fine_rapporto) - return _fine_rapporto > rec._fine_rapporto ? +1 : -1; - - if (_lavoro_precedente != rec._lavoro_precedente) - return _lavoro_precedente ? +1 : -1; - - if (_causa != rec._causa) - return _causa > rec._causa ? +1 : -1; - - if (_rettifica_conguaglio != rec._rettifica_conguaglio) - return _rettifica_conguaglio > rec._rettifica_conguaglio ? +1 : -1; - - return _numero_progressivo - rec._numero_progressivo; -} - -int TDipendenti::find(long cod) const -{ - for (int i = _data.last(); i >= 0; i--) - if (dip(i).codice() == cod) - break; - return i; -} - -int TDipendenti::fill(TCursor& cur) -{ - for (cur = 0; cur.ok(); ++cur) - { - TDipendente* n = new TDipendente(cur); - if (n->pos() >= 0) - _data.add(n); - else - delete n; - } - const int i = _data.items(); - if (i > 0) - { - _data.sort(); - for (int d = i-1; d >= 0; d--) - { - const long coddec = dip(d).codice_deceduto(); - if (coddec > 0) // E' un erede! - { - const int posdec = find(coddec); - if (posdec >= 0 && posdec != d-1) // Il deceduto esiste - { - TDipendente* dipen = (TDipendente*)_data.remove(d, TRUE); - dipen->reset_deceduto(); // Non e' piu' un erede - _data.insert(dipen, posdec+1); // Attaccalo dietro al deceduto - } - } - } - } - return i; -} - -void TQuadroA::azzera_totali() -{ - TPrint_section& totali = section('F', last_page); - totali.reset(); // Azzera le righe - - for (int i = totali.fields()-1; i >= 0; i--) - totali.field(i).set(""); // Azzera i campi -} - -void TQuadroA::preprocess_corpo(const TRectype& rec) -{ - if (rec.num() == LF_QUAA) - { - const bool lav_prec = rec.get("CFDLPREC").not_empty(); - const char rett_con = toupper(rec.get_char("RETCON")); - - const bool add = !lav_prec && rett_con != 'B'; - enable_message_add(add); - - // Nasconde i dati anagrafici quando rett_con = B - TPrint_section& body = section('B', odd_page); - for (int i = 2; i <= 12; i++) - { - TForm_item& f = body.field(i); - f.enable(rett_con != 'B'); - } - - // Stampa solo le date di fine rapporto del 95 - TForm_item& datafr = body.field(16); - const TDate dfr = rec.get("DATAFR"); - datafr.enable(dfr.year() == 1995); - } -} - -void TQuadroA::stampa_corpo(TPrinter& pr) -{ - TPrint_section& body = section('B', odd_page); - body.reset(); - body.update(); - - const int body_righe = body.height(); - for (int i = 0; i < body_righe; i++) - { - pr.print(body.row(i)); - _RigaCorr++; - } - - if (usa_progind()) - progind()->addstatus(1); -} - - -void TQuadroA::stampa_totali(TPrinter& pr) -{ - TPrint_section& totali = section('F', last_page); - totali.update(); - for (int i = 0; i < totali.items(); i++) - { - pr.print(totali.row(i)); - _RigaCorr++; - } -} - -void TQuadroA::stampa_firma(TPrinter& pr) -{ - TPrint_section& totali = section('F', last_page); - totali.update(); - - TForm_item& signature = totali.find_field(2); - const int lasty = signature.y(); - TPrintrow empty; - - for (int i = 0; i < totali.items(); i++) - { - if (i < lasty) - pr.print(empty); - else - pr.print(totali.row(i)); - _RigaCorr++; - } -} - -void TQuadroA::next_page(TPrinter& pr) -{ - fill_page(pr, -1); // formfeed "adattato" - inc_curr_page(); -} - -int TQuadroA::elementi_pagina(PaginaQuadro p) const -{ - const int n[4] = { 1, 3, 3, 2 }; - return n[p - PRIMA]; -} - -int TQuadroA::prima_riga(PaginaQuadro p) const -{ - return p == PRIMA ? 45 : 5; -} - -int TQuadroA::riga_totali(PaginaQuadro p) const -{ - const int h = ((TQuadroA*)this)->section('B', odd_page).height(); - return prima_riga(p) + elementi_pagina(p) * h; -} - -bool TQuadroA::init(long codditta) -{ - azzera_totali(); - return InitPrint(codditta); -} - -bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis) -{ - TCursor& cur = *cursor(); - TPrinter& pr = printer(); - - if (!init(codditta)) - return FALSE; - - pr.formlen(QA_FORMLEN); - - int elementi = 0; // Numero di elementi stampati in questa pagina - bool stampato_ultimo = FALSE; - bool stampati_totali = FALSE; - - int pos = 0; - TDipendenti indice; - if (quadro() == "A" || quadro() == "B") - { - const int i = indice.fill(cur); - if (i > 0) - { - if (usa_progind()) - progind()->addstatus(cur.items()-i); // Segna come elaborati tutti gli ignorati - - cur = indice[0].pos(); - } - else - return FALSE; - } - else - cur = 0; - - while (!stampati_totali) - { - bool stampero_ultimo = (stampato_ultimo == FALSE); - if (stampero_ultimo) - { - if (indice.items() > 0) // Usa indice alternativo - stampero_ultimo &= pos == indice.items()-1; - else // Usa indice del cursore - stampero_ultimo &= cur.pos() == cur.items()-1; - } - -// Usato per stampare la VK_ENDDOC in fill_page() - _EndPrintDitta=stampato_ultimo; - if (!stampato_ultimo) - preprocess_corpo(cur.curr()); - - switch(_PaginaCorrente) - { - case PRIMA: - if (_modulaser) - ClearFlagModulaser(); - - if (elementi == 0) - { - stampa_testata(pr); - jump_to_line(pr, prima_riga(PRIMA)); - } - - if (!stampato_ultimo) - { - stampa_corpo(pr); - stampato_ultimo = stampero_ultimo; - } - - elementi++; - if (elementi >= elementi_pagina(PRIMA)) - { - next_page(pr); - elementi = 0; - } - break; - case SECONDA: - case TERZA: - if (!stampato_ultimo) - { - if (elementi == 0) - jump_to_line(pr, prima_riga(_PaginaCorrente)); - stampa_corpo(pr); - stampato_ultimo = stampero_ultimo; - } - elementi++; - if (elementi >= elementi_pagina(_PaginaCorrente)) - { - next_page(pr); - elementi = 0; - } - break; - case QUARTA: - if (!stampato_ultimo) - { - if (elementi == 0) - jump_to_line(pr, prima_riga(QUARTA)); - - stampa_corpo(pr); - stampato_ultimo = stampero_ultimo; - } - - elementi++; - - if (elementi >= elementi_pagina(QUARTA)) - { - jump_to_line(pr, riga_totali(QUARTA)); - if (stampato_ultimo) - { - stampa_totali(pr); - stampati_totali = TRUE; - } - else - stampa_firma(pr); - - next_page(pr); - elementi = 0; - } - break; - default: - CHECK(0, "Invalid Quadro A page"); - break; - } - - if (!stampato_ultimo) - { - if (indice.items() > 0) - cur = indice[++pos].pos(); - else - ++cur; - } - } - - close_print(); - - return TRUE; -} - -bool TStampaQuadroA::user_create() -{ - _form = new TQuadroA("77QA", quadro()); - - TString sortkey(80); - sortkey.format("CODDITTA|%d->COGNOME|%d->NOME|CODDIP", LF_DIPEND, LF_DIPEND); - _cur = new TSorted_cursor(_form->TForm::relation(), sortkey); - - return TRUE; -} - -bool TStampaQuadroA::user_destroy() -{ - if (_cur) - delete _cur; - - if (_form) - delete _form; - - return TRUE; -} - -///////////////////////////////////////////////////////////////////////////////// -// Quadro A1 -///////////////////////////////////////////////////////////////////////////////// - -int TQuadroA1::elementi_pagina(PaginaQuadro p) const -{ - const int n[4] = { 3, 6, 6, 5 }; - return n[p-PRIMA]; -} - -int TQuadroA1::prima_riga(PaginaQuadro p) const -{ - return p == PRIMA ? 32 : 4; -} - -long TQuadroA1::filtra(const long codditta) -{ - TString filtr(32); - filtr.format("CODDITTA=%ld|ANNORIF=1995", codditta); - - cursor()->setfilter(filtr, TRUE); - const long items = cursor()->items(); - - return items; -} - -void TQuadroA1::preprocess_corpo(const TRectype& rec) -{ - if (rec.num() == LF_QUAA1) - { - // Stampa solo le date di ricezione del 95 - const TDate dr = rec.get("DATARIC26"); - TForm_item& dataric = find_field('B', odd_page, 26); - dataric.enable(dr.year() == 1995); - } -} - -bool TStampaQuadroA1::user_create() -{ - _form = new TQuadroA1("77QA1", quadro()); - - TString sortkey(80); - sortkey.format("CODDITTA|%d->COGNOME|%d->NOME|CODDIP|MESERIF|NPROG", LF_DIPEND, LF_DIPEND); - _cur = new TSorted_cursor(_form->TForm::relation(), sortkey); - - return TRUE; -} - -///////////////////////////////////////////////////////////////////////////////// -// Quadro A2 -///////////////////////////////////////////////////////////////////////////////// - -int TQuadroA2::elementi_pagina(PaginaQuadro p) const -{ - const int n[4] = { 3, 6, 6, 5 }; - return n[p-PRIMA]; -} - -int TQuadroA2::prima_riga(PaginaQuadro p) const -{ - return p == PRIMA ? 32 : 4; -} - -void TQuadroA2::preprocess_corpo(const TRectype& rec) -{ - if (rec.num() == LF_QUAA2) - { - const char ret_con = toupper(rec.get_char("RETCON")); - const bool add = ret_con != 'B'; - enable_message_add(add); - - // Nasconde i dati anagrafici quando rett_con = B - TPrint_section& body = section('B', odd_page); - for (int i = 2; i <= 7; i++) - { - TForm_item& f = body.field(i); - f.enable(add); - } - } -} - -bool TStampaQuadroA2::user_create() -{ - _form = new TQuadroA2("77QA2", quadro()); - - TString sortkey(80); - sortkey.format("CODDITTA|%d->COGNOME|%d->NOME|CODDIP|RETCON|NPROG", LF_DIPEND, LF_DIPEND); - _cur = new TSorted_cursor(_form->TForm::relation(), sortkey); - - return TRUE; -} - -///////////////////////////////////////////////////////////////////////////////// -// Quadro A3 -///////////////////////////////////////////////////////////////////////////////// - -int TQuadroA3::elementi_pagina(PaginaQuadro p) const -{ - const int n[4] = { 6, 10, 10, 9 }; - return n[p-PRIMA]; -} - -int TQuadroA3::prima_riga(PaginaQuadro p) const -{ - return p == PRIMA ? 32 : 4; -} - -bool TStampaQuadroA3::user_create() -{ - _form = new TQuadroA3("77QA3", quadro()); - - TString sortkey(80); - sortkey.format("CODDITTA|NPROG|%d->COGNOME|%d->NOME|CODDIP", LF_DIPEND, LF_DIPEND); - _cur = new TSorted_cursor(_form->TForm::relation(), sortkey); - - return TRUE; -} - -///////////////////////////////////////////////////////////////// -// QUADRO B -///////////////////////////////////////////////////////////////// - -int TQuadroB::elementi_pagina(PaginaQuadro p) const -{ - const int n[4] = { 3, 5, 5, 3 }; - return n[p-PRIMA]; -} - -int TQuadroB::prima_riga(PaginaQuadro p) const -{ - return p == PRIMA ? 32 : 6; -} - -bool TStampaQuadroB::user_create() -{ - _form = new TQuadroB("77QB", quadro()); - - TString sortkey(80); - sortkey.format("CODDITTA|%d->COGNOME|%d->NOME|CODDIP|DATAINI|NPROG", LF_DIPEND, LF_DIPEND); - _cur = new TSorted_cursor(_form->TForm::relation(), sortkey); - - return TRUE; -} - -////////////////////////////////////////////////////////////// -// QUADRO H -////////////////////////////////////////////////////////////// - -void TQuadroH::inc_curr_page() -{ - if (_PaginaCorrente == PRIMA) - _PaginaCorrente = SECONDA; - else - if (_PaginaCorrente == SECONDA) - _PaginaCorrente = PRIMA; -} - -int TQuadroH::elementi_pagina(PaginaQuadro p) const -{ - const int n[2] = { 21, 27 }; - return n[p-PRIMA]; -} - -int TQuadroH::prima_riga(PaginaQuadro p) const -{ - return p == PRIMA ? 24 : 9; -} - -bool TQuadroH::print(const long codditta, const long NumFis, const long NumNoFis) -{ - TCursor& cur = *cursor(); - TPrinter& pr = printer(); - - if (!InitPrint(codditta)) - return FALSE; - - pr.formlen(QH_FORMLEN); - - int elementi = 0; // Numero di elementi stampati in questa pagina - bool stampato_ultimo = FALSE; - bool stampati_totali = FALSE; - - cur = 0; - - while (!stampati_totali) - { - bool stampero_ultimo = stampato_ultimo == FALSE; - if (stampero_ultimo) - stampero_ultimo &= cur.pos() == cur.items()-1; - - switch(_PaginaCorrente) - { - case PRIMA: - if (_modulaser) - ClearFlagModulaser(); - - if (elementi == 0) - { - stampa_testata(pr); - jump_to_line(pr, prima_riga(PRIMA)); - } - - if (!stampato_ultimo) - { - stampa_corpo(pr); - stampato_ultimo = stampero_ultimo; - } - - _EndPrintDitta=stampato_ultimo; - - elementi++; - if (elementi >= elementi_pagina(PRIMA)) - { - next_page(pr); - elementi = 0; - } - break; - case SECONDA: - if (!stampato_ultimo) - { - if (elementi == 0) - jump_to_line(pr, prima_riga(SECONDA)); - - stampa_corpo(pr); - stampato_ultimo = stampero_ultimo; - } - _EndPrintDitta=stampato_ultimo; - - elementi++; - - if (elementi >= elementi_pagina(SECONDA)) - { - if (stampato_ultimo) - { - jump_to_line(pr, riga_totali(SECONDA)); - stampa_totali(pr); - stampati_totali = TRUE; - } - next_page(pr); - elementi = 0; - } - break; - default: - CHECK(0, "Invalid Quadro A page"); - break; - } - - if (!stampato_ultimo) - ++cur; - } - - close_print(); - - return TRUE; -} - -bool TStampaQuadroH::user_create() -{ - _form = new TQuadroH("77QH", quadro()); - - TString sortkey(80); - sortkey.format("CODDITTA|H1ANNO|H1ENTE", LF_QUAH, LF_QUAH); - _cur = new TSorted_cursor(_form->TForm::relation(), sortkey); - - return TRUE; -} +/////////////////////////////////////////////////////////// +// Quadro 770/A +/////////////////////////////////////////////////////////// + +#include "77stqab.h" + +TDipendente::TDipendente(const TCursor& cur) +{ + _pos = ((TCursor&)cur).pos(); + + const TRectype& rec = cur.curr(); + const TRectype& dip = cur.curr(LF_DIPEND); + + _codice_ditta = rec.get_long("CODDITTA"); + _ragsoc = dip.get("COGNOME"); _ragsoc << ' ' << dip.get("NOME"); + _codice_deceduto = dip.get_long("CODDIPDEC"); + _codice_dipendente = rec.get_long("CODDIP"); + + if (rec.num() == LF_QUAA) + { + _fine_rapporto = rec.get("DATAFR"); + _lavoro_precedente = rec.get("CFDLPREC").not_empty(); + _causa = toupper(rec.get_char("CAUSA")); + _rettifica_conguaglio = toupper(rec.get_char("RETCON")); + _numero_progressivo = rec.get_int("NPROG"); + } + else + { + _fine_rapporto = rec.get("DATAFIN"); + _lavoro_precedente = FALSE; + _causa = ' '; + _rettifica_conguaglio = ' '; + _numero_progressivo = rec.get_int("NPROG"); + } + + if (_rettifica_conguaglio == 'B' || !_fine_rapporto.ok()) + _fine_rapporto = eotime; +} + +int TDipendente::compare(const TSortable& s) const +{ + const TDipendente& rec = (const TDipendente&)s; + + if (_codice_ditta != rec._codice_ditta) + return _codice_ditta > rec._codice_ditta ? +1 : -1; + + const int diff = _ragsoc.compare(rec._ragsoc, -1, TRUE); + if (diff != 0) + return diff; + + if (_codice_dipendente != rec._codice_dipendente) + return _codice_dipendente > rec._codice_dipendente ? +1 : -1; + + if (_fine_rapporto != rec._fine_rapporto) + return _fine_rapporto > rec._fine_rapporto ? +1 : -1; + + if (_lavoro_precedente != rec._lavoro_precedente) + return _lavoro_precedente ? +1 : -1; + + if (_causa != rec._causa) + return _causa > rec._causa ? +1 : -1; + + if (_rettifica_conguaglio != rec._rettifica_conguaglio) + return _rettifica_conguaglio > rec._rettifica_conguaglio ? +1 : -1; + + return _numero_progressivo - rec._numero_progressivo; +} + +int TDipendenti::find(long cod) const +{ + for (int i = _data.last(); i >= 0; i--) + if (dip(i).codice() == cod) + break; + return i; +} + +int TDipendenti::fill(TCursor& cur) +{ + for (cur = 0; cur.ok(); ++cur) + { + TDipendente* n = new TDipendente(cur); + if (n->pos() >= 0) + _data.add(n); + else + delete n; + } + const int i = _data.items(); + if (i > 0) + { + _data.sort(); + for (int d = i-1; d >= 0; d--) + { + const long coddec = dip(d).codice_deceduto(); + if (coddec > 0) // E' un erede! + { + const int posdec = find(coddec); + if (posdec >= 0 && posdec != d-1) // Il deceduto esiste + { + TDipendente* dipen = (TDipendente*)_data.remove(d, TRUE); + dipen->reset_deceduto(); // Non e' piu' un erede + _data.insert(dipen, posdec+1); // Attaccalo dietro al deceduto + } + } + } + } + return i; +} + +void TQuadroA::azzera_totali() +{ + TPrint_section& totali = section('F', last_page); + totali.reset(); // Azzera le righe + + for (int i = totali.fields()-1; i >= 0; i--) + totali.field(i).set(""); // Azzera i campi +} + +void TQuadroA::preprocess_corpo(const TRectype& rec) +{ + if (rec.num() == LF_QUAA) + { + const bool lav_prec = rec.get("CFDLPREC").not_empty(); + const char rett_con = toupper(rec.get_char("RETCON")); + + const bool add = !lav_prec && rett_con != 'B'; + enable_message_add(add); + + // Nasconde i dati anagrafici quando rett_con = B + TPrint_section& body = section('B', odd_page); + for (int i = 2; i <= 12; i++) + { + TForm_item& f = body.find_field(i); + f.enable(rett_con != 'B'); + } + + // Stampa solo le date di fine rapporto del 95 + TForm_item& datafr = body.find_field(16); + const TDate dfr = rec.get("DATAFR"); + datafr.enable(dfr.year() == 1995); + } +} + +void TQuadroA::stampa_corpo(TPrinter& pr) +{ + TPrint_section& body = section('B', odd_page); + body.reset(); + body.update(); + + const int body_righe = body.height(); + for (int i = 0; i < body_righe; i++) + { + pr.print(body.row(i)); + _RigaCorr++; + } + + if (usa_progind()) + progind()->addstatus(1); +} + + +void TQuadroA::stampa_totali(TPrinter& pr) +{ + TPrint_section& totali = section('F', last_page); + totali.update(); + for (int i = 0; i < totali.items(); i++) + { + pr.print(totali.row(i)); + _RigaCorr++; + } +} + +void TQuadroA::stampa_firma(TPrinter& pr) +{ + TPrint_section& totali = section('F', last_page); + totali.update(); + + TForm_item& signature = totali.find_field(2); + const int lasty = signature.y(); + TPrintrow empty; + + for (int i = 0; i < totali.items(); i++) + { + if (i < lasty) + pr.print(empty); + else + pr.print(totali.row(i)); + _RigaCorr++; + } +} + +void TQuadroA::next_page(TPrinter& pr) +{ + fill_page(pr, -1); // formfeed "adattato" + inc_curr_page(); +} + +int TQuadroA::elementi_pagina(PaginaQuadro p) const +{ + const int n[4] = { 1, 3, 3, 2 }; + return n[p - PRIMA]; +} + +int TQuadroA::prima_riga(PaginaQuadro p) const +{ + return p == PRIMA ? 45 : 5; +} + +int TQuadroA::riga_totali(PaginaQuadro p) const +{ + const int h = ((TQuadroA*)this)->section('B', odd_page).height(); + return prima_riga(p) + elementi_pagina(p) * h; +} + +bool TQuadroA::init(long codditta) +{ + azzera_totali(); + return InitPrint(codditta); +} + +bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis) +{ + TCursor& cur = *cursor(); + TPrinter& pr = printer(); + + if (!init(codditta)) + return FALSE; + + pr.formlen(QA_FORMLEN); + + int elementi = 0; // Numero di elementi stampati in questa pagina + bool stampato_ultimo = FALSE; + bool stampati_totali = FALSE; + + int pos = 0; + TDipendenti indice; + if (quadro() == "A" || quadro() == "B") + { + const int i = indice.fill(cur); + if (i > 0) + { + if (usa_progind()) + progind()->addstatus(cur.items()-i); // Segna come elaborati tutti gli ignorati + + cur = indice[0].pos(); + } + else + return FALSE; + } + else + cur = 0; + + while (!stampati_totali) + { + bool stampero_ultimo = (stampato_ultimo == FALSE); + if (stampero_ultimo) + { + if (indice.items() > 0) // Usa indice alternativo + stampero_ultimo &= pos == indice.items()-1; + else // Usa indice del cursore + stampero_ultimo &= cur.pos() == cur.items()-1; + } + + if (!stampato_ultimo) + preprocess_corpo(cur.curr()); + + switch(_PaginaCorrente) + { + case PRIMA: + if (_modulaser) + ClearFlagModulaser(); + + if (elementi == 0) + { + stampa_testata(pr); + jump_to_line(pr, prima_riga(PRIMA)); + } + + if (!stampato_ultimo) + { + stampa_corpo(pr); + stampato_ultimo = stampero_ultimo; + } + + elementi++; + if (elementi >= elementi_pagina(PRIMA)) + { + next_page(pr); + elementi = 0; + } + break; + case SECONDA: + case TERZA: + if (!stampato_ultimo) + { + if (elementi == 0) + jump_to_line(pr, prima_riga(_PaginaCorrente)); + stampa_corpo(pr); + stampato_ultimo = stampero_ultimo; + } + elementi++; + if (elementi >= elementi_pagina(_PaginaCorrente)) + { + next_page(pr); + elementi = 0; + } + break; + case QUARTA: + if (!stampato_ultimo) + { + if (elementi == 0) + jump_to_line(pr, prima_riga(QUARTA)); + + stampa_corpo(pr); + stampato_ultimo = stampero_ultimo; + } + + elementi++; + + if (elementi >= elementi_pagina(QUARTA)) + { + jump_to_line(pr, riga_totali(QUARTA)); + if (stampato_ultimo) + { + stampa_totali(pr); // Stampa totali e firma + stampati_totali = TRUE; + } + else + stampa_firma(pr); // Stampa solo la firma senza i totali + + // Usato per stampare la VK_ENDDOC in fill_page() + _EndPrintDitta = TRUE; + + next_page(pr); + elementi = 0; + } + break; + default: + CHECK(0, "Invalid Quadro A page"); + break; + } + + if (!stampato_ultimo) + { + if (indice.items() > 0) + cur = indice[++pos].pos(); + else + ++cur; + } + } + + close_print(); + + return TRUE; +} + +bool TStampaQuadroA::user_create() +{ + _form = new TQuadroA("77QA", quadro()); + + TString sortkey(80); + sortkey.format("CODDITTA|%d->COGNOME|%d->NOME|CODDIP", LF_DIPEND, LF_DIPEND); + _cur = new TSorted_cursor(_form->TForm::relation(), sortkey); + + return TRUE; +} + +bool TStampaQuadroA::user_destroy() +{ + if (_cur) + delete _cur; + + if (_form) + delete _form; + + return TRUE; +} + +///////////////////////////////////////////////////////////////////////////////// +// Quadro A1 +///////////////////////////////////////////////////////////////////////////////// + +int TQuadroA1::elementi_pagina(PaginaQuadro p) const +{ + const int n[4] = { 3, 6, 6, 5 }; + return n[p-PRIMA]; +} + +int TQuadroA1::prima_riga(PaginaQuadro p) const +{ + return p == PRIMA ? 32 : 4; +} + +long TQuadroA1::filtra(const long codditta) +{ + TString filtr(32); + filtr.format("CODDITTA=%ld|ANNORIF=1995", codditta); + + cursor()->setfilter(filtr, TRUE); + const long items = cursor()->items(); + + return items; +} + +void TQuadroA1::preprocess_corpo(const TRectype& rec) +{ + if (rec.num() == LF_QUAA1) + { + // Stampa solo le date di ricezione del 95 + const TDate dr = rec.get("DATARIC26"); + TForm_item& dataric = find_field('B', odd_page, 26); + dataric.enable(dr.year() == 1995); + } +} + +bool TStampaQuadroA1::user_create() +{ + _form = new TQuadroA1("77QA1", quadro()); + + TString sortkey(80); + sortkey.format("CODDITTA|%d->COGNOME|%d->NOME|CODDIP|MESERIF|NPROG", LF_DIPEND, LF_DIPEND); + _cur = new TSorted_cursor(_form->TForm::relation(), sortkey); + + return TRUE; +} + +///////////////////////////////////////////////////////////////////////////////// +// Quadro A2 +///////////////////////////////////////////////////////////////////////////////// + +int TQuadroA2::elementi_pagina(PaginaQuadro p) const +{ + const int n[4] = { 3, 6, 6, 5 }; + return n[p-PRIMA]; +} + +int TQuadroA2::prima_riga(PaginaQuadro p) const +{ + return p == PRIMA ? 32 : 4; +} + +void TQuadroA2::preprocess_corpo(const TRectype& rec) +{ + if (rec.num() == LF_QUAA2) + { + const char ret_con = toupper(rec.get_char("RETCON")); + const bool add = ret_con != 'B'; + enable_message_add(add); + + // Nasconde i dati anagrafici quando rett_con = B + TPrint_section& body = section('B', odd_page); + for (int i = 2; i <= 7; i++) + { + TForm_item& f = body.find_field(i); + f.enable(add); + } + } +} + +bool TStampaQuadroA2::user_create() +{ + _form = new TQuadroA2("77QA2", quadro()); + + TString sortkey(80); + sortkey.format("CODDITTA|%d->COGNOME|%d->NOME|CODDIP|RETCON|NPROG", LF_DIPEND, LF_DIPEND); + _cur = new TSorted_cursor(_form->TForm::relation(), sortkey); + + return TRUE; +} + +///////////////////////////////////////////////////////////////////////////////// +// Quadro A3 +///////////////////////////////////////////////////////////////////////////////// + +int TQuadroA3::elementi_pagina(PaginaQuadro p) const +{ + const int n[4] = { 6, 10, 10, 9 }; + return n[p-PRIMA]; +} + +int TQuadroA3::prima_riga(PaginaQuadro p) const +{ + return p == PRIMA ? 32 : 4; +} + +bool TStampaQuadroA3::user_create() +{ + _form = new TQuadroA3("77QA3", quadro()); + + TString sortkey(80); + sortkey.format("CODDITTA|NPROG|%d->COGNOME|%d->NOME|CODDIP", LF_DIPEND, LF_DIPEND); + _cur = new TSorted_cursor(_form->TForm::relation(), sortkey); + + return TRUE; +} + +///////////////////////////////////////////////////////////////// +// QUADRO B +///////////////////////////////////////////////////////////////// + +int TQuadroB::elementi_pagina(PaginaQuadro p) const +{ + const int n[4] = { 3, 5, 5, 3 }; + return n[p-PRIMA]; +} + +int TQuadroB::prima_riga(PaginaQuadro p) const +{ + return p == PRIMA ? 32 : 6; +} + +bool TStampaQuadroB::user_create() +{ + _form = new TQuadroB("77QB", quadro()); + + TString sortkey(80); + sortkey.format("CODDITTA|%d->COGNOME|%d->NOME|CODDIP|DATAINI|NPROG", LF_DIPEND, LF_DIPEND); + _cur = new TSorted_cursor(_form->TForm::relation(), sortkey); + + return TRUE; +} + +////////////////////////////////////////////////////////////// +// QUADRO H +////////////////////////////////////////////////////////////// + +void TQuadroH::inc_curr_page() +{ + if (_PaginaCorrente == PRIMA) + _PaginaCorrente = SECONDA; + else + _PaginaCorrente = PRIMA; +} + +int TQuadroH::elementi_pagina(PaginaQuadro p) const +{ + return p == PRIMA ? 21 : 27; +} + +int TQuadroH::prima_riga(PaginaQuadro p) const +{ + return p == PRIMA ? 24 : 9; +} + +bool TQuadroH::print(const long codditta, const long NumFis, const long NumNoFis) +{ + TCursor& cur = *cursor(); + TPrinter& pr = printer(); + + if (!InitPrint(codditta)) + return FALSE; + + pr.formlen(QH_FORMLEN); + + int elementi = 0; // Numero di elementi stampati in questa pagina + bool stampato_ultimo = FALSE; + bool stampati_totali = FALSE; + + cur = 0; + + while (!stampati_totali) + { + bool stampero_ultimo = stampato_ultimo == FALSE; + if (stampero_ultimo) + stampero_ultimo &= cur.pos() == cur.items()-1; + + switch(_PaginaCorrente) + { + case PRIMA: + if (_modulaser) + ClearFlagModulaser(); + + if (elementi == 0) + { + stampa_testata(pr); + jump_to_line(pr, prima_riga(PRIMA)); + } + + if (!stampato_ultimo) + { + stampa_corpo(pr); + stampato_ultimo = stampero_ultimo; + } + + _EndPrintDitta=stampato_ultimo; + + elementi++; + if (elementi >= elementi_pagina(PRIMA)) + { + next_page(pr); + elementi = 0; + } + break; + case SECONDA: + if (!stampato_ultimo) + { + if (elementi == 0) + jump_to_line(pr, prima_riga(SECONDA)); + + stampa_corpo(pr); + stampato_ultimo = stampero_ultimo; + } + _EndPrintDitta=stampato_ultimo; + + elementi++; + + if (elementi >= elementi_pagina(SECONDA)) + { + if (stampato_ultimo) + { + jump_to_line(pr, riga_totali(SECONDA)); + stampa_totali(pr); + stampati_totali = TRUE; + } + next_page(pr); + elementi = 0; + } + break; + default: + CHECK(0, "Invalid Quadro A page"); + break; + } + + if (!stampato_ultimo) + ++cur; + } + + close_print(); + + return TRUE; +} + +bool TStampaQuadroH::user_create() +{ + _form = new TQuadroH("77QH", quadro()); + + TString sortkey(80); + sortkey.format("CODDITTA|H1ANNO|H1ENTE", LF_QUAH, LF_QUAH); + _cur = new TSorted_cursor(_form->TForm::relation(), sortkey); + + return TRUE; +}