Correzioni varie, per avere maggiori informazioni guardarsi il file crono.doc

git-svn-id: svn://10.65.10.50/trunk@4166 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luciano 1997-02-27 15:44:56 +00:00
parent 8fd5b60ec9
commit fe0ff9aaaa
25 changed files with 4153 additions and 4137 deletions

View File

@ -900,19 +900,18 @@ void TSchedaPercipienti::mask2rel(const TMask& m)
TString16 serie(row.get(4));
TString numero(row.get(5));
const long ProgBanca = row.get_long(6);
const long ProgBanca(row.get_long(6));
real ritenuta (row.get(7));
const int numvers (row.get_int(8));
r.put("VERS1015", vers1015);
r.put("DATAVERS", dataver);
r.put("LUOVERS", luogo);
r.put("TIPOVERS", tipo);
r.put("VERS1015",vers1015);
r.put("DATAVERS",dataver);
r.put("LUOVERS", luogo);
r.put("TIPOVERS",tipo);
r.put("SERIE", serie);
r.put("NUMERO", numero);
r.put("PROGBANC", (long)ProgBanca);
r.put("RITENUTA", ritenuta);
r.put("PROGBANC",ProgBanca);
r.put("RITENUTA",ritenuta);
// r.put("NUMVERS", (long)nriga);
// r.put("NUMVERS", (long)numvers);
}

File diff suppressed because it is too large Load Diff

View File

@ -61,8 +61,9 @@ BEGIN
FLAGS "D"
USE LF_NDITTE
INPUT CODDITTA F_CODDITTA
FIELD LF_NDITTE->RAPPR
JOIN LF_ANAG INTO CODANAGR=RAPPR TIPOA="F"
FIELD LF_NDITTE->RAPPR
CHECKTYPE NORMAL
JOIN LF_ANAG INTO CODANAGR==RAPPR TIPOA=="F"
JOIN LF_ANAGFIS TO LF_ANAG INTO CODANAGR=CODANAGR
JOIN LF_COMUNI TO LF_ANAGFIS INTO COM==COMNASC
JOIN LF_COMUNI TO LF_ANAG ALIAS 1 INTO COM==COMRES

File diff suppressed because it is too large Load Diff

View File

@ -1,300 +1,301 @@
#include "771200.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "1" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER QAF_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA1->CODDITTA
KEY 1
END
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
USE LF_DIPEND KEY 1
FIELD LF_QUAA1->CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
CHECKTYPE REQUIRED
FLAGS "DG"
MESSAGE COPY,2@
KEY 1
END
STRING QAF_COGNOME 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
MESSAGE COPY,3@
END
STRING QAF_NOME 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
MESSAGE COPY,4@
END
NUMBER QAF_NPROG 4
BEGIN
PROMPT 72 1 ""
FIELD LF_QUAA1->NPROG
FLAGS "DG"
KEY 1
MESSAGE COPY,5@
END
LISTBOX F_MESEANNO 9
BEGIN
PROMPT 2 3 "8 Periodo di riferimento "
FLAGS "M"
FIELD LF_QUAA1->MESERIF
END
NUMBER QA1F_ANNORIF 4
BEGIN
PROMPT 44 3 ""
FLAGS "D"
FIELD LF_QUAA1->ANNORIF
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 4 "@bSaldo IRPEF per il 1994"
END
NUMBER F_IMPRIMB9 15
BEGIN
PROMPT 2 5 "9 Imposta rimbors. "
FIELD LF_QUAA1->IMPRIMB9
PICTURE "."
END
NUMBER F_IMPVERS10 15
BEGIN
PROMPT 45 5 "10 Imposta ver. "
FIELD LF_QUAA1->IMPVERS10
PICTURE "."
END
NUMBER F_INTER11 15
BEGIN
PROMPT 2 6 "11 Interessi "
FIELD LF_QUAA1->INTER11
PICTURE "."
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 8 "@bPrima rata acconto IRPEF per il 1995"
END
NUMBER F_IMPVERS12 15
BEGIN
PROMPT 2 9 "12 Imposta versata "
FIELD LF_QUAA1->IMPVERS12
PICTURE "."
END
NUMBER F_INTER13 15
BEGIN
PROMPT 45 9 "13 Interessi "
FIELD LF_QUAA1->INTER13
PICTURE "."
END
NUMBER F_STASSA14 15
BEGIN
PROMPT 2 10 "14 Soprattassa su IRPEF saldo 94 e prima rata acconto 95 "
FIELD LF_QUAA1->STASSA14
PICTURE "."
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 12 "@bSaldo C.S.S.N. per il 1994"
END
NUMBER F_CONTRIMB15 15
BEGIN
PROMPT 2 13 "15 Cont. a rimborso"
FIELD LF_QUAA1->CONTRIMB15
PICTURE "."
HELP "Contributo a rimborso"
END
NUMBER F_CONTVERS16 15
BEGIN
PROMPT 45 13 "16 Cont.versato "
FIELD LF_QUAA1->CONTVERS16
PICTURE "."
HELP "Contributo versato"
END
NUMBER F_INTER17 15
BEGIN
PROMPT 2 14 "17 Interessi "
FIELD LF_QUAA1->INTER17
PICTURE "."
END
ENDPAGE
PAGE "2" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER DLG_NULL 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
GROUP 2
END
STRING DLG_NULL 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
GROUP 3
END
STRING DLG_NULL 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
GROUP 4
END
NUMBER DLG_NULL 4
BEGIN
PROMPT 72 1 ""
FLAGS "DG"
GROUP 5
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 3 "@bPrima rata acconto C.S.S.N. per il 1995"
END
NUMBER F_CONTVER18 15
BEGIN
PROMPT 2 4 "18 Contributo vers."
FIELD LF_QUAA1->CONTVER18
PICTURE "."
END
NUMBER F_INTER19 15
BEGIN
PROMPT 45 4 "19 Interessi "
FIELD LF_QUAA1->INTER19
PICTURE "."
END
NUMBER F_STASSA20 15
BEGIN
PROMPT 2 5 "20 Soprattassa su C.S.S.N. saldo 94 e prima rata acconto 95"
FIELD LF_QUAA1->STASSA20
PICTURE "."
END
STRING F_CONNEFF21 1
BEGIN
PROMPT 2 6 "21 Cong. n/effet. "
FIELD LF_QUAA1->CONNEFF21
HELP "Conguagli non effettuati"
SHEET "Codice|Descrizione@60"
INPUT F_CONNEFF21
ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro"
ITEM "B|Aspettativa senza retribuzione"
ITEM "C|Decesso"
ITEM "D|Richiesta di minore secondo acconto"
ITEM "E|Retribuzione insufficiente"
ITEM "F|Situaz. per le quali dovrebbero essere indicati piu' codici"
ITEM "G|Rimborso non effettuato o rimborso effettuato parzialmente"
OUTPUT F_CONNEFF21
FLAGS "U"
END
STRING F_TIPOCONG22 1
BEGIN
PROMPT 45 6 "22 Tipo cong. "
FIELD LF_QUAA1->TIPOCONG22
SHEET "Codice|Descrizione@60"
INPUT F_TIPOCONG22
ITEM " |Niente"
ITEM "R|Cong. tardivo derivante da Mod.730/93 rettificativo..."
ITEM "S|Cong. tardivo derivante da comunicaz. Mod.730/94..."
ITEM "T|Cong. tardivo deriv. da Mod.730/93 ov. comunic. tardiva Mod.730/94"
ITEM "U|Cong. conseguente ad incapienza della retribuz..."
OUTPUT F_TIPOCONG22
FLAGS "U"
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 9 "@bDati identificativi del C.A.A.F che ha prestato assistenza "
END
NUMBER F_CODCAAF 5
BEGIN
PROMPT 2 10 "Codice "
FIELD LF_QUAA1->CODCAAF
USE %CAF
CHECKTYPE NORMAL
INPUT CODTAB F_CODCAAF
DISPLAY "Codice" CODTAB
DISPLAY "Denominazione@50" S0
DISPLAY "N.ro iscrizione" I1
DISPLAY "Codice fiscale@16" S1
OUTPUT F_CODCAAF CODTAB
OUTPUT F_DENCAAF S0
OUTPUT F_NISCRA I1
OUTPUT F_CODFISCAAF S1
END
STRING F_DENCAAF 50
BEGIN
PROMPT 26 10 ""
FLAGS "DU"
END
STRING F_CODFISCAAF 16
BEGIN
PROMPT 2 11 "23 Cod.fiscale "
FLAGS "D"
END
NUMBER F_NISCRA 5
BEGIN
PROMPT 50 11 "25 N.iscrizione albo "
FLAGS "D"
END
DATE F_DATARIC29
BEGIN
PROMPT 2 12 "26 Data ricezione Modello 730-5 "
FIELD LF_QUAA1->DATARIC26
END
ENDPAGE
#include "771200.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "1" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER QAF_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA1->CODDITTA
KEY 1
END
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
USE LF_DIPEND KEY 1
FIELD LF_QUAA1->CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
CHECKTYPE REQUIRED
FLAGS "DG"
MESSAGE COPY,2@
KEY 1
END
STRING QAF_COGNOME 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
MESSAGE COPY,3@
END
STRING QAF_NOME 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
MESSAGE COPY,4@
END
NUMBER QAF_NPROG 4
BEGIN
PROMPT 72 1 ""
FIELD LF_QUAA1->NPROG
FLAGS "DG"
KEY 1
MESSAGE COPY,5@
END
LISTBOX F_MESEANNO 9
BEGIN
PROMPT 2 3 "8 Periodo di riferimento "
FLAGS "M"
FIELD LF_QUAA1->MESERIF
END
NUMBER QA1F_ANNORIF 4
BEGIN
PROMPT 44 3 ""
FLAGS "D"
FIELD LF_QUAA1->ANNORIF
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 4 "@bSaldo IRPEF per il 1994"
END
NUMBER F_IMPRIMB9 15
BEGIN
PROMPT 2 5 "9 Imposta rimbors. "
FIELD LF_QUAA1->IMPRIMB9
PICTURE "."
END
NUMBER F_IMPVERS10 15
BEGIN
PROMPT 45 5 "10 Imposta ver. "
FIELD LF_QUAA1->IMPVERS10
PICTURE "."
END
NUMBER F_INTER11 15
BEGIN
PROMPT 2 6 "11 Interessi "
FIELD LF_QUAA1->INTER11
PICTURE "."
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 8 "@bPrima rata acconto IRPEF per il 1995"
END
NUMBER F_IMPVERS12 15
BEGIN
PROMPT 2 9 "12 Imposta versata "
FIELD LF_QUAA1->IMPVERS12
PICTURE "."
END
NUMBER F_INTER13 15
BEGIN
PROMPT 45 9 "13 Interessi "
FIELD LF_QUAA1->INTER13
PICTURE "."
END
NUMBER F_STASSA14 15
BEGIN
PROMPT 2 10 "14 Soprattassa su IRPEF saldo 94 e prima rata acconto 95 "
FIELD LF_QUAA1->STASSA14
PICTURE "."
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 12 "@bSaldo C.S.S.N. per il 1994"
END
NUMBER F_CONTRIMB15 15
BEGIN
PROMPT 2 13 "15 Cont. a rimborso"
FIELD LF_QUAA1->CONTRIMB15
PICTURE "."
HELP "Contributo a rimborso"
END
NUMBER F_CONTVERS16 15
BEGIN
PROMPT 45 13 "16 Cont.versato "
FIELD LF_QUAA1->CONTVERS16
PICTURE "."
HELP "Contributo versato"
END
NUMBER F_INTER17 15
BEGIN
PROMPT 2 14 "17 Interessi "
FIELD LF_QUAA1->INTER17
PICTURE "."
END
ENDPAGE
PAGE "2" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER DLG_NULL 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
GROUP 2
END
STRING DLG_NULL 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
GROUP 3
END
STRING DLG_NULL 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
GROUP 4
END
NUMBER DLG_NULL 4
BEGIN
PROMPT 72 1 ""
FLAGS "DG"
GROUP 5
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 3 "@bPrima rata acconto C.S.S.N. per il 1995"
END
NUMBER F_CONTVER18 15
BEGIN
PROMPT 2 4 "18 Contributo vers."
FIELD LF_QUAA1->CONTVER18
PICTURE "."
END
NUMBER F_INTER19 15
BEGIN
PROMPT 45 4 "19 Interessi "
FIELD LF_QUAA1->INTER19
PICTURE "."
END
NUMBER F_STASSA20 15
BEGIN
PROMPT 2 5 "20 Soprattassa su C.S.S.N. saldo 94 e prima rata acconto 95"
FIELD LF_QUAA1->STASSA20
PICTURE "."
END
STRING F_CONNEFF21 1
BEGIN
PROMPT 2 6 "21 Cong. n/effet. "
FIELD LF_QUAA1->CONNEFF21
HELP "Conguagli non effettuati"
SHEET "Codice|Descrizione@60"
INPUT F_CONNEFF21
ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro"
ITEM "B|Aspettativa senza retribuzione"
ITEM "C|Decesso"
ITEM "D|Richiesta di minore secondo acconto"
ITEM "E|Retribuzione insufficiente"
ITEM "F|Situaz. per le quali dovrebbero essere indicati piu' codici"
ITEM "G|Rimborso non effettuato o rimborso effettuato parzialmente"
OUTPUT F_CONNEFF21
FLAGS "U"
END
STRING F_TIPOCONG22 1
BEGIN
PROMPT 45 6 "22 Tipo cong. "
FIELD LF_QUAA1->TIPOCONG22
SHEET "Codice|Descrizione@60"
INPUT F_TIPOCONG22
ITEM " |Niente"
ITEM "R|Cong. tardivo derivante da Mod.730/93 rettificativo..."
ITEM "S|Cong. tardivo derivante da comunicaz. Mod.730/94..."
ITEM "T|Cong. tardivo deriv. da Mod.730/93 ov. comunic. tardiva Mod.730/94"
ITEM "U|Cong. conseguente ad incapienza della retribuz..."
OUTPUT F_TIPOCONG22
FLAGS "U"
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 9 "@bDati identificativi del C.A.A.F che ha prestato assistenza "
END
NUMBER F_CODCAAF 5
BEGIN
PROMPT 2 10 "Codice "
FIELD LF_QUAA1->CODCAAF
USE %CAF
CHECKTYPE NORMAL
INPUT CODTAB F_CODCAAF
DISPLAY "Codice" CODTAB
DISPLAY "Denominazione@50" S0
DISPLAY "N.ro iscrizione" I1
DISPLAY "Codice fiscale@16" S1
OUTPUT F_CODCAAF CODTAB
OUTPUT F_DENCAAF S0
OUTPUT F_NISCRA I1
OUTPUT F_CODFISCAAF S1
FLAGS "Z"
END
STRING F_DENCAAF 50
BEGIN
PROMPT 26 10 ""
FLAGS "DU"
END
STRING F_CODFISCAAF 16
BEGIN
PROMPT 2 11 "23 Cod.fiscale "
FLAGS "D"
END
NUMBER F_NISCRA 5
BEGIN
PROMPT 50 11 "25 N.iscrizione albo "
FLAGS "D"
END
DATE F_DATARIC29
BEGIN
PROMPT 2 12 "26 Data ricezione Modello 730-5 "
FIELD LF_QUAA1->DATARIC26
END
ENDPAGE
ENDMASK

