Modifica al file.frm del quadro D: ho tolto il campo flg I.C.
git-svn-id: svn://10.65.10.50/trunk@3201 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
46e79cfdfd
commit
d4c7ef3b76
831
m770/77qd.frm
831
m770/77qd.frm
@ -1,419 +1,412 @@
|
||||
USE 62
|
||||
JOIN %CA7 TO 62 ALIAS 14 INTO CODTAB=CODCAUS
|
||||
JOIN 9 INTO CODDITTA=CODDITTA
|
||||
JOIN 6 TO 9 ALIAS 116 INTO TIPOA=TIPOA CODANAGR=CODANAGR
|
||||
JOIN 8 TO 6 ALIAS 118 INTO CODANAGR=CODANAGR
|
||||
JOIN 13 TO 8 ALIAS 113 INTO COM=COMNASC
|
||||
JOIN 13 TO 6 ALIAS 213 INTO COM=COMRF(COMRES)
|
||||
JOIN 6 TO 62 ALIAS 216 INTO TIPOA=TIPOA CODANAGR=CODANAGR
|
||||
JOIN 8 TO 216@ ALIAS 218 INTO CODANAGR=CODANAGR
|
||||
JOIN 13 TO 216@ ALIAS 313 INTO COM=COMNASC
|
||||
JOIN 13 TO 218@ ALIAS 413 INTO COM=COMRF(COMRES)
|
||||
JOIN %STA TO 216@ ALIAS 24 INTO CODTAB=STATORES
|
||||
END
|
||||
|
||||
DESCRIPTION
|
||||
BEGIN
|
||||
62->* "Quadro D 770"
|
||||
9->* "Ditte"
|
||||
6->* "Anagrafica persone fisiche e giuridiche"
|
||||
8->* "Anagrafica persone fisiche"
|
||||
113@->* "Comuni"
|
||||
213@->* "Comuni"
|
||||
216@->* "Anagrafica persone fisiche e giuridiche"
|
||||
218@->* "Anagrafica persone giuridiche"
|
||||
313@->* "Comuni"
|
||||
413@->* "Comuni"
|
||||
END
|
||||
|
||||
GENERAL
|
||||
BEGIN
|
||||
OFFSET 0 0
|
||||
FONT "Courier 17cpi"
|
||||
SIZE 10
|
||||
CA "X"
|
||||
IN 3 2
|
||||
FI 131
|
||||
END
|
||||
|
||||
SECTION HEADER FIRST 28
|
||||
|
||||
STRINGA 1
|
||||
BEGIN
|
||||
KEY "CODICE FISCALE"
|
||||
PROMPT 4 9 ""
|
||||
FIELD 116@->COFI
|
||||
END
|
||||
|
||||
STRINGA 2
|
||||
BEGIN
|
||||
KEY "RAGIONE SOCIALE"
|
||||
PROMPT 39 9 ""
|
||||
FIELD 116@->RAGSOC
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 3
|
||||
BEGIN
|
||||
KEY "COGNOME"
|
||||
PROMPT 39 9 ""
|
||||
FIELD 116@->RAGSOC[1,30]
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 4
|
||||
BEGIN
|
||||
KEY "NOME"
|
||||
PROMPT 17 11 ""
|
||||
FIELD 116@->RAGSOC[31,50]
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 5
|
||||
BEGIN
|
||||
KEY "SESSO"
|
||||
PROMPT 58 11 ""
|
||||
FIELD 118@->SESSO
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 6
|
||||
BEGIN
|
||||
KEY "DATA DI NASCITA"
|
||||
PROMPT 66 11 ""
|
||||
FIELD 118@->DATANASC
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 7
|
||||
BEGIN
|
||||
KEY "COMUNE DI NASCITA"
|
||||
PROMPT 84 11 ""
|
||||
FIELD 113@->DENCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 8
|
||||
BEGIN
|
||||
KEY "PROV. DI NASCITA"
|
||||
PROMPT 126 11 ""
|
||||
FIELD 113@->PROVCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
LISTA 9
|
||||
BEGIN
|
||||
KEY "Tipo anagrafica"
|
||||
FIELD 116@->TIPOA
|
||||
ITEM "F| " MESSAGE ENABLE,1@|DISABLE,2@
|
||||
ITEM "G| " MESSAGE ENABLE,2@|DISABLE,1@
|
||||
END
|
||||
|
||||
STRINGA 10
|
||||
BEGIN
|
||||
KEY "COMUNE DI RES.FISCALE"
|
||||
PROMPT 17 13 ""
|
||||
FIELD 213@->DENCOM
|
||||
END
|
||||
|
||||
STRINGA 11
|
||||
BEGIN
|
||||
KEY "PROV DI RES.FISCALE"
|
||||
PROMPT 59 13 ""
|
||||
FIELD 213@->PROVCOM
|
||||
END
|
||||
|
||||
STRINGA 12
|
||||
BEGIN
|
||||
KEY "VIA di RES."
|
||||
PROMPT 66 13 ""
|
||||
FIELD 116@->INDRF
|
||||
END
|
||||
|
||||
STRINGA 13
|
||||
BEGIN
|
||||
KEY "NUM. CIVICO di RES."
|
||||
PROMPT 102 13 ""
|
||||
FIELD 116@->CIVRF
|
||||
END
|
||||
|
||||
STRINGA 14
|
||||
BEGIN
|
||||
KEY "CAP"
|
||||
PROMPT 120 13 ""
|
||||
FIELD 116@->CAPRF
|
||||
END
|
||||
|
||||
STRINGA 15
|
||||
BEGIN
|
||||
KEY "CODICE FISCALE DICHIARANTE"
|
||||
PROMPT 118 16 ""
|
||||
END
|
||||
|
||||
NUMBER 16
|
||||
BEGIN
|
||||
KEY "NUM. FOGLIO"
|
||||
PROMPT 123 20 ""
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
SECTION BODY ODD 8
|
||||
|
||||
LISTA 100
|
||||
BEGIN
|
||||
KEY "Tipo anagrafica"
|
||||
FIELD 216@->TIPOA
|
||||
ITEM "F| " MESSAGE ENABLE,1@|DISABLE,2@
|
||||
ITEM "G| " MESSAGE ENABLE,2@|DISABLE,1@
|
||||
END
|
||||
|
||||
STRINGA 1
|
||||
BEGIN
|
||||
KEY "COD.FIS"
|
||||
PROMPT 10 2 ""
|
||||
FIELD 216@->COFI
|
||||
END
|
||||
|
||||
STRING 2
|
||||
BEGIN
|
||||
KEY "COGNOME"
|
||||
PROMPT 42 2 ""
|
||||
FIELD 216@->RAGSOC[1,30]
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 3
|
||||
BEGIN
|
||||
KEY "NOME"
|
||||
PROMPT 81 2 ""
|
||||
FIELD 216@->RAGSOC[31,50]
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 102
|
||||
BEGIN
|
||||
KEY "RAGSOC GIURIDICHE"
|
||||
PROMPT 54 2 ""
|
||||
FIELD 216@->RAGSOC
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 4
|
||||
BEGIN
|
||||
KEY "DATA NASCITA"
|
||||
PROMPT 114 2 ""
|
||||
FIELD 218@->DATANASC
|
||||
END
|
||||
|
||||
STRING 5
|
||||
BEGIN
|
||||
KEY "SESSO"
|
||||
PROMPT 129 2 ""
|
||||
FIELD 218@->SESSO
|
||||
END
|
||||
|
||||
STRING 6
|
||||
BEGIN
|
||||
KEY "COMUNE DI NASCITA"
|
||||
PROMPT 10 4 ""
|
||||
FIELD 313@->DENCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 101
|
||||
BEGIN
|
||||
KEY "COMUNE DI RESIDENZA GIURIDICHE"
|
||||
PROMPT 10 4 ""
|
||||
FIELD 413@->DENCOM
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 7
|
||||
BEGIN
|
||||
KEY "PROV DI NASCITA"
|
||||
PROMPT 47 4 ""
|
||||
FIELD 313@->PROVCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 8
|
||||
BEGIN
|
||||
KEY "COMUNE DI RESIDENZA"
|
||||
PROMPT 53 4 ""
|
||||
FIELD 413@->DENCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 9
|
||||
BEGIN
|
||||
KEY "PROV. RESIDENZA"
|
||||
PROMPT 88 4 ""
|
||||
FIELD 413@->PROVCOM
|
||||
END
|
||||
|
||||
STRING 106
|
||||
BEGIN
|
||||
KEY "PROV. RESIDENZA GIURIDICHE"
|
||||
PROMPT 61 4 ""
|
||||
FIELD 413@->PROVCOM
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 10
|
||||
BEGIN
|
||||
KEY "VIA RES."
|
||||
PROMPT 94 4 ""
|
||||
FIELD 216@->INDRES[1,18]
|
||||
FLAGS "H"
|
||||
MESSAGE COPY,12|COPY,107
|
||||
END
|
||||
|
||||
STRING 11
|
||||
BEGIN
|
||||
KEY "NUM.CIV"
|
||||
PROMPT 93 4 ""
|
||||
FLAGS "H"
|
||||
FIELD 216@->CIVRES
|
||||
MESSAGE APPEND,12|APPEND,107
|
||||
END
|
||||
|
||||
STRING 12
|
||||
BEGIN
|
||||
KEY "VIA RES. + numcivres"
|
||||
PROMPT 95 4 ""
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 107
|
||||
BEGIN
|
||||
KEY "VIA RES GIURIDICHE"
|
||||
PROMPT 69 4 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 13
|
||||
BEGIN
|
||||
KEY "FLAG I.C."
|
||||
PROMPT 129 4 ""
|
||||
FIELD 14@->B1
|
||||
END
|
||||
|
||||
STRING 14
|
||||
BEGIN
|
||||
KEY "FLAG DI NON RESIDENTE"
|
||||
PROMPT 11 6 ""
|
||||
FIELD 216@->SOGGNRES
|
||||
END
|
||||
|
||||
STRING 15
|
||||
BEGIN
|
||||
KEY "STATO ESTERO DI RES."
|
||||
PROMPT 16 6 ""
|
||||
FIELD 24@->S0
|
||||
END
|
||||
|
||||
STRING 16
|
||||
BEGIN
|
||||
KEY "CODICE STATO ESTERO DI RES."
|
||||
PROMPT 75 6 ""
|
||||
FIELD 216@->STATORES
|
||||
END
|
||||
|
||||
STRING 17
|
||||
BEGIN
|
||||
KEY "CODICE FISCALE ESTERO"
|
||||
PROMPT 89 6 ""
|
||||
FIELD 216@->COFIEST
|
||||
END
|
||||
|
||||
STRING 18
|
||||
BEGIN
|
||||
KEY "DESCR. CAUSALE"
|
||||
PROMPT 10 8 ""
|
||||
FIELD 14@->S0[1,20]
|
||||
END
|
||||
|
||||
STRING 19
|
||||
BEGIN
|
||||
KEY "TOTALE"
|
||||
PROMPT 36 8 ""
|
||||
FIELD 62->TOTALE
|
||||
PICTURE "#########^^^"
|
||||
END
|
||||
|
||||
STRING 20
|
||||
BEGIN
|
||||
KEY "SOMME NON SOGGETTE A RITENUTA"
|
||||
PROMPT 55 8 ""
|
||||
FIELD 62->SOMME
|
||||
PICTURE "#########^^^"
|
||||
END
|
||||
|
||||
STRING 21
|
||||
BEGIN
|
||||
KEY "IMPONIBILE"
|
||||
PROMPT 75 8 ""
|
||||
FIELD 62->IMPONIBILE
|
||||
PICTURE "#########^^^"
|
||||
END
|
||||
|
||||
STRING 22
|
||||
BEGIN
|
||||
KEY "ALIQUOTA"
|
||||
PROMPT 88 8 ""
|
||||
FIELD 62->PERC
|
||||
PICTURE "###@@"
|
||||
END
|
||||
|
||||
STRING 23
|
||||
BEGIN
|
||||
KEY "IMPORTO"
|
||||
PROMPT 100 8 ""
|
||||
FIELD 62->IMPORTO
|
||||
PICTURE "#########^^^"
|
||||
END
|
||||
|
||||
STRING 24
|
||||
BEGIN
|
||||
KEY "NETTO"
|
||||
PROMPT 119 8 ""
|
||||
FIELD 62->NETTO
|
||||
PICTURE "#########^^^"
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
SECTION BODY EVEN 2
|
||||
|
||||
NUMBER 1
|
||||
BEGIN
|
||||
KEY "TOTALE TOTALE"
|
||||
PROMPT 36 1 ""
|
||||
END
|
||||
|
||||
NUMBER 2
|
||||
BEGIN
|
||||
KEY "TOTALE SOMME NON SOGGETTE"
|
||||
PROMPT 55 1 ""
|
||||
END
|
||||
|
||||
NUMBER 3
|
||||
BEGIN
|
||||
KEY "TOTALE IMPONIBILE"
|
||||
PROMPT 75 1 ""
|
||||
END
|
||||
|
||||
NUMBER 4
|
||||
BEGIN
|
||||
KEY "TOTALE IMPORTO"
|
||||
PROMPT 101 1 ""
|
||||
END
|
||||
|
||||
NUMBER 5
|
||||
BEGIN
|
||||
KEY "TOTALE NETTO"
|
||||
PROMPT 120 1 ""
|
||||
END
|
||||
|
||||
END
|
||||
USE 62
|
||||
JOIN %CA7 TO 62 ALIAS 14 INTO CODTAB=CODCAUS
|
||||
JOIN 9 INTO CODDITTA=CODDITTA
|
||||
JOIN 6 TO 9 ALIAS 116 INTO TIPOA=TIPOA CODANAGR=CODANAGR
|
||||
JOIN 8 TO 6 ALIAS 118 INTO CODANAGR=CODANAGR
|
||||
JOIN 13 TO 8 ALIAS 113 INTO COM=COMNASC
|
||||
JOIN 13 TO 6 ALIAS 213 INTO COM=COMRF(COMRES)
|
||||
JOIN 6 TO 62 ALIAS 216 INTO TIPOA=TIPOA CODANAGR=CODANAGR
|
||||
JOIN 8 TO 216@ ALIAS 218 INTO CODANAGR=CODANAGR
|
||||
JOIN 13 TO 216@ ALIAS 313 INTO COM=COMNASC
|
||||
JOIN 13 TO 218@ ALIAS 413 INTO COM=COMRF(COMRES)
|
||||
JOIN %STA TO 216@ ALIAS 24 INTO CODTAB=STATORES
|
||||
END
|
||||
|
||||
DESCRIPTION
|
||||
BEGIN
|
||||
62->* "Quadro D 770"
|
||||
9->* "Ditte"
|
||||
6->* "Anagrafica persone fisiche e giuridiche"
|
||||
8->* "Anagrafica persone fisiche"
|
||||
113@->* "Comuni"
|
||||
213@->* "Comuni"
|
||||
216@->* "Anagrafica persone fisiche e giuridiche"
|
||||
218@->* "Anagrafica persone giuridiche"
|
||||
313@->* "Comuni"
|
||||
413@->* "Comuni"
|
||||
END
|
||||
|
||||
GENERAL
|
||||
BEGIN
|
||||
OFFSET 0 0
|
||||
FONT "Courier 17cpi"
|
||||
SIZE 10
|
||||
CA "X"
|
||||
IN 3 2
|
||||
FI 131
|
||||
END
|
||||
|
||||
SECTION HEADER FIRST 28
|
||||
|
||||
STRINGA 1
|
||||
BEGIN
|
||||
KEY "CODICE FISCALE"
|
||||
PROMPT 4 9 ""
|
||||
FIELD 116@->COFI
|
||||
END
|
||||
|
||||
STRINGA 2
|
||||
BEGIN
|
||||
KEY "RAGIONE SOCIALE"
|
||||
PROMPT 39 9 ""
|
||||
FIELD 116@->RAGSOC
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 3
|
||||
BEGIN
|
||||
KEY "COGNOME"
|
||||
PROMPT 39 9 ""
|
||||
FIELD 116@->RAGSOC[1,30]
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 4
|
||||
BEGIN
|
||||
KEY "NOME"
|
||||
PROMPT 17 11 ""
|
||||
FIELD 116@->RAGSOC[31,50]
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 5
|
||||
BEGIN
|
||||
KEY "SESSO"
|
||||
PROMPT 58 11 ""
|
||||
FIELD 118@->SESSO
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 6
|
||||
BEGIN
|
||||
KEY "DATA DI NASCITA"
|
||||
PROMPT 66 11 ""
|
||||
FIELD 118@->DATANASC
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 7
|
||||
BEGIN
|
||||
KEY "COMUNE DI NASCITA"
|
||||
PROMPT 84 11 ""
|
||||
FIELD 113@->DENCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 8
|
||||
BEGIN
|
||||
KEY "PROV. DI NASCITA"
|
||||
PROMPT 126 11 ""
|
||||
FIELD 113@->PROVCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
LISTA 9
|
||||
BEGIN
|
||||
KEY "Tipo anagrafica"
|
||||
FIELD 116@->TIPOA
|
||||
ITEM "F| " MESSAGE ENABLE,1@|DISABLE,2@
|
||||
ITEM "G| " MESSAGE ENABLE,2@|DISABLE,1@
|
||||
END
|
||||
|
||||
STRINGA 10
|
||||
BEGIN
|
||||
KEY "COMUNE DI RES.FISCALE"
|
||||
PROMPT 17 13 ""
|
||||
FIELD 213@->DENCOM
|
||||
END
|
||||
|
||||
STRINGA 11
|
||||
BEGIN
|
||||
KEY "PROV DI RES.FISCALE"
|
||||
PROMPT 59 13 ""
|
||||
FIELD 213@->PROVCOM
|
||||
END
|
||||
|
||||
STRINGA 12
|
||||
BEGIN
|
||||
KEY "VIA di RES."
|
||||
PROMPT 66 13 ""
|
||||
FIELD 116@->INDRF
|
||||
END
|
||||
|
||||
STRINGA 13
|
||||
BEGIN
|
||||
KEY "NUM. CIVICO di RES."
|
||||
PROMPT 102 13 ""
|
||||
FIELD 116@->CIVRF
|
||||
END
|
||||
|
||||
STRINGA 14
|
||||
BEGIN
|
||||
KEY "CAP"
|
||||
PROMPT 120 13 ""
|
||||
FIELD 116@->CAPRF
|
||||
END
|
||||
|
||||
STRINGA 15
|
||||
BEGIN
|
||||
KEY "CODICE FISCALE DICHIARANTE"
|
||||
PROMPT 118 16 ""
|
||||
END
|
||||
|
||||
NUMBER 16
|
||||
BEGIN
|
||||
KEY "NUM. FOGLIO"
|
||||
PROMPT 123 20 ""
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
SECTION BODY ODD 8
|
||||
|
||||
LISTA 100
|
||||
BEGIN
|
||||
KEY "Tipo anagrafica"
|
||||
FIELD 216@->TIPOA
|
||||
ITEM "F| " MESSAGE ENABLE,1@|DISABLE,2@
|
||||
ITEM "G| " MESSAGE ENABLE,2@|DISABLE,1@
|
||||
END
|
||||
|
||||
STRINGA 1
|
||||
BEGIN
|
||||
KEY "COD.FIS"
|
||||
PROMPT 10 2 ""
|
||||
FIELD 216@->COFI
|
||||
END
|
||||
|
||||
STRING 2
|
||||
BEGIN
|
||||
KEY "COGNOME"
|
||||
PROMPT 42 2 ""
|
||||
FIELD 216@->RAGSOC[1,30]
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 3
|
||||
BEGIN
|
||||
KEY "NOME"
|
||||
PROMPT 81 2 ""
|
||||
FIELD 216@->RAGSOC[31,50]
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 102
|
||||
BEGIN
|
||||
KEY "RAGSOC GIURIDICHE"
|
||||
PROMPT 54 2 ""
|
||||
FIELD 216@->RAGSOC
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 4
|
||||
BEGIN
|
||||
KEY "DATA NASCITA"
|
||||
PROMPT 114 2 ""
|
||||
FIELD 218@->DATANASC
|
||||
END
|
||||
|
||||
STRING 5
|
||||
BEGIN
|
||||
KEY "SESSO"
|
||||
PROMPT 129 2 ""
|
||||
FIELD 218@->SESSO
|
||||
END
|
||||
|
||||
STRING 6
|
||||
BEGIN
|
||||
KEY "COMUNE DI NASCITA"
|
||||
PROMPT 10 4 ""
|
||||
FIELD 313@->DENCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 101
|
||||
BEGIN
|
||||
KEY "COMUNE DI RESIDENZA GIURIDICHE"
|
||||
PROMPT 10 4 ""
|
||||
FIELD 413@->DENCOM
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 7
|
||||
BEGIN
|
||||
KEY "PROV DI NASCITA"
|
||||
PROMPT 47 4 ""
|
||||
FIELD 313@->PROVCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 8
|
||||
BEGIN
|
||||
KEY "COMUNE DI RESIDENZA"
|
||||
PROMPT 53 4 ""
|
||||
FIELD 413@->DENCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 9
|
||||
BEGIN
|
||||
KEY "PROV. RESIDENZA"
|
||||
PROMPT 88 4 ""
|
||||
FIELD 413@->PROVCOM
|
||||
END
|
||||
|
||||
STRING 106
|
||||
BEGIN
|
||||
KEY "PROV. RESIDENZA GIURIDICHE"
|
||||
PROMPT 61 4 ""
|
||||
FIELD 413@->PROVCOM
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 10
|
||||
BEGIN
|
||||
KEY "VIA RES."
|
||||
PROMPT 94 4 ""
|
||||
FIELD 216@->INDRES[1,18]
|
||||
FLAGS "H"
|
||||
MESSAGE COPY,12|COPY,107
|
||||
END
|
||||
|
||||
STRING 11
|
||||
BEGIN
|
||||
KEY "NUM.CIV"
|
||||
PROMPT 93 4 ""
|
||||
FLAGS "H"
|
||||
FIELD 216@->CIVRES
|
||||
MESSAGE APPEND,12|APPEND,107
|
||||
END
|
||||
|
||||
STRING 12
|
||||
BEGIN
|
||||
KEY "VIA RES. + numcivres"
|
||||
PROMPT 95 4 ""
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING 107
|
||||
BEGIN
|
||||
KEY "VIA RES GIURIDICHE"
|
||||
PROMPT 69 4 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 14
|
||||
BEGIN
|
||||
KEY "FLAG DI NON RESIDENTE"
|
||||
PROMPT 11 6 ""
|
||||
FIELD 216@->SOGGNRES
|
||||
END
|
||||
|
||||
STRING 15
|
||||
BEGIN
|
||||
KEY "STATO ESTERO DI RES."
|
||||
PROMPT 16 6 ""
|
||||
FIELD 24@->S0
|
||||
END
|
||||
|
||||
STRING 16
|
||||
BEGIN
|
||||
KEY "CODICE STATO ESTERO DI RES."
|
||||
PROMPT 75 6 ""
|
||||
FIELD 216@->STATORES
|
||||
END
|
||||
|
||||
STRING 17
|
||||
BEGIN
|
||||
KEY "CODICE FISCALE ESTERO"
|
||||
PROMPT 89 6 ""
|
||||
FIELD 216@->COFIEST
|
||||
END
|
||||
|
||||
STRING 18
|
||||
BEGIN
|
||||
KEY "DESCR. CAUSALE"
|
||||
PROMPT 10 8 ""
|
||||
FIELD 14@->S0[1,20]
|
||||
END
|
||||
|
||||
STRING 19
|
||||
BEGIN
|
||||
KEY "TOTALE"
|
||||
PROMPT 36 8 ""
|
||||
FIELD 62->TOTALE
|
||||
PICTURE "#########^^^"
|
||||
END
|
||||
|
||||
STRING 20
|
||||
BEGIN
|
||||
KEY "SOMME NON SOGGETTE A RITENUTA"
|
||||
PROMPT 55 8 ""
|
||||
FIELD 62->SOMME
|
||||
PICTURE "#########^^^"
|
||||
END
|
||||
|
||||
STRING 21
|
||||
BEGIN
|
||||
KEY "IMPONIBILE"
|
||||
PROMPT 75 8 ""
|
||||
FIELD 62->IMPONIBILE
|
||||
PICTURE "#########^^^"
|
||||
END
|
||||
|
||||
STRING 22
|
||||
BEGIN
|
||||
KEY "ALIQUOTA"
|
||||
PROMPT 88 8 ""
|
||||
FIELD 62->PERC
|
||||
PICTURE "###@@"
|
||||
END
|
||||
|
||||
STRING 23
|
||||
BEGIN
|
||||
KEY "IMPORTO"
|
||||
PROMPT 100 8 ""
|
||||
FIELD 62->IMPORTO
|
||||
PICTURE "#########^^^"
|
||||
END
|
||||
|
||||
STRING 24
|
||||
BEGIN
|
||||
KEY "NETTO"
|
||||
PROMPT 119 8 ""
|
||||
FIELD 62->NETTO
|
||||
PICTURE "#########^^^"
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
SECTION BODY EVEN 2
|
||||
|
||||
NUMBER 1
|
||||
BEGIN
|
||||
KEY "TOTALE TOTALE"
|
||||
PROMPT 36 1 ""
|
||||
END
|
||||
|
||||
NUMBER 2
|
||||
BEGIN
|
||||
KEY "TOTALE SOMME NON SOGGETTE"
|
||||
PROMPT 55 1 ""
|
||||
END
|
||||
|
||||
NUMBER 3
|
||||
BEGIN
|
||||
KEY "TOTALE IMPONIBILE"
|
||||
PROMPT 75 1 ""
|
||||
END
|
||||
|
||||
NUMBER 4
|
||||
BEGIN
|
||||
KEY "TOTALE IMPORTO"
|
||||
PROMPT 101 1 ""
|
||||
END
|
||||
|
||||
NUMBER 5
|
||||
BEGIN
|
||||
KEY "TOTALE NETTO"
|
||||
PROMPT 120 1 ""
|
||||
END
|
||||
|
||||
END
|
||||
|
1563
m770/generic.cpp
1563
m770/generic.cpp
File diff suppressed because it is too large
Load Diff
1187
m770/quadb_b1.cpp
1187
m770/quadb_b1.cpp
File diff suppressed because it is too large
Load Diff
740
m770/quadn_t.cpp
740
m770/quadn_t.cpp
@ -1,370 +1,370 @@
|
||||
// quadn_t.cpp
|
||||
#include <relapp.h>
|
||||
#include <urldefid.h>
|
||||
#include <tabutil.h>
|
||||
#include <config.h>
|
||||
#include "774200.h"
|
||||
#include "77lib.h"
|
||||
#include "quadron.h"
|
||||
#include "77qn.h"
|
||||
#include "77qq.h"
|
||||
#include "77qp.h"
|
||||
|
||||
#define CODDITTA77 181
|
||||
#define ANNODIC77 182
|
||||
|
||||
class TQuadriNT_application : public TRelation_application
|
||||
{
|
||||
static bool codditta77_handler (TMask_field& m, KEY k);
|
||||
static bool nprog_handler (TMask_field& m, KEY k);
|
||||
static bool anno_handler (TMask_field& m, KEY k);
|
||||
static bool mese_handler (TMask_field& f, KEY k);
|
||||
static bool codreg_handler (TMask_field& f, KEY k);
|
||||
static bool codtrib_handler (TMask_field& f, KEY k);
|
||||
static bool tipo (TMask_field& f , KEY k);
|
||||
static bool luogo (TMask_field& f , KEY k);
|
||||
const char* _maskname;
|
||||
int _num;
|
||||
int _pos_quadro; // posizione nell'array dei quadri. Usato in set_comp
|
||||
TString16 _quadro;
|
||||
TRiporti _rip;
|
||||
TRelation* _rel;
|
||||
TMask* _msk;
|
||||
bool _registra;
|
||||
int _anno_dic;
|
||||
bool _MaskConAnnoDic, _MaskConCodditta;
|
||||
bool MaskConAnnoDic() const;
|
||||
bool MaskConCodditta() const { return _MaskConCodditta; }
|
||||
void LeggiMask();
|
||||
bool EsisteUnRec();
|
||||
bool QuadroNoR() const { return _num == LF_QUAN || _num == LF_QUAR; }
|
||||
bool QuadroPoS() const { return _num == LF_QUAP || _num == LF_QUAS; }
|
||||
bool QuadroQoT() const { return _num == LF_QUAQ || _num == LF_QUAT; }
|
||||
bool CheckImporti(const TMask& m);
|
||||
long _codditta;
|
||||
protected:
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual int rewrite(const TMask& m);
|
||||
virtual int write (const TMask& m);
|
||||
virtual bool remove();
|
||||
virtual void on_config_change();
|
||||
virtual TMask* get_mask(int) { return _msk; }
|
||||
virtual bool changing_mask(int) { return FALSE;}
|
||||
virtual TRelation* get_relation() const { return _rel; }
|
||||
virtual void init_mask(TMask&);
|
||||
virtual void init_query_mode(TMask&);
|
||||
virtual void init_insert_mode(TMask&);
|
||||
virtual void init_query_insert_mode(TMask&);
|
||||
public:
|
||||
TQuadriNT_application(const char* name, const int num, const char* quadro);
|
||||
};
|
||||
|
||||
TQuadriNT_application::TQuadriNT_application(const char* name, const int num, const char* quadro)
|
||||
: _maskname(name), _num(num),
|
||||
_MaskConCodditta(FALSE), _MaskConAnnoDic(FALSE),
|
||||
_msk(NULL), _rel(NULL), _quadro(quadro)
|
||||
{
|
||||
switch (_num)
|
||||
{
|
||||
case LF_QUAN:
|
||||
_pos_quadro = N;
|
||||
break;
|
||||
case LF_QUAR:
|
||||
_pos_quadro = R;
|
||||
break;
|
||||
case LF_QUAP:
|
||||
_pos_quadro = P;
|
||||
break;
|
||||
case LF_QUAQ:
|
||||
_pos_quadro = Q;
|
||||
break;
|
||||
case LF_QUAS:
|
||||
_pos_quadro = S;
|
||||
break;
|
||||
case LF_QUAT:
|
||||
_pos_quadro = T;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
TQuadriNT_application& app() { return (TQuadriNT_application&)main_app(); }
|
||||
|
||||
void TQuadriNT_application::LeggiMask()
|
||||
{
|
||||
_MaskConAnnoDic = _msk->id2pos(ANNODIC77) > 0;
|
||||
_MaskConCodditta = _msk->id2pos(CODDITTA77) > 0;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::MaskConAnnoDic() const
|
||||
{
|
||||
return _MaskConAnnoDic;
|
||||
}
|
||||
|
||||
void TQuadriNT_application::on_config_change()
|
||||
{
|
||||
TConfig conf(CONFIG_STUDIO);
|
||||
_anno_dic = (int)conf.get_long(ANNO_SEL, NULL, -1, TDate(TODAY).year());
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::user_create()
|
||||
{
|
||||
_msk = new TMask(_maskname);
|
||||
_rel = new TRelation(_num);
|
||||
|
||||
_codditta = get_firm_770();
|
||||
_msk->set_handler(CODDITTA77, codditta77_handler);
|
||||
_msk->set_handler(QNF_NPROG, nprog_handler);
|
||||
|
||||
if (QuadroNoR())
|
||||
{
|
||||
_msk->set_handler(QNF_ANNORIF, anno_handler);
|
||||
_msk->set_handler(QNF_MESERIF, mese_handler);
|
||||
}
|
||||
|
||||
if (QuadroQoT())
|
||||
{
|
||||
_msk->set_handler(QNF_ANNORIF, anno_handler);
|
||||
_msk->set_handler(QNF_MESERIF, mese_handler);
|
||||
_msk->set_handler(QQF_CODREG, codreg_handler);
|
||||
}
|
||||
|
||||
if (QuadroPoS())
|
||||
_msk->set_handler(QPF_CODTRIB, codtrib_handler);
|
||||
|
||||
_registra = FALSE;
|
||||
set_search_field(QNF_NPROG);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::EsisteUnRec()
|
||||
{
|
||||
TLocalisamfile qn(_num);
|
||||
qn.zero();
|
||||
qn.put(QN_CODDITTA, (long)app()._codditta);
|
||||
TRectype dep(qn.curr());
|
||||
qn.read(_isgteq);
|
||||
if (qn.curr() > dep || qn.eof())
|
||||
return FALSE;
|
||||
else
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::user_destroy()
|
||||
{
|
||||
if (_quadro != "")
|
||||
if (_registra)
|
||||
_rip.set_compilato(_codditta, _pos_quadro, EsisteUnRec());
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Controlla che ci siano o l'imposta o i compensi
|
||||
// NB che siano uguali QNF_IMPOSTA anche nei corrispondenti campi dei
|
||||
// quadri Q, R e T (107 e 106)
|
||||
bool TQuadriNT_application::CheckImporti(const TMask& m)
|
||||
{
|
||||
TString impost(m.get(QNF_IMPOSTA));
|
||||
TString compen(m.get(QNF_COMPENSI));
|
||||
return impost.not_empty() || compen.not_empty();
|
||||
}
|
||||
|
||||
int TQuadriNT_application::rewrite(const TMask& m)
|
||||
{
|
||||
m.autosave(_rel);
|
||||
const int err = _rel->rewrite();
|
||||
_registra = err == NOERR;
|
||||
return err;
|
||||
}
|
||||
|
||||
int TQuadriNT_application::write(const TMask& m)
|
||||
{
|
||||
m.autosave(_rel);
|
||||
const int err = _rel->write();
|
||||
_registra = err == NOERR;
|
||||
return err;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::remove()
|
||||
{
|
||||
_registra = TRUE;
|
||||
return TRelation_application::remove();
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_mask(TMask& m)
|
||||
{
|
||||
m.set(ANNODIC77, _anno_dic);
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_query_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_insert_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_query_insert_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::codditta77_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TString16 codditta; codditta << app()._codditta;
|
||||
TMask& m = f.mask();
|
||||
if (codditta != "0")
|
||||
{
|
||||
m.set(CODDITTA77, codditta);
|
||||
m.field(CODDITTA77).check();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// 2 modi :
|
||||
// RUN,773,-1,771230m,89,"Prospetto del Quadro E1","E1" [771230i.uml]
|
||||
// oppure
|
||||
// 773 -1 menu_st "Stampe dichiarazioni" [prassi.mnu]
|
||||
// QUADRO N:
|
||||
// 773,-2,77qn,72,"Quadro N","N"
|
||||
///////////////////////////////////////////////////////////
|
||||
int quadriN_T(int argc, char* argv[])
|
||||
{
|
||||
TFilename mask;
|
||||
int num = 0;
|
||||
if (argc > 1)
|
||||
mask = argv[2];
|
||||
num = atoi(argv[3]);
|
||||
const char* title = argv[4];
|
||||
const char* quadro = argv[5];
|
||||
TQuadriNT_application a(mask, num, quadro);
|
||||
a.run(argc, argv, title ? title : "Test Relation Application");
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::anno_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca l'anno");
|
||||
else
|
||||
if (!app().CheckImporti(m))
|
||||
return f.warning_box("Manca almeno un importo");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::mese_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca il mese");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Per i Quadri Q e T
|
||||
bool TQuadriNT_application::codreg_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca il codice regione");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Per i Quadri P e S. Codice tributo REQUIRED
|
||||
bool TQuadriNT_application::codtrib_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca il codice tributo");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::nprog_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
// Propone il primo numero disponibile quando la maschera e' ancora "off"
|
||||
if (!m.is_running())
|
||||
{
|
||||
long nprog = 0L;
|
||||
TLocalisamfile qnr(app()._num);
|
||||
qnr.zero();
|
||||
qnr.put(QN_CODDITTA, (long)app()._codditta);
|
||||
TRectype dep(qnr.curr());
|
||||
for (qnr.read(_isgteq); !qnr.eof(); qnr.next())
|
||||
{
|
||||
if (qnr.curr() > dep) break;
|
||||
nprog = qnr.get_long(QN_NPROG);
|
||||
}
|
||||
nprog++;
|
||||
TString16 nprog_str; nprog_str << nprog;
|
||||
f.mask().set(QNF_NPROG, nprog_str);
|
||||
}
|
||||
// Quando la maschera e' running, se c'e' NPROG la chiude
|
||||
else
|
||||
{
|
||||
TString nprogstr(f.get());
|
||||
if (nprogstr.not_empty())
|
||||
m.stop_run(K_AUTO_ENTER);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::tipo(TMask_field& f , KEY k)
|
||||
{
|
||||
/*
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
char tipo = f.mask().get(F_QLTIPOVERS)[0];
|
||||
char luogo = f.mask().get(F_QLLUOVERS)[0];
|
||||
|
||||
if (tipo == 'D' && luogo == 'T')
|
||||
f.mask().hide(F_QLSERIE);
|
||||
else
|
||||
f.mask().show(F_QLSERIE);
|
||||
}
|
||||
*/
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::luogo(TMask_field& f , KEY k)
|
||||
{
|
||||
/*
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
char tipo = f.mask().get(F_QLTIPOVERS)[0];
|
||||
char luogo = f.mask().get(F_QLLUOVERS)[0];
|
||||
|
||||
if (tipo == 'D' && luogo == 'T')
|
||||
f.mask().hide(F_QLSERIE);
|
||||
else
|
||||
f.mask().show(F_QLSERIE);
|
||||
}
|
||||
*/
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// quadn_t.cpp
|
||||
#include <relapp.h>
|
||||
#include <urldefid.h>
|
||||
#include <tabutil.h>
|
||||
#include <config.h>
|
||||
#include "774200.h"
|
||||
#include "77lib.h"
|
||||
#include "quadron.h"
|
||||
#include "77qn.h"
|
||||
#include "77qq.h"
|
||||
#include "77qp.h"
|
||||
|
||||
#define CODDITTA77 181
|
||||
#define ANNODIC77 182
|
||||
|
||||
class TQuadriNT_application : public TRelation_application
|
||||
{
|
||||
static bool codditta77_handler (TMask_field& m, KEY k);
|
||||
static bool nprog_handler (TMask_field& m, KEY k);
|
||||
static bool anno_handler (TMask_field& m, KEY k);
|
||||
static bool mese_handler (TMask_field& f, KEY k);
|
||||
static bool codreg_handler (TMask_field& f, KEY k);
|
||||
static bool codtrib_handler (TMask_field& f, KEY k);
|
||||
static bool tipo (TMask_field& f , KEY k);
|
||||
static bool luogo (TMask_field& f , KEY k);
|
||||
const char* _maskname;
|
||||
int _num;
|
||||
int _pos_quadro; // posizione nell'array dei quadri. Usato in set_comp
|
||||
TString16 _quadro;
|
||||
TRiporti _rip;
|
||||
TRelation* _rel;
|
||||
TMask* _msk;
|
||||
bool _registra;
|
||||
int _anno_dic;
|
||||
bool _MaskConAnnoDic, _MaskConCodditta;
|
||||
bool MaskConAnnoDic() const;
|
||||
bool MaskConCodditta() const { return _MaskConCodditta; }
|
||||
void LeggiMask();
|
||||
bool EsisteUnRec();
|
||||
bool QuadroNoR() const { return _num == LF_QUAN || _num == LF_QUAR; }
|
||||
bool QuadroPoS() const { return _num == LF_QUAP || _num == LF_QUAS; }
|
||||
bool QuadroQoT() const { return _num == LF_QUAQ || _num == LF_QUAT; }
|
||||
bool CheckImporti(const TMask& m);
|
||||
long _codditta;
|
||||
protected:
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual int rewrite(const TMask& m);
|
||||
virtual int write (const TMask& m);
|
||||
virtual bool remove();
|
||||
virtual void on_config_change();
|
||||
virtual TMask* get_mask(int) { return _msk; }
|
||||
virtual bool changing_mask(int) { return FALSE;}
|
||||
virtual TRelation* get_relation() const { return _rel; }
|
||||
virtual void init_mask(TMask&);
|
||||
virtual void init_query_mode(TMask&);
|
||||
virtual void init_insert_mode(TMask&);
|
||||
virtual void init_query_insert_mode(TMask&);
|
||||
public:
|
||||
TQuadriNT_application(const char* name, const int num, const char* quadro);
|
||||
};
|
||||
|
||||
TQuadriNT_application::TQuadriNT_application(const char* name, const int num, const char* quadro)
|
||||
: _maskname(name), _num(num),
|
||||
_MaskConCodditta(FALSE), _MaskConAnnoDic(FALSE),
|
||||
_msk(NULL), _rel(NULL), _quadro(quadro)
|
||||
{
|
||||
switch (_num)
|
||||
{
|
||||
case LF_QUAN:
|
||||
_pos_quadro = N;
|
||||
break;
|
||||
case LF_QUAR:
|
||||
_pos_quadro = R;
|
||||
break;
|
||||
case LF_QUAP:
|
||||
_pos_quadro = P;
|
||||
break;
|
||||
case LF_QUAQ:
|
||||
_pos_quadro = Q;
|
||||
break;
|
||||
case LF_QUAS:
|
||||
_pos_quadro = S;
|
||||
break;
|
||||
case LF_QUAT:
|
||||
_pos_quadro = T;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
TQuadriNT_application& app() { return (TQuadriNT_application&)main_app(); }
|
||||
|
||||
void TQuadriNT_application::LeggiMask()
|
||||
{
|
||||
_MaskConAnnoDic = _msk->id2pos(ANNODIC77) > 0;
|
||||
_MaskConCodditta = _msk->id2pos(CODDITTA77) > 0;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::MaskConAnnoDic() const
|
||||
{
|
||||
return _MaskConAnnoDic;
|
||||
}
|
||||
|
||||
void TQuadriNT_application::on_config_change()
|
||||
{
|
||||
TConfig conf(CONFIG_STUDIO);
|
||||
_anno_dic = (int)conf.get_long(ANNO_SEL, NULL, -1, TDate(TODAY).year());
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::user_create()
|
||||
{
|
||||
_msk = new TMask(_maskname);
|
||||
_rel = new TRelation(_num);
|
||||
|
||||
_codditta = get_firm_770();
|
||||
_msk->set_handler(CODDITTA77, codditta77_handler);
|
||||
_msk->set_handler(QNF_NPROG, nprog_handler);
|
||||
|
||||
if (QuadroNoR())
|
||||
{
|
||||
_msk->set_handler(QNF_ANNORIF, anno_handler);
|
||||
_msk->set_handler(QNF_MESERIF, mese_handler);
|
||||
}
|
||||
|
||||
if (QuadroQoT())
|
||||
{
|
||||
_msk->set_handler(QNF_ANNORIF, anno_handler);
|
||||
_msk->set_handler(QNF_MESERIF, mese_handler);
|
||||
_msk->set_handler(QQF_CODREG, codreg_handler);
|
||||
}
|
||||
|
||||
if (QuadroPoS())
|
||||
_msk->set_handler(QPF_CODTRIB, codtrib_handler);
|
||||
|
||||
_registra = FALSE;
|
||||
set_search_field(QNF_NPROG);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::EsisteUnRec()
|
||||
{
|
||||
TLocalisamfile qn(_num);
|
||||
qn.zero();
|
||||
qn.put(QN_CODDITTA, (long)app()._codditta);
|
||||
TRectype dep(qn.curr());
|
||||
qn.read(_isgteq);
|
||||
if (qn.curr() > dep || qn.eof())
|
||||
return FALSE;
|
||||
else
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::user_destroy()
|
||||
{
|
||||
if (_quadro != "")
|
||||
if (_registra)
|
||||
_rip.set_compilato(_codditta, _pos_quadro, EsisteUnRec());
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Controlla che ci siano o l'imposta o i compensi
|
||||
// NB che siano uguali QNF_IMPOSTA anche nei corrispondenti campi dei
|
||||
// quadri Q, R e T (107 e 106)
|
||||
bool TQuadriNT_application::CheckImporti(const TMask& m)
|
||||
{
|
||||
TString impost(m.get(QNF_IMPOSTA));
|
||||
TString compen(m.get(QNF_COMPENSI));
|
||||
return impost.not_empty() || compen.not_empty();
|
||||
}
|
||||
|
||||
int TQuadriNT_application::rewrite(const TMask& m)
|
||||
{
|
||||
m.autosave(*_rel);
|
||||
const int err = _rel->rewrite();
|
||||
_registra = err == NOERR;
|
||||
return err;
|
||||
}
|
||||
|
||||
int TQuadriNT_application::write(const TMask& m)
|
||||
{
|
||||
m.autosave(*_rel);
|
||||
const int err = _rel->write();
|
||||
_registra = err == NOERR;
|
||||
return err;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::remove()
|
||||
{
|
||||
_registra = TRUE;
|
||||
return TRelation_application::remove();
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_mask(TMask& m)
|
||||
{
|
||||
m.set(ANNODIC77, _anno_dic);
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_query_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_insert_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_query_insert_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::codditta77_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TString16 codditta; codditta << app()._codditta;
|
||||
TMask& m = f.mask();
|
||||
if (codditta != "0")
|
||||
{
|
||||
m.set(CODDITTA77, codditta);
|
||||
m.field(CODDITTA77).check();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// 2 modi :
|
||||
// RUN,773,-1,771230m,89,"Prospetto del Quadro E1","E1" [771230i.uml]
|
||||
// oppure
|
||||
// 773 -1 menu_st "Stampe dichiarazioni" [prassi.mnu]
|
||||
// QUADRO N:
|
||||
// 773,-2,77qn,72,"Quadro N","N"
|
||||
///////////////////////////////////////////////////////////
|
||||
int quadriN_T(int argc, char* argv[])
|
||||
{
|
||||
TFilename mask;
|
||||
int num = 0;
|
||||
if (argc > 1)
|
||||
mask = argv[2];
|
||||
num = atoi(argv[3]);
|
||||
const char* title = argv[4];
|
||||
const char* quadro = argv[5];
|
||||
TQuadriNT_application a(mask, num, quadro);
|
||||
a.run(argc, argv, title ? title : "Test Relation Application");
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::anno_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca l'anno");
|
||||
else
|
||||
if (!app().CheckImporti(m))
|
||||
return f.warning_box("Manca almeno un importo");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::mese_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca il mese");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Per i Quadri Q e T
|
||||
bool TQuadriNT_application::codreg_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca il codice regione");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Per i Quadri P e S. Codice tributo REQUIRED
|
||||
bool TQuadriNT_application::codtrib_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca il codice tributo");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::nprog_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
// Propone il primo numero disponibile quando la maschera e' ancora "off"
|
||||
if (!m.is_running())
|
||||
{
|
||||
long nprog = 0L;
|
||||
TLocalisamfile qnr(app()._num);
|
||||
qnr.zero();
|
||||
qnr.put(QN_CODDITTA, (long)app()._codditta);
|
||||
TRectype dep(qnr.curr());
|
||||
for (qnr.read(_isgteq); !qnr.eof(); qnr.next())
|
||||
{
|
||||
if (qnr.curr() > dep) break;
|
||||
nprog = qnr.get_long(QN_NPROG);
|
||||
}
|
||||
nprog++;
|
||||
TString16 nprog_str; nprog_str << nprog;
|
||||
f.mask().set(QNF_NPROG, nprog_str);
|
||||
}
|
||||
// Quando la maschera e' running, se c'e' NPROG la chiude
|
||||
else
|
||||
{
|
||||
TString nprogstr(f.get());
|
||||
if (nprogstr.not_empty())
|
||||
m.stop_run(K_AUTO_ENTER);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::tipo(TMask_field& f , KEY k)
|
||||
{
|
||||
/*
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
char tipo = f.mask().get(F_QLTIPOVERS)[0];
|
||||
char luogo = f.mask().get(F_QLLUOVERS)[0];
|
||||
|
||||
if (tipo == 'D' && luogo == 'T')
|
||||
f.mask().hide(F_QLSERIE);
|
||||
else
|
||||
f.mask().show(F_QLSERIE);
|
||||
}
|
||||
*/
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::luogo(TMask_field& f , KEY k)
|
||||
{
|
||||
/*
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
char tipo = f.mask().get(F_QLTIPOVERS)[0];
|
||||
char luogo = f.mask().get(F_QLLUOVERS)[0];
|
||||
|
||||
if (tipo == 'D' && luogo == 'T')
|
||||
f.mask().hide(F_QLSERIE);
|
||||
else
|
||||
f.mask().show(F_QLSERIE);
|
||||
}
|
||||
*/
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user