View File

@ -1,410 +1,411 @@
#include "771200.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "1" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER QAF_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA2->CODDITTA
KEY 1
END
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
USE LF_DIPEND KEY 1
FIELD LF_QUAA2->CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
CHECKTYPE REQUIRED
FLAGS "DG"
MESSAGE COPY,2@
KEY 1
END
STRING QAF_COGNOME 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
MESSAGE COPY,3@
END
STRING QAF_NOME 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
MESSAGE COPY,4@
END
NUMBER QAF_NPROG 4
BEGIN
PROMPT 72 1 ""
FIELD LF_QUAA2->NPROG
FLAGS "DG"
KEY 1
MESSAGE COPY,5@
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 3 "@bASSISTENZA 1995 "
END
STRING QA2F_CNEFF 1
BEGIN
PROMPT 2 4 "8 Conguagli non effettuati "
FIELD LF_QUAA2->CONEFF
FLAGS "U"
HELP "Conguagli non effettuati relativi all'assistenza 1995"
SHEET "Codice|Descrizione@60"
INPUT QA2F_CNEFF
ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro"
ITEM "B|Decesso"
ITEM "C|Richiesta di minore secondo acconto"
ITEM "D|Retribuzione insufficiente"
ITEM "E|Situaz. per le quali dovrebbero essere indicati piu' codici"
ITEM "F|Rimborso non effettuato o rimborso effettuato parzialmente"
OUTPUT QA2F_CNEFF
GROUP G_ALL
END
STRING QA2F_RETCON 1
BEGIN
PROMPT 38 4 "9 Rettifica conguaglio "
FIELD LF_QUAA2->RETCON
SHEET "Codice|Descrizione@60"
INPUT QA2F_RETCON
ITEM " | "
ITEM "A|Rettifica importi da conguagliare... (I num. d'ordine)"
ITEM "B|Rettifica importi da conguagliare... (II num. d'ordine)"
ITEM "C|Conguaglio tardivamente effettuato nel mese di luglio"
OUTPUT QA2F_RETCON
FLAGS "U"
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 6 "@bSALDO IRPEF PER IL 1994 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "10 Imp.ver/tr.IRPEF"
GROUP G_730
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "10 Imposta rimbor. "
GROUP G_770
END
NUMBER F_IIRPEFVER8 15
BEGIN
PROMPT 21 7 ""
FIELD LF_QUAA2->SIRPEFRIMB
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "11 Imp.da rim.IRPEF"
GROUP G_730
END
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "11 Imposta versata "
GROUP G_770
END
NUMBER F_IIRPEFRI9 15
BEGIN
PROMPT 61 7 ""
FIELD LF_QUAA2->VIRPEF
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "12 Interessi "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "12 1rata ac.IRPEF95"
GROUP G_730
END
NUMBER F_INTER11 15
BEGIN
PROMPT 21 8 ""
FIELD LF_QUAA2->INTIRPEF
PICTURE "."
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 10 "@bPRIMA RATA ACCONTO IRPEF PER IL 1995 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "13 Imposta versata "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "13 2rata ac.IRPEF95"
GROUP G_730
END
NUMBER F_PRIRPEF10 15
BEGIN
// PROMPT 2 11 "Imposta versata "
PROMPT 21 11 ""
FIELD LF_QUAA2->AIRPEFIV
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 11 "14 Interessi "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 41 11 "14 I.v.trat.CSSN "
GROUP G_730
END
NUMBER F_AIRPEFINT 15
BEGIN
PROMPT 61 11 ""
FIELD LF_QUAA2->AIRPEFINT
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "15 Soprattasse IRPEF saldo 94 e prima rata acc.95 "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "15 Importo da rimborsare CSSN "
GROUP G_730
END
NUMBER F_STASSA12 15
BEGIN
PROMPT 61 13 ""
FIELD LF_QUAA2->STASSA15
PICTURE "."
END
ENDPAGE
PAGE "2" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER DLG_NULL 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
GROUP 2
END
STRING DLG_NULL 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
GROUP 3
END
STRING DLG_NULL 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
GROUP 4
END
NUMBER DLG_NULL 4
BEGIN
PROMPT 72 1 ""
FLAGS "DG"
GROUP 5
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 4 "@bSALDO C.S.S.N. PER IL 1994 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 "16 Cont.a rimborso "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 "16 1r.acc.CSSN 95 "
GROUP G_730
END
NUMBER QA2F_CSSNCRIMB 15
BEGIN
PROMPT 21 5 ""
FIELD LF_QUAA2->CONTR16
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 5 "17 Cont. versato "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 41 5 "17 2r.acc.CSSN 95 "
GROUP G_730
END
NUMBER QA2F_CSSNCVER 15
BEGIN
// PROMPT 41 5 "Contr. versato "
PROMPT 61 5 ""
FIELD LF_QUAA2->CONTRVER
PICTURE "."
END
NUMBER QA2F_CSSNINT 15
BEGIN
PROMPT 2 6 "18 Interessi "
FIELD LF_QUAA2->INTER18
PICTURE "."
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 8 "@bPRIMA RATA ACCONTO C.S.S.N. PER IL 1995 "
END
NUMBER QA2F_CSSNAIV 15
BEGIN
PROMPT 2 9 "19 Contrib.versato "
FIELD LF_QUAA2->CONTV19
PICTURE "."
GROUP G_ALL
END
NUMBER QA2F_CSSNAINT 15
BEGIN
PROMPT 41 9 "20 Interessi "
FIELD LF_QUAA2->INTE20
PICTURE "."
GROUP G_ALL
END
NUMBER QA2F_STCSSN 15
BEGIN
PROMPT 2 11 "21 Soprattasse su C.S.S.N. saldo 94 e prima rata acc.95 "
FIELD LF_QUAA2->SOPRAT21
PICTURE "."
GROUP G_ALL
END
STRING QA2F_730NLIQ 2
BEGIN
PROMPT 2 12 "22 Mod.730/95 non liquidabile "
SHEET "Codice|Descrizione@60"
INPUT QA2F_730NLIQ
ITEM "|"
ITEM "01|Errata o incomp. compilaz. dati anagr. e di res. del dich."
ITEM "02|Errata o incomp. compilaz. dati del coniuge e fam. a carico"
ITEM "03|Errata o incomp. compilaz. dati anagr. e di res. del coniuge"
ITEM "04|Errata o incomp. dichiaraz. q. A Mod.730/95 del dich."
ITEM "05|Errata o incomp. dichiaraz. q. A Mod.730/95 del coniuge"
ITEM "06|Errata o incomp. dichiaraz. q. B Mod.730/95 del dich."
ITEM "07|Errata o incomp. dichiaraz. q. B Mod.730/95 del coniuge"
ITEM "08|Errata o incomp. dichiaraz. q. C Mod.730/95 del dich."
ITEM "09|Errata o incomp. dichiaraz. q. D Mod.730/95 del dich."
ITEM "10|Errata o incomp. dichiaraz. q. E Mod.730/95 del dich."
ITEM "11|Errata o incomp. dichiaraz. q. E Mod.730/95 del coniuge"
ITEM "12|Errata o incomp. dichiaraz. q. F Mod.730/95 del dich."
ITEM "13|Errata o incomp. dichiaraz. q. F Mod.730/95 del coniuge"
FIELD LF_QUAA2->M730NLIQ
FLAGS "Z"
OUTPUT QA2F_730NLIQ
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 14 "@bDati identificativi del C.A.A.F che ha prestato assistenza "
END
NUMBER F_CODCAAF 5
BEGIN
PROMPT 2 15 "Codice "
FIELD LF_QUAA2->CODCAAF
USE %CAF
CHECKTYPE NORMAL
INPUT CODTAB F_CODCAAF
DISPLAY "Codice" CODTAB
DISPLAY "Denominazione@50" S0
DISPLAY "N.ro iscrizione" I1
DISPLAY "Codice fiscale@16" S1
OUTPUT F_CODCAAF CODTAB
OUTPUT F_DENCAAF S0
OUTPUT F_NISCRA I1
OUTPUT F_CODFISCAAF S1
GROUP G_ALL
END
STRING F_DENCAAF 50
BEGIN
PROMPT 26 15 ""
FLAGS "DU"
END
STRING F_CODFISCAAF 16
BEGIN
PROMPT 2 16 "23 Cod.fiscale "
FLAGS "D"
END
NUMBER F_NISCRA 5
BEGIN
PROMPT 50 16 "25 N.iscrizione albo "
FLAGS "D"
END
ENDPAGE
#include "771200.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "1" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER QAF_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA2->CODDITTA
KEY 1
END
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
USE LF_DIPEND KEY 1
FIELD LF_QUAA2->CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
CHECKTYPE REQUIRED
FLAGS "DG"
MESSAGE COPY,2@
KEY 1
END
STRING QAF_COGNOME 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
MESSAGE COPY,3@
END
STRING QAF_NOME 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
MESSAGE COPY,4@
END
NUMBER QAF_NPROG 4
BEGIN
PROMPT 72 1 ""
FIELD LF_QUAA2->NPROG
FLAGS "DG"
KEY 1
MESSAGE COPY,5@
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 3 "@bASSISTENZA 1995 "
END
STRING QA2F_CNEFF 1
BEGIN
PROMPT 2 4 "8 Conguagli non effettuati "
FIELD LF_QUAA2->CONEFF
FLAGS "U"
HELP "Conguagli non effettuati relativi all'assistenza 1995"
SHEET "Codice|Descrizione@60"
INPUT QA2F_CNEFF
ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro"
ITEM "B|Decesso"
ITEM "C|Richiesta di minore secondo acconto"
ITEM "D|Retribuzione insufficiente"
ITEM "E|Situaz. per le quali dovrebbero essere indicati piu' codici"
ITEM "F|Rimborso non effettuato o rimborso effettuato parzialmente"
OUTPUT QA2F_CNEFF
GROUP G_ALL
END
STRING QA2F_RETCON 1
BEGIN
PROMPT 38 4 "9 Rettifica conguaglio "
FIELD LF_QUAA2->RETCON
SHEET "Codice|Descrizione@60"
INPUT QA2F_RETCON
ITEM " | "
ITEM "A|Rettifica importi da conguagliare... (I num. d'ordine)"
ITEM "B|Rettifica importi da conguagliare... (II num. d'ordine)"
ITEM "C|Conguaglio tardivamente effettuato nel mese di luglio"
OUTPUT QA2F_RETCON
FLAGS "U"
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 6 "@bSALDO IRPEF PER IL 1994 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "10 Imp.ver/tr.IRPEF"
GROUP G_730
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "10 Imposta rimbor. "
GROUP G_770
END
NUMBER F_IIRPEFVER8 15
BEGIN
PROMPT 21 7 ""
FIELD LF_QUAA2->SIRPEFRIMB
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "11 Imp.da rim.IRPEF"
GROUP G_730
END
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "11 Imposta versata "
GROUP G_770
END
NUMBER F_IIRPEFRI9 15
BEGIN
PROMPT 61 7 ""
FIELD LF_QUAA2->VIRPEF
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "12 Interessi "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "12 1rata ac.IRPEF95"
GROUP G_730
END
NUMBER F_INTER11 15
BEGIN
PROMPT 21 8 ""
FIELD LF_QUAA2->INTIRPEF
PICTURE "."
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 10 "@bPRIMA RATA ACCONTO IRPEF PER IL 1995 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "13 Imposta versata "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "13 2rata ac.IRPEF95"
GROUP G_730
END
NUMBER F_PRIRPEF10 15
BEGIN
// PROMPT 2 11 "Imposta versata "
PROMPT 21 11 ""
FIELD LF_QUAA2->AIRPEFIV
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 11 "14 Interessi "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 41 11 "14 I.v.trat.CSSN "
GROUP G_730
END
NUMBER F_AIRPEFINT 15
BEGIN
PROMPT 61 11 ""
FIELD LF_QUAA2->AIRPEFINT
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "15 Soprattasse IRPEF saldo 94 e prima rata acc.95 "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "15 Importo da rimborsare CSSN "
GROUP G_730
END
NUMBER F_STASSA12 15
BEGIN
PROMPT 61 13 ""
FIELD LF_QUAA2->STASSA15
PICTURE "."
END
ENDPAGE
PAGE "2" -1 -1 78 21
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER DLG_NULL 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
GROUP 2
END
STRING DLG_NULL 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
GROUP 3
END
STRING DLG_NULL 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
GROUP 4
END
NUMBER DLG_NULL 4
BEGIN
PROMPT 72 1 ""
FLAGS "DG"
GROUP 5
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 4 "@bSALDO C.S.S.N. PER IL 1994 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 "16 Cont.a rimborso "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 "16 1r.acc.CSSN 95 "
GROUP G_730
END
NUMBER QA2F_CSSNCRIMB 15
BEGIN
PROMPT 21 5 ""
FIELD LF_QUAA2->CONTR16
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 5 "17 Cont. versato "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 41 5 "17 2r.acc.CSSN 95 "
GROUP G_730
END
NUMBER QA2F_CSSNCVER 15
BEGIN
// PROMPT 41 5 "Contr. versato "
PROMPT 61 5 ""
FIELD LF_QUAA2->CONTRVER
PICTURE "."
END
NUMBER QA2F_CSSNINT 15
BEGIN
PROMPT 2 6 "18 Interessi "
FIELD LF_QUAA2->INTER18
PICTURE "."
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 8 "@bPRIMA RATA ACCONTO C.S.S.N. PER IL 1995 "
END
NUMBER QA2F_CSSNAIV 15
BEGIN
PROMPT 2 9 "19 Contrib.versato "
FIELD LF_QUAA2->CONTV19
PICTURE "."
GROUP G_ALL
END
NUMBER QA2F_CSSNAINT 15
BEGIN
PROMPT 41 9 "20 Interessi "
FIELD LF_QUAA2->INTE20
PICTURE "."
GROUP G_ALL
END
NUMBER QA2F_STCSSN 15
BEGIN
PROMPT 2 11 "21 Soprattasse su C.S.S.N. saldo 94 e prima rata acc.95 "
FIELD LF_QUAA2->SOPRAT21
PICTURE "."
GROUP G_ALL
END
STRING QA2F_730NLIQ 2
BEGIN
PROMPT 2 12 "22 Mod.730/95 non liquidabile "
SHEET "Codice|Descrizione@60"
INPUT QA2F_730NLIQ
ITEM "|"
ITEM "01|Errata o incomp. compilaz. dati anagr. e di res. del dich."
ITEM "02|Errata o incomp. compilaz. dati del coniuge e fam. a carico"
ITEM "03|Errata o incomp. compilaz. dati anagr. e di res. del coniuge"
ITEM "04|Errata o incomp. dichiaraz. q. A Mod.730/95 del dich."
ITEM "05|Errata o incomp. dichiaraz. q. A Mod.730/95 del coniuge"
ITEM "06|Errata o incomp. dichiaraz. q. B Mod.730/95 del dich."
ITEM "07|Errata o incomp. dichiaraz. q. B Mod.730/95 del coniuge"
ITEM "08|Errata o incomp. dichiaraz. q. C Mod.730/95 del dich."
ITEM "09|Errata o incomp. dichiaraz. q. D Mod.730/95 del dich."
ITEM "10|Errata o incomp. dichiaraz. q. E Mod.730/95 del dich."
ITEM "11|Errata o incomp. dichiaraz. q. E Mod.730/95 del coniuge"
ITEM "12|Errata o incomp. dichiaraz. q. F Mod.730/95 del dich."
ITEM "13|Errata o incomp. dichiaraz. q. F Mod.730/95 del coniuge"
FIELD LF_QUAA2->M730NLIQ
FLAGS "Z"
OUTPUT QA2F_730NLIQ
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 14 "@bDati identificativi del C.A.A.F che ha prestato assistenza "
END
NUMBER F_CODCAAF 5
BEGIN
PROMPT 2 15 "Codice "
FIELD LF_QUAA2->CODCAAF
USE %CAF
CHECKTYPE NORMAL
INPUT CODTAB F_CODCAAF
DISPLAY "Codice" CODTAB
DISPLAY "Denominazione@50" S0
DISPLAY "N.ro iscrizione" I1
DISPLAY "Codice fiscale@16" S1
OUTPUT F_CODCAAF CODTAB
OUTPUT F_DENCAAF S0
OUTPUT F_NISCRA I1
OUTPUT F_CODFISCAAF S1
GROUP G_ALL
FLAGS "Z"
END
STRING F_DENCAAF 50
BEGIN
PROMPT 26 15 ""
FLAGS "DU"
END
STRING F_CODFISCAAF 16
BEGIN
PROMPT 2 16 "23 Cod.fiscale "
FLAGS "D"
END
NUMBER F_NISCRA 5
BEGIN
PROMPT 50 16 "25 N.iscrizione albo "
FLAGS "D"
END
ENDPAGE
ENDMASK

View File

@ -65,9 +65,14 @@ BEGIN
KEY 1
END
TEXT DLG_NULL
BEGIN
PROMPT 3 2 "Causale"
END
STRING F_CODCAUS 2
BEGIN
PROMPT 3 3 "Causale "
PROMPT 3 3 ""
USE %CA7 SELECT ((I0!="1015")&&(S1="D"))
INPUT CODTAB F_CODCAUS
DISPLAY "Codice " CODTAB
@ -89,20 +94,16 @@ END
NUMBER F_CODTRIB 4
BEGIN
PROMPT 3 4 ""
PROMPT 8 3 ""
FLAGS "D"
END
STRING QDF_CODCAUSD 1
BEGIN
PROMPT 9 4 ""
FLAGS "D"
END
LISTBOX F_DESCRCAUS 60
BEGIN
PROMPT 12 4 ""
ITEM "|"
BEGIN
PROMPT 14 3 ""
SHEET "Codice|Descrizione@60"
INPUT QDF_CODCAUSD
ITEM " | "
ITEM "A|prestaz. di lav. aut. ... nelles. arti o prof. abituale"
ITEM "B|prestaz. rese da amministratori, sindaci e revisori..."
ITEM "C|prestaz. rese da collaboratori a giornali, riviste, ..."
@ -120,6 +121,14 @@ BEGIN
ITEM "R|indennità corrisp. per la cessaz. di attività sportiva prof"
ITEM "S|indennità di trasf. o di rimborso forfettario di spese..."
ITEM "T|altro titolo diverso dai precedenti"
OUTPUT QDF_CODCAUSD
OUTPUT F_DESCRCAUS
FLAGS "D"
END
STRING F_DESCRCAUS 60
BEGIN
PROMPT 17 3 ""
FLAGS "D"
END

View File

@ -71,8 +71,8 @@ END
NUMBER F_ENTE 2
BEGIN
PROMPT 2 8 ""
COPY USE F_H1ANNO
PROMPT 2 8 ""
USE LF_QUAH
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA SELECT
INPUT H1ANNO F_H1ANNO SELECT
@ -81,13 +81,14 @@ BEGIN
COPY OUTPUT F_H1ANNO
FIELD LF_QUAH->H1ENTE
MESSAGE COPY,F_ENTEBIS
KEY 1
END
KEY 1
FLAGS "Z"
END
NUMBER F_ENTEBIS 2
BEGIN
PROMPT 2 8 ""
FLAGS "G"
FLAGS "GZ"
USE %ENT
CHECKTYPE FORCED
INPUT CODTAB F_ENTEBIS

View File

@ -1,474 +1,476 @@
// 771310.cpp - Modello 770 - Gestione quadro L
#include <applicat.h>
#include <mask.h>
#include <msksheet.h>
#include <relapp.h>
#include <relation.h>
#include <tabutil.h>
#include <urldefid.h>
#include <config.h>
#include <utility.h>
#include <mailbox.h>
#include <execp.h>
#include "771310.h"
#include "774100.h"
#include "774200.h"
#include "77lib.h"
#include "scperc.h"
#include "rver.h"
#include "rpag.h"
#include "quadrol.h"
class M71310_application : public TRelation_application
{
TRelation* _rel;
TMask* _msk;
TGenera _app;
TConfig* _cnf;
int _anno;
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual TRelation* get_relation() const { return _rel; }
virtual TMask* get_mask(int mode) { return _msk; }
virtual bool changing_mask(int mode) {return FALSE; }
virtual void init_query_mode(TMask&);
virtual void init_modify_mode(TMask&);
virtual void init_insert_mode(TMask&);
virtual void on_config_change();
virtual int rewrite(const TMask& m);
virtual int write(const TMask& m);
void build_note(const TMask& m);
void set_field_note(TMask& m);
bool changed_anno_dic(TMask& m);
real arrotonda(const TMask& m);
static bool generazione (TMask_field& f, KEY k);
static bool genera_para (TMask_field& f, KEY k);
static bool tipo (TMask_field& f, KEY k);
static bool luogo (TMask_field& f, KEY k);
static bool auto_premi (TMask_field& f, KEY k);
static bool mese (TMask_field& f, KEY k);
static bool anno (TMask_field& f, KEY k);
static bool cod_tributo (TMask_field& f, KEY k);
static bool codditta_hnd(TMask_field& f, KEY k);
static bool artbil_hnd(TMask_field& f, KEY k);
public:
M71310_application() {}
};
M71310_application& app() { return (M71310_application&) main_app(); }
bool M71310_application::generazione(TMask_field& f , KEY k)
{
if (k == K_SPACE)
app()._app.set(get_firm_770(), app()._cnf);
return TRUE;
}
bool M71310_application::genera_para(TMask_field& f , KEY k)
{
if (k == K_SPACE)
{
TString appname("776mod -4 d");
TExternal_app a(appname);
a.run();
f.mask().set_focus();
}
return TRUE;
}
bool M71310_application::codditta_hnd(TMask_field& f, KEY k)
{
if (k == K_TAB && !(f.mask().is_running()) )
{
TString16 codditta; codditta << get_firm_770();
if (codditta != "0")
{
f.set(codditta);
f.check();
}
}
return TRUE;
}
bool M71310_application::mese(TMask_field& f , KEY k)
{
// is_running() serve per fare il controllo solo quando la maschera sta andando
// In questo modo tutti i K_TAB che ricevono i campi durante la costruzione della maschera
// vengono ignorati.
// Il K_TAB mi fa scattare il controllo quando lascio il campo
// Il K_ENTER mi serve per fare i controlli quando uso uno dei tasti della bottoniera
if (k == K_TAB || k == K_ENTER)
{
int mese = f.mask().get_int(F_QLMESEPAG);
if (mese == 0)
return f.error_box("Il mese di pagamento deve essere indicato obbligatoriamente");
}
return TRUE;
}
bool M71310_application::anno(TMask_field& f , KEY k)
{
// is_running() serve per fare il controllo solo quando la maschera sta andando
// In questo modo tutti i K_TAB che ricevono i campi durante la costruzione della maschera
// vengono ignorati.
// Il K_TAB mi fa scattare il controllo quando lascio il campo
// Il K_ENTER mi serve per fare i controlli quando uso uno dei tasti della bottoniera
if ((k == K_TAB && f.mask().is_running()) || k == K_ENTER)
{
int anno = f.mask().get_int(F_QLANNOPAG);
if (anno == 0)
return f.error_box("L'anno di pagamento deve essere indicato obbligatoriamente");
}
return TRUE;
}
bool M71310_application::cod_tributo(TMask_field& f , KEY k)
{
// is_running() serve per fare il controllo solo quando la maschera sta andando
// In questo modo tutti i K_TAB che ricevono i campi durante la costruzione della maschera
// vengono ignorati.
// Il K_TAB mi fa scattare il controllo quando lascio il campo
// Il K_ENTER mi serve per fare i controlli quando uso uno dei tasti della bottoniera
if ((k == K_TAB && f.mask().is_running()) || k == K_ENTER)
{
int tributo = f.mask().get_int(F_QLCODTRIB);
if (tributo == 0)
return f.error_box("Il codice tributo deve essere indicato obbligatoriamente");
}
return TRUE;
}
// "auto-premimento"
// Sia da F_ABI che da F_NUMERO
bool M71310_application::auto_premi(TMask_field& f, KEY k)
{
if (k == K_CTRL+K_TAB && f.mask().is_running())
{
f.set_dirty();
return TRUE;
}
// if (k == K_TAB && f.mask().is_running())
// f.mask().stop_run(K_AUTO_ENTER);
return TRUE;
}
bool M71310_application::tipo(TMask_field& f , KEY k)
{
if (k == K_SPACE)
{
TMask& m = f.mask();
TString16 tipo = m.get(F_QLTIPOVERS);
TString16 luogo = m.get(F_QLLUOVERS);
if (tipo.not_empty() && luogo.not_empty())
if (tipo == "D" && luogo == "T")
{
m.reset(-G_DISTINTA_TESORERIA);
m.disable(-G_DISTINTA_TESORERIA);
}
else
m.enable(-G_DISTINTA_TESORERIA);
}
return TRUE;
}
bool M71310_application::luogo(TMask_field& f , KEY k)
{
if (k == K_SPACE)
{
TMask& m = f.mask();
TString16 tipo = m.get(F_QLTIPOVERS);
TString16 luogo = m.get(F_QLLUOVERS);
if (tipo.not_empty())
if (tipo == "D" && luogo == "T")
{
m.reset(-G_DISTINTA_TESORERIA);
m.disable(-G_DISTINTA_TESORERIA);
}
else
m.enable(-G_DISTINTA_TESORERIA);
}
return TRUE;
}
// Tenta di mandare il focus al campo visibile invece che a quello
// nascosto
bool M71310_application::artbil_hnd(TMask_field& f , KEY k)
{
if (k == K_TAB)
{
TMask& m = f.mask();
const char tipo = m.get(F_QLTIPOVERS)[0];
const char luogo = m.get(F_QLLUOVERS)[0];
// Determina chi ha il focus in questo momento
TMask_field& fld = m.focus_field();
// Se il focus e' sull'ultimo campo prima di F_ABI
if (fld.dlg() == F_ARTBIL)
{
// WINDOW win;
// Determina chi ce lo dovrebbe avere dopo..
if (tipo == 'B')
{
TMask_field& fabi = m.field(F_ABI);
fabi.set_focus();
// win = m.field(F_ABI).win();
// m.set_focus_win(win, TRUE);
}
}
}
return TRUE;
}
void M71310_application::on_config_change()
{
TConfig conf(CONFIG_STUDIO);
_anno = (int) conf.get_long(ANNO_SEL);
}
// Determina se l'utente ha cambiato l'anno di dichiarazione
// impostato. Se si' non bisogna toccarlo
bool M71310_application::changed_anno_dic(TMask& m)
{
const int anno_corr = m.get_int(F_ANNODIC);
return anno_corr ? anno_corr != _anno : FALSE;
}
void M71310_application::init_insert_mode(TMask& m)
{
if (!changed_anno_dic(m))
m.set(F_ANNODIC, _anno);
m.disable(F_ANNODIC);
m.disable(F_GENERA);
m.enable (F_QLRITEFF);
m.enable (F_QLRITVER);
m.enable (F_QLRSS);
//m.enable (F_QLNOTE);
m.enable (F_NOTEA);
m.enable (F_NOTEB);
m.enable (F_NOTEC);
m.enable (F_NOTED);
m.enable (F_NOTEE);
m.enable (F_NOTEF);
m.enable (F_NOTEG);
}
void M71310_application::init_query_mode(TMask& m)
{
if (!changed_anno_dic(m))
m.set(F_ANNODIC, _anno);
m.enable(F_ANNODIC);
m.enable (F_GENERA);
m.disable(F_QLRITEFF);
m.disable(F_QLRITVER);
m.disable(F_QLRSS);
//m.disable(F_QLNOTE);
m.disable(F_NOTEA);
m.disable(F_NOTEB);
m.disable(F_NOTEC);
m.disable(F_NOTED);
m.disable(F_NOTEE);
m.disable(F_NOTEF);
m.disable(F_NOTEG);
}
void M71310_application::init_modify_mode(TMask& m)
{
if (!changed_anno_dic(m))
m.set(F_ANNODIC, _anno);
m.disable(F_ANNODIC);
set_field_note(m);
m.disable(F_GENERA);
m.enable (F_QLRITEFF);
m.enable (F_QLRITVER);
m.enable (F_QLRSS);
//m.enable (F_QLNOTE);
m.enable (F_NOTEA);
m.enable (F_NOTEB);
m.enable (F_NOTEC);
m.enable (F_NOTED);
m.enable (F_NOTEE);
m.enable (F_NOTEF);
m.enable (F_NOTEG);
}
void M71310_application::set_field_note(TMask& m)
{
TString note = _rel->lfile().get(QUL_QLNOTE);
if (note != "")
{
char A,B,C,D,E,F,G;
int p = note.len() - 1;
A = note[0];
if (p >= 1)
B = note[1];
if (p >= 2)
C = note[2];
if (p >= 3)
D = note[3];
if (p >= 4)
E = note[4];
if (p >= 5)
F = note[5];
if (p >= 6)
G = note[6];
if (A == 'A')
m.set(F_NOTEA, "X");
if (B == 'B')
m.set(F_NOTEB, "X");
if (C == 'C')
m.set(F_NOTEC, "X");
if (D == 'D')
m.set(F_NOTED, "X");
if (E == 'E')
m.set(F_NOTEE, "X");
if (F == 'F')
m.set(F_NOTEF, "X");
if (G == 'G')
m.set(F_NOTEG, "X");
}
}
void M71310_application::build_note(const TMask& m)
{
char A = m.get(F_NOTEA)[0];
char B = m.get(F_NOTEB)[0];
char C = m.get(F_NOTEC)[0];
char D = m.get(F_NOTED)[0];
char E = m.get(F_NOTEE)[0];
char F = m.get(F_NOTEF)[0];
char G = m.get(F_NOTEG)[0];
TString16 note;
if (A == 'X')
note[0] = 'A';
else
note[0] = ' ';
if (B == 'X')
note[1] = 'B';
else
note[1] = ' ';
if (C == 'X')
note[2] = 'C';
else
note[2] = ' ';
if (D == 'X')
note[3] = 'D';
else
note[3] = ' ';
if (E == 'X')
note[4] = 'E';
else
note[4] = ' ';
if (F == 'X')
note[5] = 'F';
else
note[5] = ' ';
if (G == 'X')
note[6] = 'G';
else
note[6] = ' ';
note [7] = '\0';
_rel->lfile().put(QUL_QLNOTE, note);
}
// Arrotonda l'importo versato
real M71310_application::arrotonda(const TMask& m)
{
real rImpVers = m.get_real(F_QLRITVER);
real rImpArr = round_770(rImpVers);
return rImpArr;
}
int M71310_application::rewrite(const TMask& m)
{
real rImpVersArr;
build_note(m);
m.autosave(*_rel);
rImpVersArr = arrotonda(m);
_rel->lfile().put(QUL_QLRITVER, rImpVersArr);
return _rel->rewrite();
}
int M71310_application::write(const TMask& m)
{
real rImpVersArr;
build_note(m);
m.autosave(*_rel);
rImpVersArr = arrotonda(m);
_rel->lfile().put(QUL_QLRITVER, rImpVersArr);
return _rel->write();
}
bool M71310_application::user_create()
{
_cnf = new TConfig(CONFIG_STUDIO);
_rel = new TRelation (LF_QUAL);
_msk = new TMask("771310a");
set_search_field(F_QLANNOPAG);
_msk->set_handler (F_GENERA, generazione);
_msk->set_handler (F_PARAMETRI, genera_para);
_msk->set_handler (F_CODDITTA, codditta_hnd);
_msk->set_handler (F_QLTIPOVERS, tipo);
_msk->set_handler (F_QLLUOVERS, luogo);
_msk->set_handler (F_QLMESEPAG, mese);
_msk->set_handler (F_QLANNOPAG, anno);
_msk->set_handler (F_QLCODTRIB, cod_tributo);
_msk->set_handler (F_QLNUMERO, auto_premi);
_msk->set_handler (F_CCQUIETANZA, auto_premi);
_msk->set_handler (F_NPROG, auto_premi);
_msk->set_handler (F_ARTBIL, artbil_hnd);
return TRUE;
}
bool M71310_application::user_destroy()
{
delete _msk;
delete _rel;
delete _cnf;
return TRUE;
}
int m71310(int argc, char* argv[])
{
M71310_application a;
a.run(argc, argv, "Quadro L");
return 0;
}
// 771310.cpp - Modello 770 - Gestione quadro L
#include <applicat.h>
#include <mask.h>
#include <msksheet.h>
#include <relapp.h>
#include <relation.h>
#include <tabutil.h>
#include <urldefid.h>
#include <config.h>
#include <utility.h>
#include <mailbox.h>
#include <execp.h>
#include "771310.h"
#include "774100.h"
#include "774200.h"
#include "77lib.h"
#include "scperc.h"
#include "rver.h"
#include "rpag.h"
#include "quadrol.h"
class M71310_application : public TRelation_application
{
TRelation* _rel;
TMask* _msk;
TGenera* _app;
TConfig* _cnf;
int _anno;
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual TRelation* get_relation() const { return _rel; }
virtual TMask* get_mask(int mode) { return _msk; }
virtual bool changing_mask(int mode) {return FALSE; }
virtual void init_query_mode(TMask&);
virtual void init_modify_mode(TMask&);
virtual void init_insert_mode(TMask&);
virtual void on_config_change();
virtual int rewrite(const TMask& m);
virtual int write(const TMask& m);
void build_note(const TMask& m);
void set_field_note(TMask& m);
bool changed_anno_dic(TMask& m);
real arrotonda(const TMask& m);
static bool generazione (TMask_field& f, KEY k);
static bool genera_para (TMask_field& f, KEY k);
static bool tipo (TMask_field& f, KEY k);
static bool luogo (TMask_field& f, KEY k);
static bool auto_premi (TMask_field& f, KEY k);
static bool mese (TMask_field& f, KEY k);
static bool anno (TMask_field& f, KEY k);
static bool cod_tributo (TMask_field& f, KEY k);
static bool codditta_hnd(TMask_field& f, KEY k);
static bool artbil_hnd(TMask_field& f, KEY k);
public:
M71310_application() {}
};
M71310_application& app() { return (M71310_application&) main_app(); }
bool M71310_application::generazione(TMask_field& f , KEY k)
{
if (k == K_SPACE)
app()._app->set(get_firm_770(), app()._cnf);
return TRUE;
}
bool M71310_application::genera_para(TMask_field& f , KEY k)
{
if (k == K_SPACE)
{
TString appname("776mod -4 d");
TExternal_app a(appname);
a.run();
f.mask().set_focus();
}
return TRUE;
}
bool M71310_application::codditta_hnd(TMask_field& f, KEY k)
{
if (k == K_TAB && !(f.mask().is_running()) )
{
TString16 codditta; codditta << get_firm_770();
if (codditta != "0")
{
f.set(codditta);
f.check();
}
}
return TRUE;
}
bool M71310_application::mese(TMask_field& f , KEY k)
{
// is_running() serve per fare il controllo solo quando la maschera sta andando
// In questo modo tutti i K_TAB che ricevono i campi durante la costruzione della maschera
// vengono ignorati.
// Il K_TAB mi fa scattare il controllo quando lascio il campo
// Il K_ENTER mi serve per fare i controlli quando uso uno dei tasti della bottoniera
if (k == K_TAB || k == K_ENTER)
{
int mese = f.mask().get_int(F_QLMESEPAG);
if (mese == 0)
return f.error_box("Il mese di pagamento deve essere indicato obbligatoriamente");
}
return TRUE;
}
bool M71310_application::anno(TMask_field& f , KEY k)
{
// is_running() serve per fare il controllo solo quando la maschera sta andando
// In questo modo tutti i K_TAB che ricevono i campi durante la costruzione della maschera
// vengono ignorati.
// Il K_TAB mi fa scattare il controllo quando lascio il campo
// Il K_ENTER mi serve per fare i controlli quando uso uno dei tasti della bottoniera
if ((k == K_TAB && f.mask().is_running()) || k == K_ENTER)
{
int anno = f.mask().get_int(F_QLANNOPAG);
if (anno == 0)
return f.error_box("L'anno di pagamento deve essere indicato obbligatoriamente");
}
return TRUE;
}
bool M71310_application::cod_tributo(TMask_field& f , KEY k)
{
// is_running() serve per fare il controllo solo quando la maschera sta andando
// In questo modo tutti i K_TAB che ricevono i campi durante la costruzione della maschera
// vengono ignorati.
// Il K_TAB mi fa scattare il controllo quando lascio il campo
// Il K_ENTER mi serve per fare i controlli quando uso uno dei tasti della bottoniera
if ((k == K_TAB && f.mask().is_running()) || k == K_ENTER)
{
int tributo = f.mask().get_int(F_QLCODTRIB);
if (tributo == 0)
return f.error_box("Il codice tributo deve essere indicato obbligatoriamente");
}
return TRUE;
}
// "auto-premimento"
// Sia da F_ABI che da F_NUMERO
bool M71310_application::auto_premi(TMask_field& f, KEY k)
{
if (k == K_CTRL+K_TAB && f.mask().is_running())
{
f.set_dirty();
return TRUE;
}
// if (k == K_TAB && f.mask().is_running())
// f.mask().stop_run(K_AUTO_ENTER);
return TRUE;
}
bool M71310_application::tipo(TMask_field& f , KEY k)
{
if (k == K_SPACE)
{
TMask& m = f.mask();
TString16 tipo = m.get(F_QLTIPOVERS);
TString16 luogo = m.get(F_QLLUOVERS);
if (tipo.not_empty() && luogo.not_empty())
if (tipo == "D" && luogo == "T")
{
m.reset(-G_DISTINTA_TESORERIA);
m.disable(-G_DISTINTA_TESORERIA);
}
else
m.enable(-G_DISTINTA_TESORERIA);
}
return TRUE;
}
bool M71310_application::luogo(TMask_field& f , KEY k)
{
if (k == K_SPACE)
{
TMask& m = f.mask();
TString16 tipo = m.get(F_QLTIPOVERS);
TString16 luogo = m.get(F_QLLUOVERS);
if (tipo.not_empty())
if (tipo == "D" && luogo == "T")
{
m.reset(-G_DISTINTA_TESORERIA);
m.disable(-G_DISTINTA_TESORERIA);
}
else
m.enable(-G_DISTINTA_TESORERIA);
}
return TRUE;
}
// Tenta di mandare il focus al campo visibile invece che a quello
// nascosto
bool M71310_application::artbil_hnd(TMask_field& f , KEY k)
{
if (k == K_TAB)
{
TMask& m = f.mask();
const char tipo = m.get(F_QLTIPOVERS)[0];
const char luogo = m.get(F_QLLUOVERS)[0];
// Determina chi ha il focus in questo momento
TMask_field& fld = m.focus_field();
// Se il focus e' sull'ultimo campo prima di F_ABI
if (fld.dlg() == F_ARTBIL)
{
// WINDOW win;
// Determina chi ce lo dovrebbe avere dopo..
if (tipo == 'B')
{
TMask_field& fabi = m.field(F_ABI);
fabi.set_focus();
// win = m.field(F_ABI).win();
// m.set_focus_win(win, TRUE);
}
}
}
return TRUE;
}
void M71310_application::on_config_change()
{
TConfig conf(CONFIG_STUDIO);
_anno = (int) conf.get_long(ANNO_SEL);
}
// Determina se l'utente ha cambiato l'anno di dichiarazione
// impostato. Se si' non bisogna toccarlo
bool M71310_application::changed_anno_dic(TMask& m)
{
const int anno_corr = m.get_int(F_ANNODIC);
return anno_corr ? anno_corr != _anno : FALSE;
}
void M71310_application::init_insert_mode(TMask& m)
{
if (!changed_anno_dic(m))
m.set(F_ANNODIC, _anno);
m.disable(F_ANNODIC);
m.disable(F_GENERA);
m.enable (F_QLRITEFF);
m.enable (F_QLRITVER);
m.enable (F_QLRSS);
//m.enable (F_QLNOTE);
m.enable (F_NOTEA);
m.enable (F_NOTEB);
m.enable (F_NOTEC);
m.enable (F_NOTED);
m.enable (F_NOTEE);
m.enable (F_NOTEF);
m.enable (F_NOTEG);
}
void M71310_application::init_query_mode(TMask& m)
{
if (!changed_anno_dic(m))
m.set(F_ANNODIC, _anno);
m.enable(F_ANNODIC);
m.enable (F_GENERA);
m.disable(F_QLRITEFF);
m.disable(F_QLRITVER);
m.disable(F_QLRSS);
//m.disable(F_QLNOTE);
m.disable(F_NOTEA);
m.disable(F_NOTEB);
m.disable(F_NOTEC);
m.disable(F_NOTED);
m.disable(F_NOTEE);
m.disable(F_NOTEF);
m.disable(F_NOTEG);
}
void M71310_application::init_modify_mode(TMask& m)
{
if (!changed_anno_dic(m))
m.set(F_ANNODIC, _anno);
m.disable(F_ANNODIC);
set_field_note(m);
m.disable(F_GENERA);
m.enable (F_QLRITEFF);
m.enable (F_QLRITVER);
m.enable (F_QLRSS);
//m.enable (F_QLNOTE);
m.enable (F_NOTEA);
m.enable (F_NOTEB);
m.enable (F_NOTEC);
m.enable (F_NOTED);
m.enable (F_NOTEE);
m.enable (F_NOTEF);
m.enable (F_NOTEG);
}
void M71310_application::set_field_note(TMask& m)
{
TString note = _rel->lfile().get(QUL_QLNOTE);
if (note != "")
{
char A,B,C,D,E,F,G;
int p = note.len() - 1;
A = note[0];
if (p >= 1)
B = note[1];
if (p >= 2)
C = note[2];
if (p >= 3)
D = note[3];
if (p >= 4)
E = note[4];
if (p >= 5)
F = note[5];
if (p >= 6)
G = note[6];
if (A == 'A')
m.set(F_NOTEA, "X");
if (B == 'B')
m.set(F_NOTEB, "X");
if (C == 'C')
m.set(F_NOTEC, "X");
if (D == 'D')
m.set(F_NOTED, "X");
if (E == 'E')
m.set(F_NOTEE, "X");
if (F == 'F')
m.set(F_NOTEF, "X");
if (G == 'G')
m.set(F_NOTEG, "X");
}
}
void M71310_application::build_note(const TMask& m)
{
char A = m.get(F_NOTEA)[0];
char B = m.get(F_NOTEB)[0];
char C = m.get(F_NOTEC)[0];
char D = m.get(F_NOTED)[0];
char E = m.get(F_NOTEE)[0];
char F = m.get(F_NOTEF)[0];
char G = m.get(F_NOTEG)[0];
TString16 note;
if (A == 'X')
note[0] = 'A';
else
note[0] = ' ';
if (B == 'X')
note[1] = 'B';
else
note[1] = ' ';
if (C == 'X')
note[2] = 'C';
else
note[2] = ' ';
if (D == 'X')
note[3] = 'D';
else
note[3] = ' ';
if (E == 'X')
note[4] = 'E';
else
note[4] = ' ';
if (F == 'X')
note[5] = 'F';
else
note[5] = ' ';
if (G == 'X')
note[6] = 'G';
else
note[6] = ' ';
note [7] = '\0';
_rel->lfile().put(QUL_QLNOTE, note);
}
// Arrotonda l'importo versato
real M71310_application::arrotonda(const TMask& m)
{
real rImpVers = m.get_real(F_QLRITVER);
real rImpArr = round_770(rImpVers);
return rImpArr;
}
int M71310_application::rewrite(const TMask& m)
{
real rImpVersArr;
build_note(m);
m.autosave(*_rel);
rImpVersArr = arrotonda(m);
_rel->lfile().put(QUL_QLRITVER, rImpVersArr);
return _rel->rewrite();
}
int M71310_application::write(const TMask& m)
{
real rImpVersArr;
build_note(m);
m.autosave(*_rel);
rImpVersArr = arrotonda(m);
_rel->lfile().put(QUL_QLRITVER, rImpVersArr);
return _rel->write();
}
bool M71310_application::user_create()
{
_cnf = new TConfig(CONFIG_STUDIO);
_rel = new TRelation (LF_QUAL);
_msk = new TMask("771310a");
_app = new TGenera('d');
set_search_field(F_QLANNOPAG);
_msk->set_handler (F_GENERA, generazione);
_msk->set_handler (F_PARAMETRI, genera_para);
_msk->set_handler (F_CODDITTA, codditta_hnd);
_msk->set_handler (F_QLTIPOVERS, tipo);
_msk->set_handler (F_QLLUOVERS, luogo);
_msk->set_handler (F_QLMESEPAG, mese);
_msk->set_handler (F_QLANNOPAG, anno);
_msk->set_handler (F_QLCODTRIB, cod_tributo);
_msk->set_handler (F_QLNUMERO, auto_premi);
_msk->set_handler (F_CCQUIETANZA, auto_premi);
_msk->set_handler (F_NPROG, auto_premi);
_msk->set_handler (F_ARTBIL, artbil_hnd);
return TRUE;
}
bool M71310_application::user_destroy()
{
delete _msk;
delete _rel;
delete _cnf;
delete _app;
return TRUE;
}
int m71310(int argc, char* argv[])
{
M71310_application a;
a.run(argc, argv, "Quadro L");
return 0;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,55 +1,55 @@
#ifndef __774100_H
#define __774100_H
#include <mailbox.h>
#include "77lib.h"
// Usato in generazione per evitare di leggere due volte lo stesso versamento
class TVersamenti : public TAssoc_array
{
TString80 _key;
public:
bool find (TSchedaP& sch, const long numvers);
void set (TSchedaP& scheda, const long numvers);
TVersamenti() {}
};
bool filter_func(const TRelation *);
class TGenera
{
friend bool filter_func(const TRelation *);
TVersamenti* _righe_gia_presenti;
TRecnotype _items_rpag;
int _annodic,_annopag,_mesepag,_causale,_artbil;
int _ab1015, _ct1015, _codtrib;
long _codditta;
real _riteff,_ritver;
TDate _datavers;
char _luovers,_tipover;
TString _serie,_numero,_codqua,_cq1015,_rss,_note,_sNprog;
bool _ver1015;
bool azzera_quadroL();
bool causale1015 (int codcaus);
void causale (int causale);
void genera_riga (TCursor*);
void dati_rver (TLocalisamfile&, TSchedaP& scheda, long numvers);
void dati_scperc (TSchedaP& scheda);
int controllo_parametri();
public:
bool set(const long codditta, TConfig* cnf, const char* section="77");
void arrotonda();
TGenera() : _annodic(0),_annopag(0),_mesepag(0),_causale(0),_artbil(0),
_ab1015(0), _ct1015(0), _codtrib(0) {}
virtual ~TGenera() {}
};
#endif
#ifndef __774100_H
#define __774100_H
#include <mailbox.h>
#include "77lib.h"
// Usato in generazione per evitare di leggere due volte lo stesso versamento
class TVersamenti : public TAssoc_array
{
TString80 _key;
public:
bool find (TSchedaP& sch, const long numvers);
void set (TSchedaP& scheda, const long numvers);
TVersamenti() {}
};
bool filter_func(const TRelation *);
class TGenera
{
friend bool filter_func(const TRelation *);
TVersamenti* _righe_gia_presenti;
TRecnotype _items_rpag;
int _annodic,_annopag,_mesepag,_causale,_artbil;
int _ab1015, _ct1015, _codtrib;
long _codditta;
real _riteff,_ritver;
TDate _datavers;
char _luovers,_tipover,_liv;
TString _serie,_numero,_codqua,_cq1015,_rss,_note,_sNprog;
bool _ver1015;
bool azzera_quadroL();
bool causale1015 (int codcaus);
void causale (int causale);
bool genera_riga (TCursor*);
void dati_rver (TLocalisamfile&, TSchedaP& scheda, long numvers);
void dati_scperc (TSchedaP& scheda);
int controllo_parametri();
public:
bool set(const long codditta, TConfig* cnf, const char* section="77");
void arrotonda();
TGenera(char livello) : _liv(toupper(livello)),_annodic(0),_annopag(0),
_mesepag(0),_causale(0),_artbil(0),_ab1015(0), _ct1015(0), _codtrib(0) {}
virtual ~TGenera() {}
};
#endif

View File

@ -424,13 +424,16 @@ void TSelezioneDich::build_nomiditte()
for (_nditte->first(); !_nditte->eof(); _nditte->next())
{
prg.addstatus(1);
_n_ditte++;
TToken_string* d = new TToken_string(64);
d->add(" "); // spazio per la selezione
d->add(dt.get("CODDITTA"));
d->add(dt.get("RAGSOC"));
_nomiditte.add(d);
prg.addstatus(1);
if (exist_dichiar_770(dt.get_long("CODDITTA")))
{
_n_ditte++;
TToken_string* d = new TToken_string(64);
d->add(" "); // spazio per la selezione
d->add(dt.get("CODDITTA"));
d->add(dt.get("RAGSOC"));
_nomiditte.add(d);
}
}
}

View File

@ -12,6 +12,21 @@
#include "776.h"
#include "776500.h"
#include "77lib.h"
// derivazione della classe Tmask per reimplementare
// la funzione membro can_be_closed() in modo da poter
// avvertire l'utente in caso di pressione del tasto ALT+F4
class TMaskDerived : public TMask
{
public:
// @cmember Controlla se la maschera puo' essere chiusa (TRUE se puo' esserlo)
virtual bool can_be_closed() const;
// @cmember Costruttore (crea la maschera leggendo la descrizione dal file .msk)
TMaskDerived(const char* title) : TMask(title) {};
// @cmember Distruttore
virtual ~TMaskDerived(){};
};
class TParametri_genera : public TApplication
{
@ -37,9 +52,19 @@ class TParametri_genera : public TApplication
HIDDEN TParametri_genera& app() { return (TParametri_genera&) main_app(); }
// implementazione della funzione TMaskDerived::can_be_closed()
// per segnalare all'utente l'interruzione del processo di generazione
bool TMaskDerived::can_be_closed() const
{
bool ok = TRUE;
if (is_running())
ok = yesno_box("Annullare la generazione dei versamenti?");
return ok;
}
void TParametri_genera::on_config_change()
{
TConfig conf(_liv == 'S' ? CONFIG_USER : CONFIG_STUDIO);
TConfig conf(CONFIG_STUDIO);
_anno_dic = (int)conf.get_long(ANNO_SEL, _section);
}
@ -61,90 +86,45 @@ KEY TParametri_genera::registra(TMask& m, bool check_dirty)
bool TParametri_genera::main_loop()
{
long codditta, codditta_prec;
long codditta;
int i = 0;
KEY tasto;
TMask msk("776500a");
msk.open_modal();
// da dichiarazioni selezionate
if (_liv == 'S')
{
codditta_prec = get_firm_770();
tasto = K_TAB;
// loop di scansione dichiarazioni selezionate
while ((codditta = _cnf->get_long(DITTE_SEL, _section, i++)) != 0L
&& tasto != K_QUIT)
TMaskDerived msk("776500a");
msk.open_modal();
codditta = get_firm_770();
_rel->lfile().put("CODDITTA", codditta);
_rel->read();
msk.autoload(*_rel);
tasto = K_TAB;
_risposta = 0;
// loop di gestione maschera
while (tasto != K_ESC && tasto != K_QUIT)
{
tasto = msk.run();
switch (tasto)
{
set_firm_770(codditta);
_rel->lfile().put("CODDITTA", codditta);
_rel->read();
msk.autoload(*_rel);
tasto = K_TAB;
// loop di gestione maschera
while (tasto != K_ESC && tasto != K_QUIT)
{
tasto = msk.run();
switch (tasto)
{
case K_ESC:
if (registra(msk,TRUE) == K_ESC)
tasto = K_TAB;
break;
case K_QUIT:
if (registra(msk,TRUE) == K_ESC)
tasto = K_TAB;
break;
case K_SAVE:
registra(msk,FALSE);
default:
break;
}
} // endloop di gestione maschera
} // endloop di scansione dichiarazioni selezionate
set_firm_770(codditta_prec);
}
// dalla manutenzione dichiarazione
else
{
codditta = get_firm_770();
_rel->lfile().put("CODDITTA", codditta);
_rel->read();
msk.autoload(*_rel);
tasto = K_TAB;
// loop di gestione maschera
while (tasto != K_ESC && tasto != K_QUIT)
{
tasto = msk.run();
switch (tasto)
{
case K_ESC:
if (registra(msk,TRUE) == K_ESC)
tasto = K_TAB;
_risposta = 1;
break;
case K_QUIT:
if (registra(msk,TRUE) == K_ESC)
tasto = K_TAB;
_risposta = 0;
break;
case K_SAVE:
registra(msk,FALSE);
_risposta = 1;
default:
break;
}
} // endloop di gestione maschera
}
msk.close_modal();
case K_ESC:
if (registra(msk,TRUE) == K_ESC)
tasto = K_TAB;
_risposta = 1;
break;
case K_QUIT:
if (yesno_box("Annullare la generazione dei versamenti?"))
_risposta = 0;
else tasto = K_TAB;
break;
case K_SAVE:
registra(msk,FALSE);
_risposta = 1;
default:
break;
}
} // endloop di gestione maschera
msk.close_modal();
return FALSE;
}
@ -163,17 +143,21 @@ bool TParametri_genera::create()
bool TParametri_genera::destroy()
{
delete _rel;
delete _cnf;
delete _cnf;
if (_liv == 'D')
{
TString appname = "771mod -3";
TString body = "";
body << _risposta;
TMessage msg (appname,"",(const char*) body);
TMailbox mb;
mb.send(msg);
}
TString appname;
TString body = "";
if (_liv == 'D')
appname = "771mod -3";
else
appname = "774 -0";
body << _risposta;
TMessage msg (appname,"",(const char*) body);
TMailbox mb;
mb.send(msg);
return TApplication::destroy();
}

View File

@ -13,13 +13,11 @@ END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -23 -1 ""
MESSAGE EXIT,K_ESC
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -33 -1 ""
MESSAGE EXIT,K_QUIT
END
ENDPAGE

View File

@ -31,9 +31,9 @@ BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_NULL 9 2
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -33 -1 "Azzera"
PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@
END

View File

@ -60,9 +60,9 @@ BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_NULL 9 2
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -33 -1 "Azzera"
PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@
END

View File

@ -1,5 +1,10 @@
USE 42
JOIN 37 INTO CODDITTA=CODDITTA
JOIN 37 INTO CODDITTA=CODDITTA
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)
END
DESCRIPTION
@ -24,7 +29,7 @@ STRINGA 1
BEGIN
KEY "Cod.Conc.1"
PROMPT 41 1 ""
FIELD 37->L0CCONC1
FIELD 213@->UFFCONC
END
STRINGA 2

View File

@ -1,4 +1,5 @@
// 77qg1a.h
#define F_CODDITTA 101
#define F_RAGDITTA 102
#define F_PI 103
#define F_PI 103
#define DLG_AZZERA 150

View File

@ -60,9 +60,9 @@ BEGIN
PROMPT -23 -1 ""
END
BUTTON DLG_NULL 9 2
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -33 -1 "Azzera"
PROMPT -33 -1 "A~zzera"
MESSAGE RESET,1@
END

View File

@ -43,7 +43,7 @@ BEGIN
USE LF_QUAN
INPUT CODDITTA QNF_CODDITTA SELECT
INPUT NPROG QNF_NPROG
DISPLAY "N°" NPROG
DISPLAY "Num." NPROG
DISPLAY "Mese" MESERIF
DISPLAY "Anno" ANNORIF
DISPLAY "Imposta rimborsata" IMPOSTA

View File

@ -51,7 +51,7 @@ BEGIN
USE LF_QUAP SELECT (CODDITTA=#QPF_CODDITTA)
INPUT CODDITTA QPF_CODDITTA SELECT
INPUT NPROG QPF_NPROG
DISPLAY "N°" NPROG
DISPLAY "Num." NPROG
DISPLAY "Imposta versata" IMPOSTA
DISPLAY "Interessi dipendente" INTERDIP
DISPLAY "Interessi datore di lavoro" INTERDAT

View File

@ -43,7 +43,7 @@ BEGIN
USE LF_QUAQ SELECT (CODDITTA=#QQF_CODDITTA)
INPUT CODDITTA QQF_CODDITTA SELECT
INPUT NPROG QQF_NPROG
DISPLAY "N°" NPROG
DISPLAY "Num." NPROG
DISPLAY "Mese" MESEPAG
DISPLAY "Anno" ANNOPAG
DISPLAY "Contributo versato" CONTVERS

View File

@ -43,7 +43,7 @@ BEGIN
USE LF_QUAR SELECT (CODDITTA=#QRF_CODDITTA)
INPUT CODDITTA QRF_CODDITTA SELECT
INPUT NPROG QRF_NPROG
DISPLAY "N°" NPROG
DISPLAY "Num." NPROG
DISPLAY "Mese" MESERIF
DISPLAY "Anno" ANNORIF
DISPLAY "Imposta rimborsata" IMPRIMB

View File

@ -51,7 +51,7 @@ BEGIN
USE LF_QUAS SELECT (CODDITTA=#QSF_CODDITTA)
INPUT CODDITTA QSF_CODDITTA SELECT
INPUT NPROG QSF_NPROG
DISPLAY "N°" NPROG
DISPLAY "Num." NPROG
DISPLAY "Imposta versata" IMPOSTA
DISPLAY "Interessi dipendente" INTERDIP
DISPLAY "Interessi datore di lavoro" INTERDAT

View File

@ -43,7 +43,7 @@ BEGIN
USE LF_QUAT SELECT (CODDITTA=#QTF_CODDITTA)
INPUT CODDITTA QTF_CODDITTA SELECT
INPUT NPROG QTF_NPROG
DISPLAY "N°" NPROG
DISPLAY "Num." NPROG
DISPLAY "Mese" MESEPAG
DISPLAY "Anno" ANNOPAG
DISPLAY "Contributo versato" CONTVERS