1o Merge della 97.02

git-svn-id: svn://10.65.10.50/trunk@4705 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1997-06-18 09:52:29 +00:00
parent 3c844389a5
commit ba705bffeb
97 changed files with 8376 additions and 6051 deletions

View File

@ -201,7 +201,7 @@ END
LISTBOX ADF_ASSFIS 1 40
BEGIN
PROMPT 1 17 "Si è avvalso dell'assist. fiscale "
PROMPT 1 17 "Assistenza fiscale per l'anno 97 "
ITEM "0|Non si è avvalso dell'assistenza fiscale"
ITEM "1|Del datore di lavoro"
ITEM "2|Del CAAF"

View File

@ -48,6 +48,10 @@ bool QA_cerca_codA(const long codditta, const long coddip, const int curprog, TS
// se rettifica C,D,E,F controllo se esiste un qualsiasi altro record
if (ret == "C" || ret == "D" || ret == "E" || ret == "F")
return TRUE;
// se senza rettifica controllo se esiste un record con rettifica C,D,E,F
if (ret == "")
if (retx == "C" || retx == "D" || retx == "E" || retx == "F")
return TRUE;
}
return FALSE;
}
@ -556,11 +560,17 @@ bool TQuadroA::QA_qatitolo_hnd(TMask_field& f, KEY k)
}
bool TQuadroA::QA_A2_check_58(TMask_field& f, KEY k)
{
if (f.to_check(k,TRUE))
{
TMask& m = f.mask();
TString16 cod(f.get());
// forzo a dirty il campo se sono in immissione e arriva un K_ENTER
if (m.mode() == MODE_INS && k == K_ENTER)
f.set_dirty();
if (f.to_check(k,TRUE))
{
// controllo se rettifica è congrua con altri record
const long codditta = m.get_long(QAF_CODDITTA);
const long coddip = m.get_long(F_CODIP);
const int curprog = m.get_int(QAF_NPROG);
@ -577,6 +587,14 @@ bool TQuadroA::QA_A2_check_58(TMask_field& f, KEY k)
if (QA_cerca_codA(codditta, coddip, curprog, cod, app()._quadro))
return f.error_box("Esiste già un altro quadro per questo dipendente");
// controllo se stò immettendo un quadro con senza rettifica
// che non ne esista già uno con rettifica C,D,E,F
if (cod == "")
if (QA_cerca_codA(codditta, coddip, curprog, cod, app()._quadro))
return f.error_box("Esiste già un quadro con rettifica C,D,E oppure F per questo dipendente");
// per quadro Abis
if (app().QuadroAB())
// se rettifica A abilito pagina relativa operazioni di conguaglio
if (cod == "A")
{
@ -601,6 +619,30 @@ bool TQuadroA::QA_A2_check_58(TMask_field& f, KEY k)
}
else
m.disable_page(5);
// per quadro A2
if (app().QuadroA2())
// se rettifica A abilito pagina relativa operazioni di conguaglio
if (cod == "A")
{
m.enable_page(3);
// controllo se compilato pagina operazioni di conguaglio
real A2B10 = m.get_real(F_QA2RCB10);
real A2B11 = m.get_real(F_QA2RCB11);
real A2B12 = m.get_real(F_QA2RCB12);
real A2B13 = m.get_real(F_QA2RCB13);
real A2B14 = m.get_real(F_QA2RCB14);
real A2B15 = m.get_real(F_QA2RCB15);
real A2B16 = m.get_real(F_QA2RCB16);
real A2B17 = m.get_real(F_QA2RCB17);
real A2BTOT = ZERO;
A2BTOT += A2B10+A2B11+A2B12+A2B13+A2B14;
A2BTOT += A2B15+A2B16+A2B17;
if (A2BTOT == ZERO)
f.warning_box("Compilare la pagina relativa alle operazioni di conguaglio");
}
else
m.disable_page(3);
}
return TRUE;
}
@ -954,6 +996,21 @@ void TQuadroA::init_modify_mode(TMask& m)
{
if (QuadroA1())
m.set(QA1F_ANNORIF, _anno_dic);
if (QuadroAB())
{
TLocalisamfile dip(LF_DIPEND);
dip.setkey(1);
dip.zero();
dip.put("CODDITTA", _codditta);
dip.put("CODDIP", _codip);
int assfis = 0;
if (dip.read() == NOERR)
assfis = dip.get_int("ASSFIS");
if (!assfis)
warning_box("Dipendente che non si è avvalso dell'assistenza fiscale nel 1997");
}
if (QuadroA3())
{
_codditta = m.get_long(QAF_CODDITTA);
@ -975,6 +1032,20 @@ void TQuadroA::init_insert_mode(TMask& m)
if (QuadroA1())
m.set(QA1F_ANNORIF, _anno_dic);
if (QuadroAB())
{
TLocalisamfile dip(LF_DIPEND);
dip.setkey(1);
dip.zero();
dip.put("CODDITTA", _codditta);
dip.put("CODDIP", _codip);
int assfis = 0;
if (dip.read() == NOERR)
assfis = dip.get_int("ASSFIS");
if (!assfis)
warning_box("Dipendente che non si è avvalso dell'assistenza fiscale nel 1997");
}
if (QuadroA3())
{
_codditta = m.get_long(QAF_CODDITTA);

View File

@ -115,7 +115,7 @@
#define F_QABRCB28 516
#define F_QABRCB29 517
// 771200d.uml
// 771200d.uml (quadro A1)
#define F_MESEANNO 200
#define F_IMPRIMB9 201
#define F_IMPVERS10 202
@ -132,9 +132,9 @@
#define F_CONNEFF21 213
#define F_TIPOCONG22 214
#define F_DATARIC29 215
#define QA1F_ANNORIF 410
// 771200f.uml
// 771200f.uml (quadro A2)
#define F_IIRPEFVER8 250
#define F_IIRPEFRI9 251
#define F_PRIRPEF10 252
@ -148,14 +148,29 @@
#define F_VEFFCON18 260
#define F_SDNLIQ19 261
#define F_RETCON20 262
#define QA2F_CNEFF 411
#define QA2F_RETCON 412
#define QA2F_CSSNCRIMB 413
#define QA2F_CSSNCVER 414
#define QA2F_CSSNINT 415
#define QA2F_CSSNAIV 416
#define QA2F_CSSNAINT 417
#define QA2F_STCSSN 418
#define QA2F_730NLIQ 419
#define F_QA2RCB10 420
#define F_QA2RCB11 421
#define F_QA2RCB12 422
#define F_QA2RCB13 423
#define F_QA2RCB14 424
#define F_QA2RCB15 425
#define F_QA2RCB16 426
#define F_QA2RCB17 427
// Campi maschera 771200g.uml
// 771200g.uml (quadro A3)
#define F_CODIPQUADRO 300
#define F_BASEOCCUPA 301
// Campi maschera 771200h.uml
// 771200h.uml (quadro A3)
#define F_DIRAPTI 350
#define F_NGINC15 351
#define F_REDCOR16 352
@ -176,36 +191,16 @@
#define F_COGNTRASF 367
#define F_NOMETRASF 368
// Campi maschera 771200i.uml
// 771200i.uml (base occupazionale)
#define F_BSE_CONSBASOCC 400
#define F_BSE_LAVDIPCIN 401
#define F_BSE_DATAINPI 402
#define F_BSE_DATAFINPI 403
//
// Modifiche 95->96
//
// Quadro A1
#define QA1F_ANNORIF 410
// Quadro A2
#define QA2F_CNEFF 411
#define QA2F_RETCON 412
#define QA2F_CSSNCRIMB 413
#define QA2F_CSSNCVER 414
#define QA2F_CSSNINT 415
#define QA2F_CSSNAIV 416
#define QA2F_CSSNAINT 417
#define QA2F_STCSSN 418
#define QA2F_730NLIQ 419
#define F_CODANAGDIPQA 420
// gruppo operazioni di conguaglio (quadri Abis e A2)
#define G_OPECONG 12
#define F_CODANAGDIPQA 420
#define QAF_ALLEG_A 421
#define QA2F_ALLEG_A2 422

View File

@ -58,165 +58,134 @@ BEGIN
MESSAGE COPY,5@
END
GROUPBOX DLG_NULL 78 3
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 3 "@bASSISTENZA 1995 "
PROMPT 1 3 "@bAssistenza 1996"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 4 " 8 Conguagli non effettuati"
END
STRING QA2F_CNEFF 1
BEGIN
PROMPT 2 4 "8 Conguagli non effettuati "
PROMPT STDIMP 4 ""
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"
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 più codici"
ITEM "G|Rimborso non effettuato o rimborso effettuato parzialmente"
OUTPUT QA2F_CNEFF
GROUP G_ALL
FLAGS "U"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 " 9 Rettifica conguaglio"
END
STRING QA2F_RETCON 1
BEGIN
PROMPT 38 4 "9 Rettifica conguaglio "
PROMPT STDIMP 5 ""
FIELD LF_QUAA2->RETCON
SHEET "Codice|Descrizione@60"
INPUT QA2F_RETCON
ITEM " | "
ITEM " |Niente"
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"
ITEM "C|Cong. a seguito rett.prec.comunicaz.tardivam.perven..."
ITEM "D|Cong. a seguito rett.prec.comunicaz.tempestivam.perven..."
ITEM "E|Cong. tardivo per mod.730-4 pervenuto tardivamente"
ITEM "F|Cong. tardivo per causa dipendente dal sostituto d'imposta"
OUTPUT QA2F_RETCON
FLAGS "U"
END
GROUPBOX DLG_NULL 78 4
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 6 "@bSALDO IRPEF PER IL 1994 "
PROMPT 1 8 "@bSaldo Irpef per il 1995 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "10 Imp.ver/tr.IRPEF"
GROUP G_730
PROMPT 2 9 "10 Imposta rimborsata"
END
TEXT DLG_NULL
NUMBER F_IIRPEFVER8 LENIMP
BEGIN
PROMPT 2 7 "10 Imposta rimbor. "
GROUP G_770
END
NUMBER F_IIRPEFVER8 15
BEGIN
PROMPT 21 7 ""
PROMPT STDIMP 9 ""
FIELD LF_QUAA2->SIRPEFRIMB
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "11 Imp.da rim.IRPEF"
GROUP G_730
PROMPT 2 10 "11 Imposta versata"
END
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "11 Imposta versata "
GROUP G_770
END
NUMBER F_IIRPEFRI9 15
NUMBER F_IIRPEFRI9 LENIMP
BEGIN
PROMPT 61 7 ""
PROMPT STDIMP 10 ""
FIELD LF_QUAA2->VIRPEF
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "12 Interessi "
GROUP G_770
PROMPT 2 11 "12 Interessi"
END
TEXT DLG_NULL
NUMBER F_INTER11 LENIMP
BEGIN
PROMPT 2 8 "12 1rata ac.IRPEF95"
GROUP G_730
END
NUMBER F_INTER11 15
BEGIN
PROMPT 21 8 ""
PROMPT STDIMP 11 ""
FIELD LF_QUAA2->INTIRPEF
PICTURE "."
END
GROUPBOX DLG_NULL 78 3
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 10 "@bPRIMA RATA ACCONTO IRPEF PER IL 1995 "
PROMPT 1 14 "@bPrima rata acconto Irpef per il 1996"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "13 Imposta versata "
GROUP G_770
PROMPT 2 15 "13 Imposta versata"
END
TEXT DLG_NULL
NUMBER F_PRIRPEF10 LENIMP
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 ""
PROMPT STDIMP 15 ""
FIELD LF_QUAA2->AIRPEFIV
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 11 "14 Interessi "
GROUP G_770
PROMPT 2 16 "14 Interessi"
END
TEXT DLG_NULL
NUMBER F_AIRPEFINT LENIMP
BEGIN
PROMPT 41 11 "14 I.v.trat.CSSN "
GROUP G_730
END
NUMBER F_AIRPEFINT 15
BEGIN
PROMPT 61 11 ""
PROMPT STDIMP 16 ""
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
PROMPT 2 19 "15 Soprattasse su Irpef saldo 95 e 1°rata acconto 96"
END
TEXT DLG_NULL
NUMBER F_STASSA12 LENIMP
BEGIN
PROMPT 2 13 "15 Importo da rimborsare CSSN "
GROUP G_730
END
NUMBER F_STASSA12 15
BEGIN
PROMPT 61 13 ""
PROMPT STDIMP 19 ""
FIELD LF_QUAA2->STASSA15
PICTURE "."
END
@ -258,120 +227,162 @@ BEGIN
GROUP 5
END
GROUPBOX DLG_NULL 78 4
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 4 "@bSALDO C.S.S.N. PER IL 1994 "
PROMPT 1 3 "@bSaldo C.s.s.n. per il 1995"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 "16 Cont.a rimborso "
GROUP G_770
PROMPT 2 4 "16 Contributo a rimborso"
END
TEXT DLG_NULL
NUMBER QA2F_CSSNCRIMB LENIMP
BEGIN
PROMPT 2 5 "16 1r.acc.CSSN 95 "
GROUP G_730
END
NUMBER QA2F_CSSNCRIMB 15
BEGIN
PROMPT 21 5 ""
PROMPT STDIMP 4 ""
FIELD LF_QUAA2->CONTR16
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 5 "17 Cont. versato "
GROUP G_770
PROMPT 2 5 "17 Contributo versato"
END
TEXT DLG_NULL
NUMBER QA2F_CSSNCVER LENIMP
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 ""
PROMPT STDIMP 5 ""
FIELD LF_QUAA2->CONTRVER
PICTURE "."
END
NUMBER QA2F_CSSNINT 15
TEXT DLG_NULL
BEGIN
PROMPT 2 6 "18 Interessi"
END
NUMBER QA2F_CSSNINT LENIMP
BEGIN
PROMPT STDIMP 6 ""
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 "
PROMPT 1 9 "@bPrima rata acconto C.s.s.n. per il 1996"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 10 "19 Contributo versato"
END
NUMBER QA2F_CSSNAIV LENIMP
BEGIN
PROMPT STDIMP 10 ""
FIELD LF_QUAA2->CONTV19
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "20 Interessi"
END
NUMBER QA2F_CSSNAINT LENIMP
BEGIN
PROMPT STDIMP 11 ""
FIELD LF_QUAA2->INTE20
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 2 14 "21 Soprattasse su C.s.s.n. saldo 95 e 1°rata acconto 96"
END
NUMBER QA2F_STCSSN LENIMP
BEGIN
PROMPT STDIMP 14 ""
FIELD LF_QUAA2->SOPRAT21
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 2 16 "22 Modello 730/96 non liquidabile"
END
STRING QA2F_730NLIQ 2
BEGIN
PROMPT STDIMP 16 ""
SHEET "Codice|Descrizione (Errata o incompleta ...)@60"
INPUT QA2F_730NLIQ
ITEM " |Niente"
ITEM "01|..compilazione dati anagrafici e residenza del dichiarante"
ITEM "02|..compilazione dati del coniuge e familiari a carico"
ITEM "03|..compilazione dati anagrafici e residenza del coniuge"
ITEM "04|..dichiarazione quadro A Mod.730/96 del dichiarante"
ITEM "05|..dichiarazione quadro A Mod.730/96 del coniuge"
ITEM "06|..dichiarazione quadro B Mod.730/96 del dichiarante"
ITEM "07|..dichiarazione quadro B Mod.730/96 del coniuge"
ITEM "08|..dichiarazione quadro C Mod.730/96 del dichiarante"
ITEM "09|..dichiarazione quadro D Mod.730/96 del dichiarante"
ITEM "10|..dichiarazione quadro E Mod.730/96 del dichiarante"
ITEM "11|..dichiarazione quadro E Mod.730/96 del coniuge"
ITEM "12|..dichiarazione quadro F Mod.730/96 del dichiarante"
ITEM "13|..dichiarazione quadro F Mod.730/96 del coniuge"
FIELD LF_QUAA2->M730NLIQ
OUTPUT QA2F_730NLIQ
FLAGS "Z"
END
ENDPAGE
PAGE "3" -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 7
BEGIN
PROMPT 1 3 "@bDati identificativi del C.A.A.F che ha prestato assistenza"
END
NUMBER F_CODCAAF 5
BEGIN
PROMPT 2 15 "Codice "
PROMPT 2 4 "Codice "
FIELD LF_QUAA2->CODCAAF
USE %CAF
CHECKTYPE NORMAL
@ -384,28 +395,188 @@ BEGIN
OUTPUT F_DENCAAF S0
OUTPUT F_NISCRA I1
OUTPUT F_CODFISCAAF S1
GROUP G_ALL
FLAGS "Z"
END
STRING F_DENCAAF 50
TEXT DLG_NULL
BEGIN
PROMPT 26 15 ""
FLAGS "DU"
PROMPT 2 6 "23 Codice fiscale"
END
STRING F_CODFISCAAF 16
BEGIN
PROMPT 2 16 "23 Cod.fiscale "
PROMPT 25 6 ""
FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "24 Denominazione"
END
STRING F_DENCAAF 50
BEGIN
PROMPT 25 7 ""
FLAGS "DU"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "23 N°iscrizione albo"
END
NUMBER F_NISCRA 5
BEGIN
PROMPT 50 16 "25 N.iscrizione albo "
PROMPT 25 8 ""
FLAGS "D"
END
ENDPAGE
PAGE "4" -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 10
BEGIN
PROMPT 1 3 "@bOperazioni di conguaglio"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 4 "10 Importo da versare/trattenere Irpef"
END
NUMBER F_QA2RCB10 LENIMP
BEGIN
PROMPT STDIMP 4 ""
FIELD LF_QUAA2->QA2RCB10
PICTURE "."
GROUP G_OPECONG
END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 "11 Importo da rimborsare Irpef"
END
NUMBER F_QA2RCB11 LENIMP
BEGIN
PROMPT STDIMP 5 ""
FIELD LF_QUAA2->QA2RCB11
PICTURE "."
GROUP G_OPECONG
END
TEXT DLG_NULL
BEGIN
PROMPT 2 6 "12 Prima rata acconto Irpef 1996"
END
NUMBER F_QA2RCB12 LENIMP
BEGIN
PROMPT STDIMP 6 ""
FIELD LF_QUAA2->QA2RCB12
PICTURE "."
GROUP G_OPECONG
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "13 Seconda rata acconto Irpef 1996"
END
NUMBER F_QA2RCB13 LENIMP
BEGIN
PROMPT STDIMP 7 ""
FIELD LF_QUAA2->QA2RCB13
PICTURE "."
GROUP G_OPECONG
END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "14 Importo da versare/trattenere C.s.s.n."
END
NUMBER F_QA2RCB14 LENIMP
BEGIN
PROMPT STDIMP 8 ""
FIELD LF_QUAA2->QA2RCB14
PICTURE "."
GROUP G_OPECONG
END
TEXT DLG_NULL
BEGIN
PROMPT 2 9 "15 Importo da rimborsare C.s.s.n."
END
NUMBER F_QA2RCB15 LENIMP
BEGIN
PROMPT STDIMP 9 ""
FIELD LF_QUAA2->QA2RCB15
PICTURE "."
GROUP G_OPECONG
END
TEXT DLG_NULL
BEGIN
PROMPT 2 10 "16 Prima rata acconto C.s.s.n. 1996"
END
NUMBER F_QA2RCB16 LENIMP
BEGIN
PROMPT STDIMP 10 ""
FIELD LF_QUAA2->QA2RCB16
PICTURE "."
GROUP G_OPECONG
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "17 Seconda rata acconto C.s.s.n. 1996"
END
NUMBER F_QA2RCB17 LENIMP
BEGIN
PROMPT STDIMP 11 ""
FIELD LF_QUAA2->QA2RCB17
PICTURE "."
GROUP G_OPECONG
END
ENDPAGE
ENDMASK

View File

@ -10,7 +10,7 @@ ENDPAGE
#define G_DIPEND 1
#define G_QUADROA 2
PAGE "Quadro A3" -1 -1 78 18
PAGE "Quadro A3" -1 -1 78 21
GROUPBOX DLG_NULL 78 3
BEGIN
@ -20,7 +20,7 @@ END
NUMBER QAF_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRD"
FLAGS "GRDP"
USE LF_NDITTE KEY 1
INPUT CODDITTA QAF_CODDITTA
OUTPUT QAF_RAGDITTA RAGSOC
@ -32,13 +32,13 @@ END
STRING QAF_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
FLAGS "DP"
END
NUMBER QAF_ANNODIC 4
BEGIN
PROMPT 52 3 "Anno dichiarazione "
FLAGS "DR"
FLAGS "DRP"
END
TEXT DLG_NULL

View File

@ -3,7 +3,7 @@ TOOLBAR "" 0 19 0 3
#include <toolbar.h>
ENDPAGE
PAGE "Quadro A3" -1 -1 78 18
PAGE "1" -1 -1 78 21
TEXT DLG_NULL
BEGIN
@ -61,51 +61,76 @@ BEGIN
FIELD LF_QUAA3->NPROG
END
TEXT DLG_NULL
BEGIN
PROMPT 2 3 " 8 Data inizio rapporto a tempo indeterminato"
END
DATE F_DIRAPTI
BEGIN
PROMPT 1 5 "8 Data inizio rapporto a tempo indeterminato "
PROMPT STDIMP 3 ""
FIELD LF_QUAA3->DIRAPTI
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 7 "@bDATI DAL 1/1/95 A FINE PERIODO D'IMPOSTA"
PROMPT 1 5 "@bDati dal 01/01/96 a fine periodo d'imposta"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 6 " 9 Numero giorni in incremento"
END
NUMBER F_NGINC15 3
BEGIN
PROMPT 1 8 "9 Num. giorni in incremento "
PROMPT STDIMP 6 ""
FIELD LF_QUAA3->NGINC15
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "10 Reddito corrisposto"
END
NUMBER F_REDCOR16 15
BEGIN
PROMPT 1 9 "10 Reddito corrisposto "
PROMPT STDIMP 7 ""
FIELD LF_QUAA3->REDCOR16
PICTURE "."
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 11 "@bDATI DA INIZIO SUCCESSIVO PERIODO D'IMPOSTA FINO AL 31/12/95"
PROMPT 1 10 "@bDati da inizio successivo periodo d'imposta fino al 31/12/96"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "11 Numero giorni in incremento"
END
NUMBER F_NGINC17 3
BEGIN
PROMPT 1 12 "11 Num. giorni in incremento"
PROMPT STDIMP 11 ""
FIELD LF_QUAA3->NGINC17
END
TEXT DLG_NULL
BEGIN
PROMPT 2 12 "12 Reddito corrisposto"
END
NUMBER F_REDCOR18 15
BEGIN
PROMPT 1 13 "12 Reddito corrisposto "
PROMPT STDIMP 12 ""
FIELD LF_QUAA3->REDCOR18
PICTURE "."
END
ENDPAGE
PAGE "Societa' trasformata" -1 -1 78 21
PAGE "2" -1 -1 78 21
TEXT DLG_NULL
BEGIN
@ -162,7 +187,7 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 1 3 "@bSocieta' trasformata "
PROMPT 1 3 "@bSocietà trasformata"
END
STRING F_DENTRASF 40
@ -183,40 +208,65 @@ BEGIN
FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 " 8 Data inizio rapporto a tempo indeterminato"
END
DATE F_DIRAPTI_2
BEGIN
PROMPT 1 5 "8 Data inizio rapporto a tempo indeterminato "
PROMPT STDIMP 5 ""
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 7 "@bDATI DAL 1/1/95 A FINE PERIODO D'IMPOSTA"
PROMPT 1 7 "@bDati dal 01/01/96 a fine periodo d'imposta"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 " 9 Numero giorni in incremento"
END
NUMBER F_NGINC15_2 3
BEGIN
PROMPT 1 8 "9 Num. giorni in incremento "
PROMPT STDIMP 8 ""
END
TEXT DLG_NULL
BEGIN
PROMPT 2 9 "10 Reddito corrisposto"
END
NUMBER F_REDCOR16_2 15
BEGIN
PROMPT 1 9 "10 Reddito corrisposto "
PROMPT STDIMP 9 ""
PICTURE "."
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 11 "@bDATI DA INIZIO SUCCESSIVO PERIODO D'IMPOSTA FINO AL 31/12/95"
PROMPT 1 12 "@bDati da inizio successivo periodo d'imposta fino al 31/12/96"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "11 Numero giorni in incremento"
END
NUMBER F_NGINC17_2 3
BEGIN
PROMPT 1 12 "11 Num. giorni in incremento"
PROMPT STDIMP 13 ""
END
TEXT DLG_NULL
BEGIN
PROMPT 2 14 "12 Reddito corrisposto"
END
NUMBER F_REDCOR18_2 15
BEGIN
PROMPT 1 13 "12 Reddito corrisposto "
PROMPT STDIMP 14 ""
PICTURE "."
END

View File

@ -2,7 +2,7 @@
TOOLBAR "" 0 20 0 2
BUTTON DLG_SAVEREC 8 2
BEGIN
PROMPT -16 -1 ""
PROMPT -16 -1 "~Registra"
FLAGS "D"
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
@ -22,6 +22,8 @@ BUTTON DLG_DELREC 8 2
BEGIN
PROMPT -36 -1 "~Elimina"
MESSAGE EXIT,K_DEL
PICTURE BMP_DELREC
PICTURE BMP_DELRECDN
FLAGS "D"
END
@ -35,14 +37,17 @@ END
BUTTON DLG_CANCEL 8 2
BEGIN
PROMPT -56 -1 ""
PROMPT -56 -1 "~Annulla"
MESSAGE EXIT,K_ESC
PICTURE BMP_CANCEL
END
BUTTON DLG_QUIT 8 2
BEGIN
PROMPT -66 -1 ""
PROMPT -66 -1 "~Fine"
MESSAGE EXIT,K_QUIT
PICTURE BMP_QUIT
PICTURE BMP_QUITDN
END
ENDPAGE
@ -57,7 +62,7 @@ END
NUMBER QAF_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRD"
FLAGS "GRDP"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
@ -69,7 +74,7 @@ END
STRING QAF_RAGDITTA 50
BEGIN
PROMPT 20 1 ""
FLAGS "D"
FLAGS "DP"
END
GROUPBOX DLG_NULL 78 5

File diff suppressed because it is too large Load Diff

17
m770/771230.h Executable file
View File

@ -0,0 +1,17 @@
#ifndef _771230_H
#define _771230_H
// 71230
#define F_CODDITTA 101
#define F_RAGDITTA 102
#define F_TIPOA 103
#define F_CODANAGR 104
#define F_NUMPROG 105
#define F_RAGSOC 106
#define F_RIGHE 107
#define F_GENERA 201
#define F_PROSPETTO 202
#endif

View File

@ -1,178 +0,0 @@
#include "771230a.h"
TOOLBAR "" 0 18 0 4
BUTTON F_GENERA 21 2
BEGIN
PROMPT -13 -3 "~Generazione"
END
#include <toolbar.h>
ENDPAGE
PAGE "Quadro D" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRD"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGDITTA RAGSOC
FIELD LF_QUAD->CODDITTA
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
END
NUMBER F_ANNODIC 4
BEGIN
PROMPT 52 3 "Anno dichiarazione "
FLAGS "DR"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bDati percipiente"
END
LIST F_TIPOA 1 12
BEGIN
PROMPT 1 8 ""
ITEM "F|Fisica"
MESSAGE COPY,F_TIPOAF
ITEM "G|Giuridica"
MESSAGE COPY,F_TIPOAF
FIELD LF_QUAD->TIPOA
KEY 1
END
LIST F_TIPOAF 1 12
BEGIN
PROMPT 1 9 ""
ITEM "F|Fisica"
ITEM "G|Giuridica"
FLAGS "H"
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAD->CODANAGR
CHECKTYPE REQUIRED
KEY 1
END
NUMBER F_CODANAGRPERC 5
BEGIN
PROMPT 16 8 ""
USE LF_PERC KEY 1 SELECT ((CODDITTA=#F_CODDITTA)&&(TIPOA=#F_TIPOA))
JOIN LF_ANAG TO LF_PERC KEY 1 INTO TIPOA=TIPOA CODANAGR=CODANAGR
INPUT CODDITTA F_CODDITTA
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGRPERC
DISPLAY "Tipo " TIPOA
DISPLAY "Codice " CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" LF_ANAG->RAGSOC
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGRPERC CODANAGR
OUTPUT F_RAGSOCPER LF_ANAG->RAGSOC
MESSAGE COPY, F_CODANAGR
//FLAGS "P"
ADD RUN 775 -0
GROUP 2
END
NUMBER F_CODANAGRCOM 5
BEGIN
PROMPT 16 8 ""
USE LF_ANAG KEY 1 SELECT (TIPOA=#F_TIPOA)
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGRCOM
DISPLAY "Tipo " TIPOA
DISPLAY "Codice " CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGRCOM CODANAGR
OUTPUT F_RAGSOCCOM RAGSOC
MESSAGE COPY, F_CODANAGR
ADD RUN BA4 -1
//FLAGS "HP"
FLAGS "H"
GROUP 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 25 8 ""
FLAGS "H"
END
STRING F_RAGSOCCOM 50
BEGIN
PROMPT 25 8 ""
USE LF_ANAG KEY 2
INPUT RAGSOC F_RAGSOCCOM
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
DISPLAY "Tipo" TIPOA
DISPLAY "Codice" CODANAGR
OUTPUT F_RAGSOCCOM RAGSOC
OUTPUT F_CODANAGRCOM CODANAGR
OUTPUT F_TIPOA TIPOA
//FLAGS "P"
ADD RUN BA4 -1
MESSAGE COPY, F_RAGSOC
GROUP 1
END
STRING F_RAGSOCPER 50
BEGIN
PROMPT 25 8 ""
//FLAGS "DP"
FLAGS "D"
GROUP 2
MESSAGE COPY, F_RAGSOC
END
NUMBER F_NPROG 4
BEGIN
PROMPT 1 10 "@bNumero "
CHECKTYPE REQUIRED
KEY 1
FIELD LF_QUAD->NPROG
USE LF_QUAD
INPUT CODDITTA F_CODDITTA SELECT
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
INPUT NPROG F_NPROG
DISPLAY "N°" NPROG
DISPLAY "Tipo" TIPOA
DISPLAY "Codice@10" CODANAGR
DISPLAY "Causale" CODCAUS
DISPLAY "Totale@15" TOTALE
DISPLAY "Somme n/sogg rit" SOMME
DISPLAY "Imponibile@15" IMPONIBILE
DISPLAY "Aliquota" PERC
DISPLAY "Importo@15" IMPORTO
DISPLAY "Netto corrisposto" NETTO
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_NPROG NPROG
END
ENDPAGE
ENDMASK

View File

@ -1,240 +0,0 @@
#include "771230a.h"
TOOLBAR "" 0 19 0 3
#include <toolbar.h>
ENDPAGE
PAGE "Quadro D" -1 -1 78 18
NUMBER F_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAD->CODDITTA
KEY 1
END
LIST F_TIPOA 1 12
BEGIN
PROMPT 2 0 ""
FIELD LF_QUAD->TIPOA
ITEM "F|Fisica"
ITEM "G|Giuridica"
FLAGS "D"
KEY 1
END
LIST F_TIPOAF 1 12
BEGIN
PROMPT 3 1 ""
ITEM "F|Fisica"
ITEM "G|Giuridica"
FLAGS "HG"
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 17 0 ""
FIELD LF_QUAD->CODANAGR
MESSAGE COPY,F_CODANAGR2
FLAGS "D"
KEY 1
END
NUMBER F_CODANAGR2 5
BEGIN
USE LF_ANAG KEY 1
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT F_RAGSOC2 RAGSOC
CHECKTYPE REQUIRED
FLAGS "HG"
END
STRING F_RAGSOC2 50 45
BEGIN
PROMPT 24 0 ""
FLAGS "D"
END
NUMBER F_NPROG 4
BEGIN
PROMPT 71 0 ""
FIELD LF_QUAD->NPROG
FLAGS "D"
KEY 1
END
TEXT DLG_NULL
BEGIN
PROMPT 3 2 "Causale"
END
STRING F_CODCAUS 2
BEGIN
PROMPT 3 3 ""
USE %CA7 SELECT ((I0!="1015")&&(S1="D"))
INPUT CODTAB F_CODCAUS
DISPLAY "Codice " CODTAB
DISPLAY "Descrizione @60" S0
DISPLAY "Causale D" S2
DISPLAY "Codice tributo" I0
DISPLAY "I.C." B1
OUTPUT F_CODCAUS CODTAB
OUTPUT F_CODTRIB I0
OUTPUT F_DESCRCAUS S2
OUTPUT QDF_CODCAUSD S2
OUTPUT F_PERC R0
CHECKTYPE REQUIRED
FLAGS "Z"
WARNING "Manca la causale"
FIELD LF_QUAD->CODCAUS
ADD RUN 773mod -3 %CA7
END
NUMBER F_CODTRIB 4
BEGIN
PROMPT 8 3 ""
FLAGS "D"
END
STRING QDF_CODCAUSD 1
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, ..."
ITEM "D|prestaz. rese da partecipanti a collegi e commissioni"
ITEM "E|prestaz. rese dagli sportivi con contratto di lav. autonomo"
ITEM "F|prestaz. ... di rapp. di coll. coord. e c. diversi dai prec"
ITEM "G|utiliz. economica, da parte dellautore o dellinventore..."
ITEM "H|utili ... da contratti di associazione in partecipazioni..."
ITEM "I|utili ... ai soci promot. e/o fond. delle soc. di capitale"
ITEM "L|per la levata di protesti cambiari da parte dei segretar..."
ITEM "M|utiliz. economica, ... di soggetto diverso dallautore o..."
ITEM "N|indennità corrisp. per la cessaz. di rapporti di coll..."
ITEM "P|indennità corrisp. per la cessaz. dei rapporti di agenzia"
ITEM "Q|indennità corrisp. per la cessaz. da funzioni notarili"
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
GROUPBOX DLG_NULL 58 5
BEGIN
PROMPT 3 6 "@bAmmontare corrisposto"
END
TEXT DLG_NULL
BEGIN
PROMPT 5 8 "Totale"
END
NUMBER F_TOTALE 15
BEGIN
PROMPT 5 9 ""
FIELD LF_QUAD->TOTALE
PICTURE "."
FLAGS "R"
MESSAGE K_TAB,F_IMPONIBILE|K_TAB,F_IMPORTO|K_TAB,F_NETTO
END
TEXT DLG_NULL
BEGIN
PROMPT 24 7 "Somme non soggette"
END
TEXT DLG_NULL
BEGIN
PROMPT 24 8 "a ritenuta"
END
NUMBER F_SOMME 15
BEGIN
PROMPT 24 9 ""
FIELD LF_QUAD->SOMME
PICTURE "."
FLAGS "R"
MESSAGE K_TAB,F_IMPONIBILE|K_TAB,F_IMPORTO|K_TAB,F_NETTO
END
TEXT DLG_NULL
BEGIN
PROMPT 43 8 "Imponibile"
END
NUMBER F_IMPONIBILE 15
BEGIN
PROMPT 43 9 ""
FIELD LF_QUAD->IMPONIBILE
PICTURE "."
FLAGS "DR"
NUM_CALC {#F_TOTALE-#F_SOMME}
END
GROUPBOX DLG_NULL 39 5
BEGIN
PROMPT 3 11 "@bRitenute operate"
END
TEXT DLG_NULL
BEGIN
PROMPT 5 13 "Aliquota"
END
NUMBER F_PERC 6 2
BEGIN
PROMPT 5 14 ""
FIELD LF_QUAD->PERC
MESSAGE K_TAB,F_IMPORTO
PICTURE ".2"
MESSAGE K_TAB,F_IMPORTO|K_TAB,F_NETTO
END
TEXT DLG_NULL
BEGIN
PROMPT 24 13 "Importo"
END
NUMBER F_IMPORTO 15
BEGIN
PROMPT 24 14 ""
FIELD LF_QUAD->IMPORTO
PICTURE "."
FLAGS "R"
//NUM_CALC {#F_IMPONIBILE*#F_PERC/100}
MESSAGE K_TAB,F_NETTO
END
TEXT DLG_NULL
BEGIN
PROMPT 43 13 "Netto corrisposto"
END
NUMBER F_NETTO 15
BEGIN
PROMPT 43 14 ""
FIELD LF_QUAD->NETTO
PICTURE "."
FLAGS "DR"
NUM_CALC {#F_IMPONIBILE-#F_IMPORTO}
END
ENDPAGE
ENDMASK

277
m770/771230c.uml Executable file
View File

@ -0,0 +1,277 @@
#include "771230.h"
TOOLBAR "" 0 19 0 3
#include <toolbar.h>
ENDPAGE
PAGE "Quadro C" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 1 "Percipiente"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 4 2 "Ditta "
USE LF_NDITTE
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGDITTA RAGSOC
CHECKTYPE REQUIRED
FLAGS "DG"
FIELD CODDITTA
KEY 1
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 24 2 ""
FLAGS "D"
END
LIST F_TIPOA 1 6
BEGIN
PROMPT 0 80 "Tipo "
FIELD TIPOA
ITEM "F|Fisica"
FLAGS "D"
KEY 1
END
LIST F_NUMPROG 1 6
BEGIN
PROMPT 0 80 "Numero "
FIELD NPROG
ITEM "1|Riga 1"
FLAGS "D"
KEY 1
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 4 3 "Codice "
FIELD CODANAGR
USE LF_ANAG
INPUT TIPOA F_TIPOA SELECT
INPUT CODANAGR F_CODANAGR
DISPLAY "Codice" CODANAGR
DISPLAY "Denominazione@50" RAGSOC
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_RAGSOC RAGSOC
CHECKTYPE REQUIRED
ADD RUN ba4 -1 F
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 24 3 ""
FLAGS "D"
USE LF_ANAG KEY 2
INPUT TIPOA F_TIPOA SELECT
INPUT RAGSOC F_RAGSOC
DISPLAY "Denominazione@50" RAGSOC
DISPLAY "Codice" CODANAGR
COPY OUTPUT F_CODANAGR
CHECKTYPE NORMAL
ADD RUN ba4 -1 F
END
SPREADSHEET F_RIGHE 0 14
BEGIN
PROMPT 0 6 ""
ITEM "Cod.\ncau.@4"
ITEM "Aliq."
ITEM "Cau."
ITEM "Tassazione\nseparata@10"
ITEM "Ammotare lordo\ncorrisposto@15"
ITEM "Contributi\nobbligatori@15"
ITEM "Somme non sogg.\nritenute@15"
ITEM "Imponibile@15"
ITEM "Imposta@15"
ITEM "Detrazioni\ncar. fam.@15"
ITEM "N. gg. det.\nlavoro dip.@11"
ITEM "Detrazioni\nlavoro dip.@15"
ITEM "Totale\ndetrazioni@15"
ITEM "Ritenute\nOperate@15"
ITEM "Generata\nda schede@10"
FLAGS "A"
USE LF_QUAC KEY NPROG
INPUT CODDITTA F_CODDITTA
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
END
ENDPAGE
ENDMASK
PAGE "RIGA 1" -1 -1 54 15
NUMBER 101 2
BEGIN
PROMPT 1 1 "Codice causale "
USE %CA7 SELECT ((I0!="1015")&&(S1="C"))
INPUT CODTAB 101
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@35" S0
OUTPUT 101 CODTAB
OUTPUT 102 R0
OUTPUT 104 S4
CHECKTYPE NORMAL
FLAGS "Z"
WARNING "Manca la causale"
FIELD CODCAUS
ADD RUN 773mod -3 %CA7
FIELD CODCAUS
END
NUMBER 102 6 2
BEGIN
PROMPT 25 1 "Aliquota applicata "
NUM_EXPR {(#102>=0)&&(#102<=100)}
WARNING "L'aliquota deve essere compresa tra 0 e 100"
FIELD ALIQUOTA
END
STRING 103 1
BEGIN
PROMPT 1 2 "Causale "
FLAGS "U"
SHEET "Cod.|Descrizione@256"
INPUT 103
ITEM "A|Indennita' e compensi erogati ai prestatori di lavoro dipendente per incrichi svolti in relazione a tale qualita' e comunicati al datore di lavoro del percettore ai fini del conguaglio di fine anno"
ITEM "B|Somme corrisposte a titolo di borsa di studio o di assegno, premio o sussidio per fini di studio o di addestramento professionale, se il beneficiario non e' legato da rapporti di lavoro dipendenti nei confronti del soggetto erogante"
ITEM "C|Indennita', gettoni di presenza ed altri compensi corrisposti dallo Stato, dalle regioni, dalle province e dai comuni per l'esercizio di pubbliche funzioni"
ITEM "D|Indennita', comunque denominate, percepite per le cariche elettive di cui all'art.114 della Costituzione e alla L. 27 dicembre 1985, n. 186"
ITEM "E|Rendite vitalizie e rendite a tempo determinato, costituite a titolo oneroso"
ITEM "F|Prestazioni comunque erogate in forma di trattamento periodico ai sensi del decreto legislativo 21 aprile 1993, n. 124"
ITEM "G|assegni periodici, comunque denominati, al cui produzione non concorrono ne' capitale ne' lavoro"
ITEM "H|compensi corrisposti ai lavoratori impegnati in lavori socialmente utili anteriormente all'entrata in vigore dell'art.9, comma 20, del D.L. 1 ottobre 1996, n.510, convertito dalla L. 98 novembre 1996, n. 608"
OUTPUT 103
WANING "La causale e' compresa tra A ed H"
FIELD CAUSALE
END
NUMBER 104 1
BEGIN
PROMPT 25 2 "Tassazione separata "
SHEET "Codice|Descrizione@60"
INPUT 104
ITEM " | "
ITEM "1|Legge"
ITEM "2|Contratti collettivi"
ITEM "3|Sentenze"
ITEM "4|Atti amministrativi"
ITEM "5|Altre cause non dipendenti dalla volontà delle parti"
ITEM "6|Se concorrono due o più dei codici precedenti"
OUTPUT 104
FIELD TASSAZIONE
END
NUMBER 105 15
BEGIN
PROMPT 1 3 "Ammontare lordo "
PICTURE "."
FIELD AMMLORDO
END
NUMBER 106 15
BEGIN
PROMPT 1 4 "Contributi obbligatori "
PICTURE "."
FIELD CONTROBB
END
NUMBER 107 15
BEGIN
PROMPT 1 5 "Somme non soggette a ritenuta "
PICTURE "."
FIELD SOMNONSOGG
END
NUMBER 108 15
BEGIN
PROMPT 1 6 "Imponibile "
PICTURE "."
FIELD IMPONIBILE
END
NUMBER 109 15
BEGIN
PROMPT 1 7 "Imposta "
PICTURE "."
FIELD IMPOSTA
MESSAGE CHECK,113
END
NUMBER 110 15
BEGIN
PROMPT 1 8 "Detrazioni per carichi di famiglia "
PICTURE "."
FIELD DETCARFAM
MESSAGE CHECK,113
END
NUMBER 111 3
BEGIN
PROMPT 1 9 "N. gg. detraz. lavoro dipendente "
NUM_EXPR {(#111>=0)&&(#111<=366)}
WARNINIG "Inserire un valore compreso tra 0 e 366"
FIELD GGLAVDIP
END
NUMBER 112 15
BEGIN
PROMPT 1 10 "Detrazioni da lavoro dipendente "
PICTURE "."
FIELD DETLAVDIP
MESSAGE CHECK,113
END
NUMBER 113 15
BEGIN
PROMPT 1 11 "Totale detrazioni "
PICTURE "."
FLAGS "DG"
NUM_CALC {min(#109,(#110+#112))}
MESSAGE CHECK,114
FIELD TOTDET
END
NUMBER 114 15
BEGIN
PROMPT 1 12 "Ritenute operate "
NUM_CALC {#109-#113}
PICTURE "."
FLAGS "D"
FIELD RITENUTE
END
BOOLEAN 115
BEGIN
PROMPT 1 13 "Riga generata dalle schede"
FLAGS "D"
FIELD GENERATA
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 "~Conferma"
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -23 -1 "~Elimina"
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -33 -1 "Annulla"
END
ENDPAGE
ENDMASK

217
m770/771230d.uml Executable file
View File

@ -0,0 +1,217 @@
#include "771230.h"
TOOLBAR "" 0 19 0 3
#include <toolbar.h>
ENDPAGE
PAGE "Quadro D" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 1 "Percipiente"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 4 2 "Ditta "
USE LF_NDITTE
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGDITTA RAGSOC
CHECKTYPE REQUIRED
FLAGS "DG"
FIELD CODDITTA
KEY 1
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 24 2 ""
FLAGS "D"
END
LIST F_TIPOA 1 6
BEGIN
PROMPT 0 80 "Tipo "
FIELD TIPOA
ITEM "F|Fisica"
FLAGS "D"
KEY 1
END
LIST F_NUMPROG 1 6
BEGIN
PROMPT 0 80 "Numero "
FIELD NPROG
ITEM "1|Riga 1"
FLAGS "D"
KEY 1
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 4 3 "Codice "
FIELD CODANAGR
USE LF_ANAG
INPUT TIPOA F_TIPOA SELECT
INPUT CODANAGR F_CODANAGR
DISPLAY "Codice" CODANAGR
DISPLAY "Denominazione@50" RAGSOC
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_RAGSOC RAGSOC
CHECKTYPE REQUIRED
ADD RUN ba4 -1 F
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 24 3 ""
FLAGS "D"
USE LF_ANAG KEY 2
INPUT TIPOA F_TIPOA SELECT
INPUT RAGSOC F_RAGSOC
DISPLAY "Denominazione@50" RAGSOC
DISPLAY "Codice" CODANAGR
COPY OUTPUT F_CODANAGR
CHECKTYPE NORMAL
ADD RUN ba4 -1 F
END
SPREADSHEET F_RIGHE 0 14
BEGIN
PROMPT 0 6 ""
ITEM "Cod.\ncau.@4"
ITEM "Aliq."
ITEM "Cau."
ITEM "Ammotare lordo\ncorrisposto@15"
ITEM "Somme non sogg.\nritenute@15"
ITEM "Somme non sogg.\nrit. reg. conv.@15"
ITEM "Imponibile@15"
ITEM "Ritenute\nOperate@15"
ITEM "Generata\nda schede@9"
FLAGS "A"
USE LF_QUAD KEY NPROG
INPUT CODDITTA F_CODDITTA
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
END
ENDPAGE
ENDMASK
PAGE "RIGA 1" -1 -1 58 12
NUMBER 101 2
BEGIN
PROMPT 1 1 "Codice causale "
USE %CA7 SELECT ((I0!="1015")&&(S1="D"))
INPUT CODTAB 101
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@35" S0
OUTPUT 101 CODTAB
OUTPUT 102 R0
OUTPUT 103 S2
CHECKTYPE NORMAL
FLAGS "Z"
WARNING "Manca la causale"
FIELD CODCAUS
ADD RUN 773mod -3 %CA7
FIELD CODCAUS
END
NUMBER 102 6 2
BEGIN
PROMPT 25 1 "Aliquota applicata "
NUM_EXPR {(#102>=0)&&(#102<=100)}
WARNING "L'aliquota deve essere compresa tra 0 e 100"
FIELD PERC
END
STRING 103 1
BEGIN
PROMPT 1 2 "Causale "
FLAGS "U"
SHEET "Cod.|Descrizione@256"
INPUT 103
ITEM "A|per prestazioni di lavoro autonomo rientranti nell'esercizio di arti o professione abituale"
ITEM "B|per l'utilizzazione economica, da parte dell'autore o inventore, di opere dell'ingegno, di brevetti industriali e di processi, formule o informazioni relativi ad esperienze acquisite in campo industriale, commerciale o scientifico"
ITEM "C|a titolo di utili derivanti da contratti di associazioni in partecipazione e da contratti di cointeressenza, quando l'apporto e' costituito esclusivamente dalla prestazione di lavoro"
ITEM "D|a titolo di utili spettanti ai soci promotori ed ai soci fondatori delle societa' di capitali"
ITEM "E|per la levata di protesti cambiari da parte di segretari comunali"
ITEM "F|per l'utilizzazione economica da parte di sogg. diverso dall'autore o dall'inventore, di opere dell'ingegno, di brevetti industriali e di processi, formule o informazioni relativi ad esperienze acquisite in campo ind., comm, scient."
ITEM "G|a titolo di indennita' corrisposte per la cessazione di rapporti di agenzia delle persone fisiche"
ITEM "H|a titolo di indennita' corrisposte per la cessazione da funzioni notarili"
ITEM "I|a titolo di indennita' di trasferta o di rimborso forfetario di spese spettanti a soggetti che svolgono attivita' sportiva dilettantistica di cui alla legge 25 marzo 1986, n. 80"
ITEM "L|per prestazioni di lavoro autonomo non esercitate abitualmente"
ITEM "M|per prestazioni rese dagli sportivi con contratto di lavoro autonomo"
ITEM "N|a titolo di indennita' corrisposte per la cessazione di attivita' sportiva professionale"
ITEM "T|altro titolo diverso dai precedenti"
OUTPUT 103
WANING "La causale deve essere compresa tra A ed T"
FIELD CAUSALE
END
NUMBER 104 15
BEGIN
PROMPT 1 3 "Ammontare lordo "
PICTURE "."
FIELD TOTALE
END
NUMBER 105 15
BEGIN
PROMPT 1 4 "Somme non soggette a ritenuta "
PICTURE "."
FIELD SOMME
END
NUMBER 106 15
BEGIN
PROMPT 1 5 "Somme non sogg. a rit. per reg. conv. "
PICTURE "."
FIELD SOMREGCONV
END
NUMBER 107 15
BEGIN
PROMPT 1 6 "Imponibile "
PICTURE "."
FIELD IMPONIBILE
END
NUMBER 108 15
BEGIN
PROMPT 1 7 "Ritenute operate "
PICTURE "."
FIELD IMPORTO
END
BOOLEAN 109
BEGIN
PROMPT 1 8 "Riga generata dalle schede"
FLAGS "D"
FIELD GENERATA
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 "~Conferma"
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -23 -1 "~Elimina"
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -33 -1 "Annulla"
END
ENDPAGE
ENDMASK

209
m770/771230d1.uml Executable file
View File

@ -0,0 +1,209 @@
#include "771230.h"
TOOLBAR "" 0 19 0 3
#include <toolbar.h>
ENDPAGE
PAGE "Quadro D1" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 1 "Percipiente"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 4 2 "Ditta "
USE LF_NDITTE
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGDITTA RAGSOC
CHECKTYPE REQUIRED
FLAGS "DG"
FIELD CODDITTA
KEY 1
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 24 2 ""
FLAGS "D"
END
LIST F_TIPOA 1 6
BEGIN
PROMPT 0 80 "Tipo "
FIELD TIPOA
ITEM "F|Fisica"
FLAGS "D"
KEY 1
END
LIST F_NUMPROG 1 6
BEGIN
PROMPT 0 80 "Numero "
FIELD NPROG
ITEM "1|Riga 1"
FLAGS "D"
KEY 1
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 4 3 "Codice "
FIELD CODANAGR
USE LF_ANAG
INPUT TIPOA F_TIPOA SELECT
INPUT CODANAGR F_CODANAGR
DISPLAY "Codice" CODANAGR
DISPLAY "Denominazione@50" RAGSOC
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_RAGSOC RAGSOC
CHECKTYPE REQUIRED
ADD RUN ba4 -1 F
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 24 3 ""
FLAGS "D"
USE LF_ANAG KEY 2
INPUT TIPOA F_TIPOA SELECT
INPUT RAGSOC F_RAGSOC
DISPLAY "Denominazione@50" RAGSOC
DISPLAY "Codice" CODANAGR
COPY OUTPUT F_CODANAGR
CHECKTYPE NORMAL
ADD RUN ba4 -1 F
END
SPREADSHEET F_RIGHE 0 14
BEGIN
PROMPT 0 6 ""
ITEM "Cod.\ncau.@4"
ITEM "Aliq."
ITEM "Cau."
ITEM "Ammotare lordo\ncorrisposto@15"
ITEM "Somme non sogg.\nritenute@15"
ITEM "Somme non sogg.\nrit. reg. conv.@15"
ITEM "Imponibile@15"
ITEM "Ritenute\nOperate@15"
ITEM "Generata\nda schede@9"
FLAGS "A"
USE LF_QUAD1 KEY NPROG
INPUT CODDITTA F_CODDITTA
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
END
ENDPAGE
ENDMASK
PAGE "RIGA 1" -1 -1 58 11
NUMBER 101 2
BEGIN
PROMPT 1 1 "Codice causale "
USE %CA7 SELECT ((I0!="1015")&&(S1="D1"))
INPUT CODTAB 101
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@35" S0
OUTPUT 101 CODTAB
OUTPUT 102 R0
OUTPUT 103 S3
CHECKTYPE NORMAL
FLAGS "Z"
WARNING "Causale errata"
FIELD CODCAUS
ADD RUN 773mod -3 %CA7
FIELD CODCAUS
END
NUMBER 102 6 2
BEGIN
PROMPT 28 1 "Aliquota applicata "
NUM_EXPR {(#THIS_FIELD>=0)&&(#THIS_FIELD<=100)}
WARNING "L'aliquota deve essere compresa tra 0 e 100"
FIELD PERC
END
STRING 103 1
BEGIN
PROMPT 1 2 "Causale "
FLAGS "U"
SHEET "Cod.|Descrizione@256"
INPUT 103
ITEM "A|Agente o rappresentante di commercio monomandatario"
ITEM "B|Agente o rappresentante plurimandatario"
ITEM "C|Commissionario"
ITEM "D|Mediatore"
ITEM "E|Procacciatore di affari"
OUTPUT 103
WANING "La causale deve essere compresa tra A ed E"
FIELD CAUSALE
END
NUMBER 104 15
BEGIN
PROMPT 1 3 "Ammontare lordo corrisposto "
PICTURE "."
FIELD TOTALE
END
NUMBER 105 15
BEGIN
PROMPT 1 4 "Spese anticipate "
PICTURE "."
FIELD SPESEANT
END
NUMBER 106 15
BEGIN
PROMPT 1 5 "Quota provvigioni "
PICTURE "."
FIELD QUOTAPRO
END
NUMBER 107 15
BEGIN
PROMPT 1 6 "Imponibile "
PICTURE "."
FIELD IMPONIBILE
END
NUMBER 108 15
BEGIN
PROMPT 1 7 "Ritenute operate "
PICTURE "."
FIELD IMPORTO
END
BOOLEAN 109
BEGIN
PROMPT 1 8 "Riga generata dalle schede"
FLAGS "D"
FIELD GENERATA
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 "~Conferma"
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -23 -1 "~Elimina"
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -33 -1 "Annulla"
END
ENDPAGE
ENDMASK

222
m770/771230db.uml Executable file
View File

@ -0,0 +1,222 @@
#include "771230.h"
TOOLBAR "" 0 19 0 3
#include <toolbar.h>
ENDPAGE
PAGE "Quadro D bis" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 1 "Percipiente"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 4 2 "Ditta "
USE LF_NDITTE
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGDITTA RAGSOC
CHECKTYPE REQUIRED
FLAGS "DG"
FIELD CODDITTA
KEY 1
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 24 2 ""
FLAGS "D"
END
LIST F_TIPOA 1 6
BEGIN
PROMPT 0 80 "Tipo "
FIELD TIPOA
ITEM "F|Fisica"
FLAGS "D"
KEY 1
END
LIST F_NUMPROG 1 6
BEGIN
PROMPT 0 80 "Numero "
FIELD NPROG
ITEM "1|Riga 1"
FLAGS "D"
KEY 1
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 4 3 "Codice "
FIELD CODANAGR
USE LF_ANAG
INPUT TIPOA F_TIPOA SELECT
INPUT CODANAGR F_CODANAGR
DISPLAY "Codice" CODANAGR
DISPLAY "Denominazione@50" RAGSOC
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_RAGSOC RAGSOC
CHECKTYPE REQUIRED
ADD RUN ba4 -1 F
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 24 3 ""
FLAGS "D"
USE LF_ANAG KEY 2
INPUT TIPOA F_TIPOA SELECT
INPUT RAGSOC F_RAGSOC
DISPLAY "Denominazione@50" RAGSOC
DISPLAY "Codice" CODANAGR
COPY OUTPUT F_CODANAGR
CHECKTYPE NORMAL
ADD RUN ba4 -1 F
END
SPREADSHEET F_RIGHE 0 14
BEGIN
PROMPT 0 6 ""
ITEM "Cod.\ncau.@4"
ITEM "Aliq."
ITEM "Cau."
ITEM "Ammotare lordo\ncorrisposto@15"
ITEM "Somme non sogg.\nritenute@15"
ITEM "Somme non sogg.\nrit. reg. conv.@15"
ITEM "Imponibile@15"
ITEM "Ritenute\nOperate@15"
ITEM "Contr.\n10%@6"
ITEM "Generata\nda schede@9"
FLAGS "A"
USE LF_QUADBIS KEY NPROG
INPUT CODDITTA F_CODDITTA
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
END
ENDPAGE
ENDMASK
PAGE "RIGA 1" -1 -1 58 12
NUMBER 101 2
BEGIN
PROMPT 1 1 "Codice causale "
USE %CA7 SELECT ((I0!="1015")&&(S1="DB"))
INPUT CODTAB 101
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@35" S0
OUTPUT 101 CODTAB
OUTPUT 102 R0
OUTPUT 103 S2
CHECKTYPE NORMAL
FLAGS "Z"
WARNING "Manca la causale"
FIELD CODCAUS
ADD RUN 773mod -3 %CA7
FIELD CODCAUS
END
NUMBER 102 6 2
BEGIN
PROMPT 29 1 "Aliquota applicata "
NUM_EXPR {(#102>=0)&&(#102<=100)}
WARNING "L'aliquota deve essere compresa tra 0 e 100"
FIELD PERC
END
STRING 103 1
BEGIN
PROMPT 1 2 "Causale "
FLAGS "U"
SHEET "Cod.|Descrizione@256"
INPUT 103
ITEM "A|per prestazioni di lavoro autonomo rientranti nell'esercizio di arti o professione abituale da parte di professionisti iscritti in albi senza cassa"
ITEM "B|per prestazioni rese da amministratori, sindaci e revisori di societa', associazione ed altri enti con o senza personalita' giuridica"
ITEM "C|per prestazioni rese da collaboratori a giornali, riviste, enciclopedie e simili (che non costituiscono diritti d'autore)"
ITEM "D|per prestazioni rese da parteciapnti a collegi e commissioni"
ITEM "E|per prestazioni rese nell'ambito di rapporti di collaborazione coordinata e continuativa diversi da quelli sopra elencati"
ITEM "F|a di titolo di indennita' corrisposte per la cessazione di rapporti di collaborazione coordinata e continuativa, assoggettabili a tassazione separata"
ITEM "G|provvigioni degli incaricati per le vendite a domicilio"
ITEM "T|altro titolo diverso dai precedenti"
OUTPUT 103
WANING "La causale deve essere specificata"
FIELD CAUSALE
END
NUMBER 104 15
BEGIN
PROMPT 1 3 "Ammontare lordo "
PICTURE "."
FIELD TOTALE
END
NUMBER 105 15
BEGIN
PROMPT 1 4 "Somme non soggette a ritenuta "
PICTURE "."
FIELD SOMME
END
NUMBER 106 15
BEGIN
PROMPT 1 5 "Somme non sogg. a rit. per reg. conv. "
PICTURE "."
FIELD SOMREGCONV
END
NUMBER 107 15
BEGIN
PROMPT 1 6 "Imponibile "
PICTURE "."
FIELD IMPONIBILE
END
NUMBER 108 15
BEGIN
PROMPT 1 7 "Ritenute operate "
PICTURE "."
FIELD IMPORTO
END
LIST 109 1 1
BEGIN
PROMPT 1 8 "Contributo del 10 % "
ITEM "A|A"
ITEM "B|B"
ITEM "C|C"
FIELD CONTR10
END
BOOLEAN 110
BEGIN
PROMPT 1 9 "Riga generata dalle schede"
FLAGS "D"
FIELD GENERATA
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 "~Conferma"
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -23 -1 "~Elimina"
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -33 -1 "Annulla"
END
ENDPAGE
ENDMASK

View File

@ -1,175 +1,204 @@
#include "771230a.h"
TOOLBAR "" 0 18 0 4
BUTTON F_GENERA 21 2
BEGIN
PROMPT -13 -3 "~Generazione"
END
#include "771230.h"
TOOLBAR "" 0 19 0 3
#include <toolbar.h>
ENDPAGE
PAGE "Quadro D1" -1 -1 78 18
PAGE "Quadro E" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 0 ""
PROMPT 1 1 "Percipiente"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRDP"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
PROMPT 4 2 "Ditta "
USE LF_NDITTE
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGDITTA RAGSOC
FIELD LF_QUAD1->CODDITTA
CHECKTYPE REQUIRED
FLAGS "DG"
FIELD CODDITTA
KEY 1
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "DP"
PROMPT 24 2 ""
FLAGS "D"
END
NUMBER F_ANNODIC 4
LIST F_TIPOA 1 17
BEGIN
PROMPT 52 3 "Anno dichiarazione "
FLAGS "DRP"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bDati percipiente"
END
LIST F_TIPOA 1 12
BEGIN
PROMPT 1 8 ""
ITEM "F|Fisica"
MESSAGE COPY,F_TIPOAF
ITEM "G|Giuridica"
MESSAGE COPY,F_TIPOAF
FIELD LF_QUAD1->TIPOA
PROMPT 4 3 "Tipo percipiente "
FIELD TIPOA
ITEM "F|Persona Fisica"
ITEM "G|Persona Giuridica"
KEY 1
END
LIST F_TIPOAF 1 12
BEGIN
PROMPT 1 9 ""
ITEM "F|Fisica"
ITEM "G|Giuridica"
FLAGS "H"
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAD1->CODANAGR
PROMPT 4 4 "Codice "
FIELD CODANAGR
USE LF_ANAG
INPUT TIPOA F_TIPOA SELECT
INPUT CODANAGR F_CODANAGR
DISPLAY "Codice" CODANAGR
DISPLAY "Denominazione@50" RAGSOC
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_RAGSOC RAGSOC
CHECKTYPE REQUIRED
ADD RUN ba4 -1 F
KEY 1
END
NUMBER F_CODANAGRPERC 5
LIST F_NUMPROG 1 6
BEGIN
PROMPT 16 8 ""
USE LF_PERC KEY 1 SELECT ((CODDITTA=#F_CODDITTA)&&(TIPOA=#F_TIPOA))
JOIN LF_ANAG TO LF_PERC KEY 1 INTO TIPOA=TIPOA CODANAGR=CODANAGR
INPUT CODDITTA F_CODDITTA
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGRPERC
DISPLAY "Tipo " TIPOA
DISPLAY "Codice " CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" LF_ANAG->RAGSOC
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGRPERC CODANAGR
OUTPUT F_RAGSOCPER LF_ANAG->RAGSOC
MESSAGE COPY, F_CODANAGR
ADD RUN 775 -0
GROUP 2
END
NUMBER F_CODANAGRCOM 5
BEGIN
PROMPT 16 8 ""
USE LF_ANAG KEY 1
INPUT TIPOA F_TIPOA SELECT
INPUT CODANAGR F_CODANAGRCOM
DISPLAY "Tipo " TIPOA
DISPLAY "Codice " CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGRCOM CODANAGR
OUTPUT F_RAGSOCCOM RAGSOC
MESSAGE COPY, F_CODANAGR
ADD RUN BA4 -1
FLAGS "H"
GROUP 1
PROMPT 0 80 "Numero "
FIELD NPROG
ITEM "1|Riga 1"
FLAGS "D"
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 25 8 ""
FLAGS "H"
END
STRING F_RAGSOCCOM 50
BEGIN
PROMPT 25 8 ""
USE LF_ANAG KEY 2
INPUT RAGSOC F_RAGSOCCOM
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
DISPLAY "Tipo" TIPOA
DISPLAY "Codice" CODANAGR
OUTPUT F_RAGSOCCOM RAGSOC
OUTPUT F_CODANAGRCOM CODANAGR
OUTPUT F_TIPOA TIPOA
ADD RUN BA4 -1
MESSAGE COPY, F_RAGSOC
GROUP 1
END
STRING F_RAGSOCPER 50
BEGIN
PROMPT 25 8 ""
PROMPT 24 4 ""
FLAGS "D"
GROUP 2
MESSAGE COPY, F_RAGSOC
USE LF_ANAG KEY 2
INPUT TIPOA F_TIPOA SELECT
INPUT RAGSOC F_RAGSOC
DISPLAY "Denominazione@50" RAGSOC
DISPLAY "Codice" CODANAGR
COPY OUTPUT F_CODANAGR
CHECKTYPE NORMAL
ADD RUN ba4 -1 F
END
NUMBER F_NPROG 4
SPREADSHEET F_RIGHE 0 14
BEGIN
PROMPT 1 10 "@bNumero "
CHECKTYPE REQUIRED
KEY 1
FIELD LF_QUAD1->NPROG
USE LF_QUAD1
INPUT CODDITTA F_CODDITTA SELECT
PROMPT 0 6 ""
ITEM "Cod.\ncau.@4"
ITEM "Descrizione@35"
ITEM "Cau."
ITEM "Imponibile\ncorrisposto@15"
ITEM "Aliquota"
ITEM "Ritenute\nOperate@15"
ITEM "Somme al netto\nritenute@15"
ITEM "Somme non\nsogg. riten.@15"
FLAGS "A"
USE LF_QUAE KEY NPROG
INPUT CODDITTA F_CODDITTA
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
INPUT NPROG F_NPROG
DISPLAY "N°" NPROG
DISPLAY "Tipo" TIPOA
DISPLAY "Codice@10" CODANAGR
DISPLAY "Causale" CODCAUS
DISPLAY "Totale@15" TOTALE
DISPLAY "Quota provvigioni" QUOTAPRO
DISPLAY "Spese anticipate" SPESEANT
DISPLAY "Imponibile@15" IMPONIBILE
DISPLAY "Aliquota" PERC
DISPLAY "Importo@15" IMPORTO
DISPLAY "Netto corrisposto" NETTO
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_NPROG NPROG
END
ENDPAGE
ENDMASK
PAGE "RIGA 1" -1 -1 60 10
NUMBER 101 2
BEGIN
PROMPT 1 1 "Codice causale "
USE %CA7 SELECT ((I0!="1015")&&(S1="E"))
INPUT CODTAB 101
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@35" S0
OUTPUT 101 CODTAB
OUTPUT 102 S0
OUTPUT 105 R0
CHECKTYPE NORMAL
FLAGS "Z"
WARNING "Causale errata"
FIELD CODCAUS
ADD RUN 773mod -3 %CA7
FIELD CODCAUS
END
STRING 102 35
BEGIN
PROMPT 1 2 "Descrizione "
USE %CA7 KEY 2 SELECT ((I0!="1015")&&(S1="E"))
INPUT S0 102
DISPLAY "Descrizione@45" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT 101
CHECKTYPE NORMAL
ADD RUN 773mod -3 %CA7
END
STRING 103 1
BEGIN
PROMPT 1 3 "Causale quadro "
FLAGS "U"
SHEET "Cod.|Descrizione@256"
INPUT 103
ITEM "A|redditi di capitale corrisposti a soggetti residenti non esercenti attivita' di impresa commerciale assoggettati alla ritenuta a titolo di acconto, compresa la differenza fra la somma percepita alla scadenza e quella data a mutuo o deposito"
ITEM "B|proventi corrisposti a stabili organizzazioni estere di imprese residenti non apprtenenti all'impresa erogante assoggettati a ritenuta a titolo di acconto"
ITEM "C|compensi per avviamento commerciale assoggettati alla ritenuta a titolo di acconto di cui all'art. 28, primo comma, del D.P.R. n. 600 del 1973"
ITEM "D|contributo degli enti pubblici e premi corrisposti dall'Unione nazionale incremento razze equine (UNIRE) e dalla federazione italiana sport equestri (FSE) assoggettati alla ritenuta a titolo di acconto"
ITEM "E|interessi, premi e altri frutti dei titoli obbligazionari emessi da Enti territoriali e assoggettati alla ritenuta a titolo di acconto del 12,50% di cui all'art. 35, comma 6, del L. 23 dicembre 1994, n. 724"
OUTPUT 103
WANING "La causale deve essere compresa tra A ed E"
FIELD CAUSALE
END
NUMBER 105 6 2
BEGIN
PROMPT 43 3 "Aliquota "
NUM_EXPR {(#THIS_FIELD>=0)&&(#THIS_FIELD<=100)}
WARNING "L'aliquota deve essere compresa tra 0 e 100"
FIELD PERC
END
NUMBER 104 15
BEGIN
PROMPT 1 4 "Imponibile corrisposto "
PICTURE "."
FIELD IMPONIBILE
END
NUMBER 106 15
BEGIN
PROMPT 1 5 "Ritenute operate "
PICTURE "."
FIELD IMPORTO
END
NUMBER 107 15
BEGIN
PROMPT 1 6 "Somme corrisposte al netto delle ritenute "
PICTURE "."
FIELD NETTO
END
NUMBER 108 15
BEGIN
PROMPT 1 7 "Somme non soggette a ritenuta "
PICTURE "."
FIELD SOMME
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 "~Conferma"
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -23 -1 "~Elimina"
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -33 -1 "Annulla"
END
ENDPAGE
ENDMASK

260
m770/771230e1.uml Executable file
View File

@ -0,0 +1,260 @@
#include "771230.h"
TOOLBAR "" 0 19 0 3
#include <toolbar.h>
ENDPAGE
PAGE "Quadro E1" -1 -1 78 18
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 1 "Percipiente"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 4 2 "Ditta "
USE LF_NDITTE
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGDITTA RAGSOC
CHECKTYPE REQUIRED
FLAGS "DG"
FIELD CODDITTA
KEY 1
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 24 2 ""
FLAGS "D"
END
LIST F_TIPOA 1 17
BEGIN
PROMPT 4 3 "Tipo percipiente "
FIELD TIPOA
ITEM "F|Persona Fisica"
ITEM "G|Persona Giuridica"
KEY 1
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 4 4 "Codice "
FIELD CODANAGR
USE LF_ANAG
INPUT TIPOA F_TIPOA SELECT
INPUT CODANAGR F_CODANAGR
DISPLAY "Codice" CODANAGR
DISPLAY "Denominazione@50" RAGSOC
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_RAGSOC RAGSOC
CHECKTYPE REQUIRED
ADD RUN ba4 -1 F
KEY 1
END
LIST F_NUMPROG 1 6
BEGIN
PROMPT 0 80 "Numero "
FIELD NPROG
ITEM "1|Riga 1"
FLAGS "D"
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 24 4 ""
FLAGS "D"
USE LF_ANAG KEY 2
INPUT TIPOA F_TIPOA SELECT
INPUT RAGSOC F_RAGSOC
DISPLAY "Denominazione@50" RAGSOC
DISPLAY "Codice" CODANAGR
COPY OUTPUT F_CODANAGR
CHECKTYPE NORMAL
ADD RUN ba4 -1 F
END
SPREADSHEET F_PROSPETTO 66 5
BEGIN
PROMPT 1 6 ""
ITEM "Causale"
ITEM "Ammontare\ncomplessivo@15"
ITEM "Ammontare somme\nsogg. riten.@15"
ITEM "Ritenute\noperate@15"
END
SPREADSHEET F_RIGHE 0 8
BEGIN
PROMPT 0 12 ""
ITEM "Cod.\ncau.@4"
ITEM "Descrizione@35"
ITEM "Cau."
ITEM "Somme\ncorrisposte@15"
ITEM "Ammontare\npremi@15"
ITEM "Aliquota"
ITEM "Ritenute\noperate@15"
ITEM "Netto\ncorrisposto@15"
FLAGS "A"
USE LF_QUAE1 KEY NPROG
INPUT CODDITTA F_CODDITTA
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
END
ENDPAGE
ENDMASK
PAGE "PROSPETTO 1" -1 -1 58 7
LIST 101 1
BEGIN
PROMPT 1 1 "Causale "
ITEM "C|C"
ITEM "D|D"
FLAGS "D"
END
NUMBER 102 15
BEGIN
PROMPT 1 2 "Ammontare complessivo "
PICTURE "."
END
NUMBER 103 15
BEGIN
PROMPT 1 3 "Ammontare somme soggette a ritenuta "
PICTURE "."
END
NUMBER 104 15
BEGIN
PROMPT 1 4 "Ritenute operate "
PICTURE "."
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -12 -1 "~Conferma"
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -22 -1 "Annulla"
END
ENDPAGE
ENDMASK
PAGE "RIGA 1" -1 -1 58 11
NUMBER 101 2
BEGIN
PROMPT 1 1 "Causale "
USE %CA7 SELECT ((I0!="1015")&&(S1="E1"))
INPUT CODTAB 101
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@35" S0
OUTPUT 101 CODTAB
OUTPUT 102 S0
OUTPUT 106 R0
CHECKTYPE NORMAL
FLAGS "Z"
WARNING "Causale errata"
FIELD CODCAUS
ADD RUN 773mod -3 %CA7
FIELD CODCAUS
END
STRING 102 35
BEGIN
PROMPT 20 1 ""
USE %CA7 KEY 2 SELECT ((I0!="1015")&&(S1="E1"))
INPUT S0 102
DISPLAY "Descrizione@45" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT 101
ADD RUN 773mod -3 %CA7
END
STRING 103 1
BEGIN
PROMPT 1 2 "11. Causale quadro "
FLAGS "U"
SHEET "Cod.|Descrizione@256"
INPUT 103
ITEM "A|somme derivanti da riscatto di contratti di assicurazione sulla vita"
ITEM "B|capitali corrisposti in dipendenza di contratti di soggetti che esercitano attivita' commerciali (omissis...)"
OUTPUT 103
WANING "La causale deve essere specificata"
FIELD CAUSALE
END
NUMBER 104 15
BEGIN
PROMPT 1 3 "12. Somme corrisposte "
PICTURE "."
FIELD SOMME
MESSAGE CHECK,108
END
TEXT DLG_NULL
BEGIN
PROMPT 1 4 "13. Ammontare complessivo dei premi riscossi sui quali"
END
NUMBER 105 15
BEGIN
PROMPT 1 5 " le ritenute sono state commisurate "
PICTURE "."
FIELD AMMONTARE
END
NUMBER 106 6 2
BEGIN
PROMPT 1 6 "14. Aliquota "
NUM_EXPR {(#THIS_FIELD>=0)&&(#THIS_FIELD<=100)}
WARNING "L'aliquota deve essere compresa tra 0 e 100"
FIELD PERC
END
NUMBER 107 15
BEGIN
PROMPT 1 7 "15. Ritenute operate "
PICTURE "."
FIELD IMPORTO
MESSAGE CHECK,108
END
NUMBER 108 15
BEGIN
PROMPT 1 8 "16. Netto corrisposto (12 - 15) "
FLAGS "D"
NUM_CALC {#104-#107}
PICTURE "."
FIELD NETTO
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 "~Conferma"
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -23 -1 "~Elimina"
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -33 -1 "Annulla"
END
ENDPAGE
ENDMASK

173
m770/771230e2.uml Executable file
View File

@ -0,0 +1,173 @@
#include "771230.h"
TOOLBAR "" 0 19 0 3
#include <toolbar.h>
ENDPAGE
PAGE "Quadro E2" -1 -1 78 18
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 1 "Percipiente"
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 4 2 "Ditta "
USE LF_NDITTE
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGDITTA RAGSOC
CHECKTYPE REQUIRED
FLAGS "DG"
FIELD CODDITTA
KEY 1
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 24 2 ""
FLAGS "D"
END
LIST F_TIPOA 1 17
BEGIN
PROMPT 4 3 "Tipo percipiente "
FIELD TIPOA
ITEM "F|Persona Fisica"
ITEM "G|Persona Giuridica"
KEY 1
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 4 4 "Codice "
FIELD CODANAGR
USE LF_ANAG
INPUT TIPOA F_TIPOA SELECT
INPUT CODANAGR F_CODANAGR
DISPLAY "Codice" CODANAGR
DISPLAY "Denominazione@50" RAGSOC
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_RAGSOC RAGSOC
CHECKTYPE REQUIRED
ADD RUN ba4 -1 F
KEY 1
END
LIST F_NUMPROG 1 6
BEGIN
PROMPT 0 80 "Numero "
FIELD NPROG
ITEM "1|Riga 1"
FLAGS "D"
KEY 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 24 4 ""
FLAGS "D"
USE LF_ANAG KEY 2
INPUT TIPOA F_TIPOA SELECT
INPUT RAGSOC F_RAGSOC
DISPLAY "Denominazione@50" RAGSOC
DISPLAY "Codice" CODANAGR
COPY OUTPUT F_CODANAGR
CHECKTYPE NORMAL
ADD RUN ba4 -1 F
END
SPREADSHEET F_RIGHE
BEGIN
PROMPT 0 6 ""
ITEM "Cod.\ncau.@4"
ITEM "Denominazione fondo@50"
ITEM "Somme soggette\nritenuta@15"
ITEM "Aliquota"
ITEM "Ritenute\noperate@15"
FLAGS "A"
USE LF_QUAE2 KEY NPROG
INPUT CODDITTA F_CODDITTA
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
END
ENDPAGE
ENDMASK
PAGE "RIGA 1" -1 -1 60 8
NUMBER 101 2
BEGIN
PROMPT 1 1 "Causale "
USE %CA7 SELECT ((I0!="1015")&&(S1="E2"))
INPUT CODTAB 101
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@35" S0
OUTPUT 101 CODTAB
OUTPUT 102 S0
OUTPUT 104 R0
CHECKTYPE NORMAL
FLAGS "Z"
WARNING "Causale errata"
FIELD CODCAUS
ADD RUN 773mod -3 %CA7
FIELD CODCAUS
END
STRING 102 50
BEGIN
PROMPT 1 2 "Fondo "
FIELD DENCAUS
USE %CA7 KEY 2 SELECT ((I0!="1015")&&(S1="E2"))
INPUT S0 102
DISPLAY "Descrizione@50" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT 101
VALIDATE REQIF_FUNC 2 103 105
WARNING "Specificare la denominazione del fondo"
ADD RUN 773mod -3 %CA7
END
NUMBER 103 15
BEGIN
PROMPT 1 3 "12. Somme soggette a ritenuta "
PICTURE "."
FIELD SOGGRIT
END
NUMBER 104 6 2
BEGIN
PROMPT 1 4 "13. Aliquota "
NUM_EXPR {(#THIS_FIELD>=0)&&(#THIS_FIELD<=100)}
WARNING "L'aliquota deve essere compresa tra 0 e 100"
FIELD PERC
END
NUMBER 105 15
BEGIN
PROMPT 1 5 "14. Ritenute operate "
PICTURE "."
FIELD ROPE
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 "~Conferma"
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -23 -1 "~Elimina"
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -33 -1 "Annulla"
END
ENDPAGE
ENDMASK

View File

@ -1,229 +0,0 @@
#include "771230a.h"
TOOLBAR "" 0 19 0 3
#include <toolbar.h>
ENDPAGE
PAGE "Quadro C" -1 -1 78 18
NUMBER F_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAC->CODDITTA
KEY 1
END
LIST F_TIPOA 1 12
BEGIN
PROMPT 2 0 ""
FIELD LF_QUAC->TIPOA
ITEM "F|Fisica"
ITEM "G|Giuridica"
FLAGS "D"
KEY 1
END
LIST F_TIPOAF 1 12
BEGIN
PROMPT 3 1 ""
ITEM "F|Fisica"
MESSAGE SHOW,F_CT
ITEM "G|Giuridica"
MESSAGE HIDE,F_CT|RESET,F_CT
FLAGS "HG"
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 17 0 ""
FIELD LF_QUAC->CODANAGR
MESSAGE COPY,F_CODANAGR2
FLAGS "D"
KEY 1
END
NUMBER F_CODANAGR2 5
BEGIN
USE LF_ANAG KEY 1
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT F_RAGSOC2 RAGSOC
CHECKTYPE REQUIRED
FLAGS "HG"
END
STRING F_RAGSOC2 50 45
BEGIN
PROMPT 24 0 ""
FLAGS "D"
END
NUMBER F_NPROG 4
BEGIN
PROMPT 71 0 ""
FIELD LF_QUAC->NPROG
FLAGS "D"
KEY 1
END
STRING F_CODCAUS 2
BEGIN
PROMPT 3 3 "Causale "
USE %CA7 SELECT ((I0!="1015")&&(S1="C"))
INPUT CODTAB F_CODCAUS
DISPLAY "Codice " CODTAB
DISPLAY "Descrizione @60" S0
DISPLAY "Codice tributo" I0
DISPLAY "C.T." B2
DISPLAY "T.S." B3
OUTPUT F_CODCAUS CODTAB
OUTPUT F_CODTRIB I0
OUTPUT F_DESCRCAUS S0
OUTPUT F_CT B2
OUTPUT F_PERC R0
OUTPUT QCF_TS B3
CHECKTYPE REQUIRED
FLAGS "Z"
WARNING "Manca la causale"
FIELD LF_QUAC->CODCAUS
ADD RUN 773mod -3 %CA7
END
STRING F_DESCRCAUS 58
BEGIN
PROMPT 17 3 ""
FLAGS "D"
END
NUMBER F_CODTRIB 4
BEGIN
PROMPT 11 4 ""
FLAGS "D"
END
BOOLEAN F_CT
BEGIN
PROMPT 17 4 "C.T."
FLAGS "D"
END
BOOLEAN QCF_TS
BEGIN
PROMPT 25 4 "T.S."
FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 5 7 "Ammontare"
END
TEXT DLG_NULL
BEGIN
PROMPT 5 8 "corrisposto"
END
NUMBER F_TOTALE 15
BEGIN
PROMPT 5 9 ""
FIELD LF_QUAC->TOTALE
PICTURE "."
FLAGS "R"
MESSAGE K_TAB,F_IMPONIBILE|K_TAB,F_RITENUTE|K_TAB,F_NETTO
END
TEXT DLG_NULL
BEGIN
PROMPT 24 8 "Contributi S.S.N."
END
NUMBER QCF_CONTSSN 15
BEGIN
PROMPT 24 9 ""
FIELD LF_QUAC->CONTSSN
PICTURE "."
FLAGS "R"
MESSAGE K_TAB,F_IMPONIBILE|K_TAB,F_RITENUTE|K_TAB,F_NETTO
END
TEXT DLG_NULL
BEGIN
PROMPT 43 7 "Somme non soggette"
END
TEXT DLG_NULL
BEGIN
PROMPT 43 8 "a ritenuta"
END
NUMBER F_SOMME 15
BEGIN
PROMPT 43 9 ""
FIELD LF_QUAC->SOMME
PICTURE "."
FLAGS "R"
MESSAGE K_TAB,F_IMPONIBILE|K_TAB,F_RITENUTE|K_TAB,F_NETTO
END
TEXT DLG_NULL
BEGIN
PROMPT 61 8 "Imponibile"
END
NUMBER F_IMPONIBILE 15
BEGIN
PROMPT 61 9 ""
FIELD LF_QUAC->IMPONIBILE
PICTURE "."
FLAGS "DR"
NUM_CALC {#F_TOTALE-#F_SOMME-#QCF_CONTSSN}
END
TEXT DLG_NULL
BEGIN
PROMPT 5 12 "Aliquota"
END
NUMBER F_PERC 6 2
BEGIN
PROMPT 5 13 ""
FIELD LF_QUAC->PERC
MESSAGE K_TAB,F_RITENUTE
PICTURE ".2"
MESSAGE K_TAB,F_RITENUTE|K_TAB,F_NETTO
END
TEXT DLG_NULL
BEGIN
PROMPT 24 12 "Importo"
END
NUMBER F_RITENUTE 15
BEGIN
PROMPT 24 13 ""
FIELD LF_QUAC->RITENUTE
PICTURE "."
FLAGS "R"
MESSAGE K_TAB,F_NETTO
END
TEXT DLG_NULL
BEGIN
PROMPT 43 12 "Netto corrisposto"
END
NUMBER F_NETTO 15
BEGIN
PROMPT 43 13 ""
FIELD LF_QUAC->NETTO
PICTURE "."
FLAGS "DR"
NUM_CALC {#F_IMPONIBILE-#F_RITENUTE}
END
ENDPAGE
ENDMASK

View File

@ -1,173 +0,0 @@
#include "771230a.h"
TOOLBAR "" 0 18 0 4
BUTTON F_GENERA 21 2
BEGIN
PROMPT -13 -3 "~Generazione"
END
#include <toolbar.h>
ENDPAGE
PAGE "Quadro E" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRD"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGDITTA RAGSOC
FIELD LF_QUAE->CODDITTA
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
END
NUMBER F_ANNODIC 4
BEGIN
PROMPT 52 3 "Anno dichiarazione "
FLAGS "DR"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bDati percipiente"
END
LIST F_TIPOA 1 12
BEGIN
PROMPT 1 8 ""
ITEM "F|Fisica"
MESSAGE COPY,F_TIPOAF
ITEM "G|Giuridica"
MESSAGE COPY,F_TIPOAF
FIELD LF_QUAE->TIPOA
KEY 1
END
LIST F_TIPOAF 1 12
BEGIN
PROMPT 1 9 ""
ITEM "F|Fisica"
ITEM "G|Giuridica"
FLAGS "H"
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAE->CODANAGR
CHECKTYPE REQUIRED
KEY 1
END
NUMBER F_CODANAGRPERC 5
BEGIN
PROMPT 16 8 ""
USE LF_PERC KEY 1 SELECT ((CODDITTA=#F_CODDITTA)&&(TIPOA=#F_TIPOA))
JOIN LF_ANAG TO LF_PERC KEY 1 INTO TIPOA=TIPOA CODANAGR=CODANAGR
INPUT CODDITTA F_CODDITTA
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGRPERC
DISPLAY "Tipo " TIPOA
DISPLAY "Codice " CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" LF_ANAG->RAGSOC
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGRPERC CODANAGR
OUTPUT F_RAGSOCPER LF_ANAG->RAGSOC
MESSAGE COPY, F_CODANAGR
ADD RUN 775 -0
GROUP 2
END
NUMBER F_CODANAGRCOM 5
BEGIN
PROMPT 16 8 ""
USE LF_ANAG KEY 1 SELECT (TIPOA=#F_TIPOA)
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGRCOM
DISPLAY "Tipo " TIPOA
DISPLAY "Codice " CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGRCOM CODANAGR
OUTPUT F_RAGSOCCOM RAGSOC
MESSAGE COPY, F_CODANAGR
ADD RUN BA4 -1
FLAGS "H"
GROUP 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 25 8 ""
FLAGS "H"
END
STRING F_RAGSOCCOM 50
BEGIN
PROMPT 25 8 ""
USE LF_ANAG KEY 2
INPUT RAGSOC F_RAGSOCCOM
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
DISPLAY "Tipo" TIPOA
DISPLAY "Codice" CODANAGR
OUTPUT F_RAGSOCCOM RAGSOC
OUTPUT F_CODANAGRCOM CODANAGR
OUTPUT F_TIPOA TIPOA
ADD RUN BA4 -1
MESSAGE COPY, F_RAGSOC
GROUP 1
END
STRING F_RAGSOCPER 50
BEGIN
PROMPT 25 8 ""
FLAGS "D"
GROUP 2
MESSAGE COPY, F_RAGSOC
END
NUMBER F_NPROG 4
BEGIN
PROMPT 1 10 "@bNumero "
CHECKTYPE REQUIRED
KEY 1
FIELD LF_QUAE->NPROG
USE LF_QUAE
INPUT CODDITTA F_CODDITTA SELECT
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
INPUT NPROG F_NPROG
DISPLAY "N°" NPROG
DISPLAY "Tipo" TIPOA
DISPLAY "Codice@10" CODANAGR
DISPLAY "Causale" CODCAUS
DISPLAY "Imponibile@15" IMPONIBILE
DISPLAY "Aliquota" PERC
DISPLAY "Importo@15" IMPORTO
DISPLAY "Netto corrisposto" NETTO
DISPLAY "Somme n/sogg rit" SOMME
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_NPROG NPROG
END
ENDPAGE
ENDMASK

View File

@ -1,186 +0,0 @@
#include "771230a.h"
TOOLBAR "" 0 19 0 3
#include <toolbar.h>
ENDPAGE
PAGE "Quadro E" -1 -1 78 18
NUMBER F_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAE->CODDITTA
KEY 1
END
LIST F_TIPOA 1 12
BEGIN
PROMPT 2 0 ""
FIELD LF_QUAE->TIPOA
ITEM "F|Fisica"
ITEM "G|Giuridica"
FLAGS "D"
KEY 1
END
LIST F_TIPOAF 1 12
BEGIN
PROMPT 3 1 ""
ITEM "F|Fisica"
ITEM "G|Giuridica"
FLAGS "HG"
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 17 0 ""
FIELD LF_QUAE->CODANAGR
MESSAGE COPY,F_CODANAGR2
FLAGS "D"
KEY 1
END
NUMBER F_CODANAGR2 5
BEGIN
USE LF_ANAG KEY 1
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT F_RAGSOC2 RAGSOC
CHECKTYPE REQUIRED
FLAGS "HG"
END
STRING F_RAGSOC2 50 45
BEGIN
PROMPT 24 0 ""
FLAGS "D"
END
NUMBER F_NPROG 4
BEGIN
PROMPT 71 0 ""
FIELD LF_QUAE->NPROG
FLAGS "D"
KEY 1
END
STRING F_CODCAUS 2
BEGIN
PROMPT 3 3 "Causale "
USE %CA7 SELECT ((I0!="1015")&&(S1="E"))
INPUT CODTAB F_CODCAUS
DISPLAY "Codice " CODTAB
DISPLAY "Descrizione @60" S0
DISPLAY "Codice tributo" I0
OUTPUT F_CODCAUS CODTAB
OUTPUT F_CODTRIB I0
OUTPUT F_DESCRCAUS S0
OUTPUT F_PERC R0
CHECKTYPE REQUIRED
FLAGS "Z"
WARNING "Manca la causale"
FIELD LF_QUAE->CODCAUS
ADD RUN 773mod -3 %CA7
END
STRING F_DESCRCAUS 58
BEGIN
PROMPT 17 3 ""
FLAGS "D"
END
NUMBER F_CODTRIB 4
BEGIN
PROMPT 11 4 ""
FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 3 8 "Imponibile"
END
NUMBER F_IMPONIBILE 15
BEGIN
PROMPT 3 9 ""
FIELD LF_QUAE->IMPONIBILE
PICTURE "."
FLAGS "R"
MESSAGE K_TAB,F_IMPORTO|K_TAB,F_NETTO
END
GROUPBOX DLG_NULL 32 5
BEGIN
PROMPT 25 6 "@bRitenute operate"
END
TEXT DLG_NULL
BEGIN
PROMPT 27 8 "Aliquota"
END
NUMBER F_PERC 6 2
BEGIN
PROMPT 27 9 ""
FIELD LF_QUAE->PERC
MESSAGE K_TAB,F_IMPORTO
PICTURE ".2"
MESSAGE K_TAB,F_IMPORTO|K_TAB,F_NETTO
END
TEXT DLG_NULL
BEGIN
PROMPT 38 8 "Importo"
END
NUMBER F_IMPORTO 15
BEGIN
PROMPT 38 9 ""
FIELD LF_QUAE->IMPORTO
PICTURE "."
FLAGS "R"
MESSAGE K_TAB,F_NETTO
END
TEXT DLG_NULL
BEGIN
PROMPT 3 13 "Netto corrisposto"
END
NUMBER F_NETTO 15
BEGIN
PROMPT 3 14 ""
FIELD LF_QUAE->NETTO
PICTURE "."
FLAGS "DR"
NUM_CALC {#F_IMPONIBILE-#F_IMPORTO}
END
TEXT DLG_NULL
BEGIN
PROMPT 27 12 "Somme non soggette"
END
TEXT DLG_NULL
BEGIN
PROMPT 27 13 "a ritenuta"
END
NUMBER F_SOMME 15
BEGIN
PROMPT 27 14 ""
FIELD LF_QUAE->SOMME
PICTURE "."
FLAGS "R"
// MESSAGE K_TAB,F_IMPONIBILE|K_TAB,F_IMPORTO|K_TAB,F_NETTO
END
ENDPAGE
ENDMASK

View File

@ -1,180 +0,0 @@
#include "771230a.h"
TOOLBAR "" 0 18 0 4
BUTTON F_GENERA 21 2
BEGIN
PROMPT -13 -3 "~Generazione"
END
BUTTON F_PROSPETTO 21 2
BEGIN
PROMPT -23 -3 "~Prospetto"
MESSAGE RUN,773mod,-1,771230m,89,"Prospetto del Quadro E1","E1"
END
#include <toolbar.h>
ENDPAGE
PAGE "Quadro E1" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRDP"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGDITTA RAGSOC
FIELD LF_QUAE1->CODDITTA
END
STRING F_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "DP"
END
NUMBER F_ANNODIC 4
BEGIN
PROMPT 52 3 "Anno dichiarazione "
FLAGS "DRP"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bDati percipiente"
END
LIST F_TIPOA 1 12
BEGIN
PROMPT 1 8 ""
ITEM "F|Fisica"
MESSAGE COPY,F_TIPOAF
ITEM "G|Giuridica"
MESSAGE COPY,F_TIPOAF
FIELD LF_QUAE1->TIPOA
FLAGS "D"
KEY 1
END
LIST F_TIPOAF 1 12
BEGIN
PROMPT 1 9 ""
ITEM "F|Fisica"
ITEM "G|Giuridica"
FLAGS "H"
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAE1->CODANAGR
CHECKTYPE REQUIRED
KEY 1
END
NUMBER F_CODANAGRPERC 5
BEGIN
PROMPT 16 8 ""
USE LF_PERC
JOIN LF_ANAG TO LF_PERC KEY 1 INTO TIPOA=TIPOA CODANAGR=CODANAGR
INPUT CODDITTA F_CODDITTA SELECT
INPUT TIPOA F_TIPOA SELECT
INPUT CODANAGR F_CODANAGRPERC
DISPLAY "Tipo " TIPOA
DISPLAY "Codice " CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" LF_ANAG->RAGSOC
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGRPERC CODANAGR
OUTPUT F_RAGSOCPER LF_ANAG->RAGSOC
MESSAGE COPY, F_CODANAGR
ADD RUN 775 -0
GROUP 2
END
NUMBER F_CODANAGRCOM 5
BEGIN
PROMPT 16 8 ""
USE LF_ANAG
INPUT TIPOA F_TIPOA SELECT
INPUT CODANAGR F_CODANAGRCOM
DISPLAY "Tipo " TIPOA
DISPLAY "Codice " CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGRCOM CODANAGR
OUTPUT F_RAGSOCCOM RAGSOC
MESSAGE COPY, F_CODANAGR
ADD RUN BA4 -1
FLAGS "H"
GROUP 1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 25 8 ""
FLAGS "H"
END
STRING F_RAGSOCCOM 50
BEGIN
PROMPT 25 8 ""
USE LF_ANAG KEY 2 SELECT (TIPOA="F")
INPUT RAGSOC F_RAGSOCCOM
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
DISPLAY "Tipo" TIPOA
DISPLAY "Codice" CODANAGR
OUTPUT F_RAGSOCCOM RAGSOC
OUTPUT F_CODANAGRCOM CODANAGR
OUTPUT F_TIPOA TIPOA
ADD RUN BA4 -1
MESSAGE COPY, F_RAGSOC
GROUP 1
END
STRING F_RAGSOCPER 50
BEGIN
PROMPT 25 8 ""
FLAGS "D"
GROUP 2
MESSAGE COPY, F_RAGSOC
END
NUMBER F_NPROG 4
BEGIN
PROMPT 1 10 "@bNumero "
CHECKTYPE REQUIRED
KEY 1
FIELD LF_QUAE1->NPROG
USE LF_QUAE1
INPUT CODDITTA F_CODDITTA SELECT
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
INPUT NPROG F_NPROG
DISPLAY "N°" NPROG
DISPLAY "Tipo" TIPOA
DISPLAY "Codice@10" CODANAGR
DISPLAY "Causale" CODCAUS
DISPLAY "Ammontare complessivo" AMMONTARE
DISPLAY "Aliquota" PERC
DISPLAY "Importo@15" IMPORTO
DISPLAY "Netto corrisposto" NETTO
DISPLAY "Somme corrisposte" SOMME
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_NPROG NPROG
END
ENDPAGE
ENDMASK

View File

@ -1,191 +0,0 @@
#include "771230a.h"
TOOLBAR "" 0 19 0 3
#include <toolbar.h>
ENDPAGE
PAGE "Quadro E1" -1 -1 78 18
NUMBER F_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAE1->CODDITTA
KEY 1
END
LIST F_TIPOA 1 12
BEGIN
PROMPT 2 0 ""
FIELD LF_QUAE1->TIPOA
ITEM "F|Fisica"
ITEM "G|Giuridica"
FLAGS "D"
KEY 1
END
LIST F_TIPOAF 1 12
BEGIN
PROMPT 3 1 ""
ITEM "F|Fisica"
ITEM "G|Giuridica"
FLAGS "HG"
END
NUMBER F_CODANAGR 5
BEGIN
PROMPT 17 0 ""
FIELD LF_QUAE1->CODANAGR
MESSAGE COPY,F_CODANAGR2
FLAGS "D"
KEY 1
END
NUMBER F_CODANAGR2 5
BEGIN
USE LF_ANAG KEY 1
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGR
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT F_RAGSOC2 RAGSOC
CHECKTYPE REQUIRED
FLAGS "HG"
END
STRING F_RAGSOC2 50 45
BEGIN
PROMPT 24 0 ""
FLAGS "D"
END
NUMBER F_NPROG 4
BEGIN
PROMPT 71 0 ""
FIELD LF_QUAE1->NPROG
FLAGS "D"
KEY 1
END
STRING F_CODCAUS 2
BEGIN
PROMPT 3 3 "Causale "
USE %CA7 SELECT ((I0!="1015")&&(S1="E1")&&(B0="X"))
INPUT CODTAB F_CODCAUS
DISPLAY "Codice " CODTAB
DISPLAY "Descrizione @60" S0
DISPLAY "Codice tributo" I0
OUTPUT F_CODCAUS CODTAB
OUTPUT F_CODTRIB I0
OUTPUT F_DESCRCAUS S0
OUTPUT F_PERC R0
CHECKTYPE REQUIRED
FLAGS "Z"
WARNING "Manca la causale"
FIELD LF_QUAE1->CODCAUS
ADD RUN 773mod -3 %CA7
END
STRING F_DESCRCAUS 58
BEGIN
PROMPT 17 3 ""
FLAGS "D"
END
NUMBER F_CODTRIB 4
BEGIN
PROMPT 11 4 ""
FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 5 8 "Somme corrisposte"
END
NUMBER F_SOMME 15
BEGIN
PROMPT 5 9 ""
FIELD LF_QUAE1->SOMME
PICTURE "."
FLAGS "R"
MESSAGE K_TAB,F_IMPORTO|K_TAB,F_NETTO|K_TAB,F_PERC
END
TEXT DLG_NULL
BEGIN
PROMPT 38 6 "Amm. compl. premi riscossi"
END
TEXT DLG_NULL
BEGIN
PROMPT 38 7 "sui quali le ritenute sono"
END
TEXT DLG_NULL
BEGIN
PROMPT 38 8 "state commisurate"
END
NUMBER F_IMPONIBILE 15
BEGIN
PROMPT 38 9 ""
FIELD LF_QUAE1->AMMONTARE
PICTURE "."
FLAGS "R"
MESSAGE K_TAB,F_IMPORTO|K_TAB,F_NETTO
END
GROUPBOX DLG_NULL 32 5
BEGIN
PROMPT 3 11 "@bRitenute operate"
END
TEXT DLG_NULL
BEGIN
PROMPT 5 13 "Aliquota"
END
NUMBER F_PERC 6 2
BEGIN
PROMPT 5 14 ""
FIELD LF_QUAE1->PERC
MESSAGE K_TAB,F_IMPORTO
PICTURE ".2"
MESSAGE K_TAB,F_IMPORTO|K_TAB,F_NETTO
END
TEXT DLG_NULL
BEGIN
PROMPT 16 13 "Importo"
END
NUMBER F_IMPORTO 15
BEGIN
PROMPT 16 14 ""
FIELD LF_QUAE1->IMPORTO
PICTURE "."
FLAGS "R"
MESSAGE K_TAB,F_NETTO
END
TEXT DLG_NULL
BEGIN
PROMPT 38 13 "Netto corrisposto"
END
NUMBER F_NETTO 15
BEGIN
PROMPT 38 14 ""
FIELD LF_QUAE1->NETTO
PICTURE "."
FLAGS "DR"
NUM_CALC {#F_SOMME-#F_IMPORTO}
END
ENDPAGE
ENDMASK

View File

@ -1,119 +0,0 @@
#include "pe1.h"
TOOLBAR "" 0 19 0 3
#include <toolbar.h>
ENDPAGE
PAGE "Prospetto del Quadro E1" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER PE1F_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRDP"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
INPUT CODDITTA PE1F_CODDITTA
OUTPUT PE1F_RAGDITTA RAGSOC
FIELD LF_PROSPE1->CODDITTA
END
STRING PE1F_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "DP"
END
STRING PE1F_CODCAUS 2
BEGIN
PROMPT 3 4 "Causale "
USE LF_PROSPE1 SELECT (CODDITTA=#PE1F_CODDITTA)
JOIN %CA7 TO LF_PROSPE1 INTO CODTAB=CODCAUS
INPUT CODDITTA PE1F_CODDITTA
INPUT CODCAUS PE1F_CODCAUS
DISPLAY "Codcaus" CODCAUS
DISPLAY "Compenso@15" COMPENSO
DISPLAY "Imponibile@15" IMPONIBILE
DISPLAY "Ritenuta@15" RITENUTA
OUTPUT PE1F_CODCAUS CODCAUS
OUTPUT PE1F_DESCRCAUS %CA7->S0
OUTPUT PE1F_HPERC %CA7->R0
CHECKTYPE REQUIRED
FLAGS "Z"
FIELD LF_PROSPE1->CODCAUS
KEY 1
GROUP 8
MESSAGE COPY,PE1F_CODCAUS2
END
STRING PE1F_CODCAUS2 2
BEGIN
PROMPT 3 4 "Causale "
USE %CA7 SELECT ((I0!="1015")&&(S1="E1")&&(B0=" "))
INPUT CODTAB PE1F_CODCAUS
DISPLAY "Codice " CODTAB
DISPLAY "Descrizione @60" S0
OUTPUT PE1F_CODCAUS CODTAB
OUTPUT PE1F_DESCRCAUS S0
OUTPUT PE1F_HPERC R0
CHECKTYPE REQUIRED
FLAGS "Z"
WARNING "Manca la causale"
FIELD LF_PROSPE1->CODCAUS
ADD RUN 773mod -3 %CA7
KEY 1
GROUP 9
MESSAGE COPY,PE1F_CODCAUS
END
NUMBER PE1F_HPERC 6
BEGIN
PROMPT 3 4 "Usata nel programma per calcolo ritenuta"
PICTURE ".2"
FLAGS "H"
END
STRING PE1F_DESCRCAUS 58
BEGIN
PROMPT 17 4 ""
FLAGS "D"
END
NUMBER PE1F_COMPENSO 15
BEGIN
PROMPT 3 7 "Ammontare complessivo "
FIELD LF_PROSPE1->COMPENSO
PICTURE "."
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT 3 9 "Ammontare delle somme sulle quali"
END
NUMBER PE1F_IMPONIBILE 15
BEGIN
PROMPT 3 10 "le ritenute sono state commisurate "
FIELD LF_PROSPE1->IMPONIBILE
PICTURE "."
FLAGS "R"
END
NUMBER PE1F_RITENUTA 15
BEGIN
PROMPT 3 12 "Ritenuta operata "
FIELD LF_PROSPE1->RITENUTA
PICTURE "."
FLAGS "R"
END
ENDPAGE
ENDMASK

View File

@ -1,19 +1,15 @@
// 771231.cpp - Quadri F
//
#include <config.h>
#include <relapp.h>
#include <defmask.h>
#include <msksheet.h>
#include <progind.h>
#include <recarray.h>
#include <relapp.h>
#include <sort.h>
#include <tabutil.h>
#include "77lib.h"
#include "prospe1.h"
#include "774200.h"
#include "771231a.h" // F, F-1
#include "771232.h" // quadro G
#include "prospe1.h"
#include "quadrif.h"
#include "ca7.h"
@ -549,22 +545,13 @@ int quadroF(int argc, char* argv[])
}
if (quadro == '3')
{
TQuadroG a(quadro);
a.run(argc, argv, a.taitol());
}
quadro_g(argc,argv);
if (quadro == '4')
{
TDistintaQuadroG a;
a.run(argc, argv, a.taitol());
}
distinta_quadro_g(argc,argv);
if (quadro == '5')
{
TQuadroG1 a;
a.run(argc, argv, a.taitol());
}
quadro_g1(argc, argv);
return 0;
}

View File

@ -1,23 +1,20 @@
// 771232.cpp - Quadri G
#include <relapp.h>
#include <config.h>
#include <msksheet.h>
#include <sort.h>
#include <tabutil.h>
#include <execp.h>
#include <progind.h>
#include <defmask.h>
#include <recarray.h>
#include "quadrog.h"
#include "quadrogp.h"
#include "77lib.h"
#include "774200.h"
#include "771234a.h" // G
#include "771234a.h" // 771234a.uml
#include "771232.h"
#include "quadrog.h"
#include "quadrogp.h"
// Aliquote prospetti 2 (I e II)
HIDDEN const char* aliq[8] =
HIDDEN const char* aliq[] =
{
"10",
"10",
@ -26,22 +23,71 @@ HIDDEN const char* aliq[8] =
"15",
"15",
"34.40",
"34.40"
"34.40",
"NS",
""
};
HIDDEN const int RIGHE_P1_I = 3;
HIDDEN const int RIGHE_P1_II = 3;
HIDDEN const int RIGHE_P2_I = 20;
HIDDEN const int RIGHE_P2_II = 20;
HIDDEN const char* DISTINTA_APP = "771mod -6 4";
//771234b.uml
#define AMM_AZ 102
#define NUM_AZ 103
#define AMM_COMP 104
// 771234d.uml e 771234e.uml
#define UTILI1S 101
#define UTILI2S 102
#define ALIQUOTA 103
#define TITOLO 104
#define ROPE 105
HIDDEN real __amm_az = ZERO;
HIDDEN real __num_az = ZERO;
class TQuadroG : public TRelation_application
{
private:
TRelation* _rel;
TMask* _msk;
long _codditta;
TRiporti _rip;
TString16 _quadro;
TString80 _title;
bool _registra, _bUsatoDistinta;
static bool p1_notify(TSheet_field& s, int r, KEY k);
static bool p2_notify(TSheet_field& s, int r, KEY k);
static bool p3_notify(TSheet_field& s, int r, KEY k);
static bool calc_amm(TMask_field& f, KEY k);
static bool tit_hndlr(TMask_field& f, KEY k);
static bool calc_rit(TMask_field& f, KEY k);
static bool exec_distinta(TMask_field& f, KEY k);
static void update_totals(TSheet_field& f);
static bool mainmsk_handler(TMask& m, KEY k);
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual int read(TMask& m);
virtual int rewrite(const TMask& m);
virtual int write (const TMask& m);
virtual bool remove();
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&);
void read_prospetti();
int write_prospetti();
int remove_prospetti();
public:
const char* taitol() { return (const char*)_title; }
TMask& main_mask() const { return (TMask&) *_msk; }
TQuadroG(const char quadro='0');
virtual ~TQuadroG() {};
};
TQuadroG::TQuadroG(const char quadro)
{
_registra = _bUsatoDistinta = FALSE;
@ -63,51 +109,223 @@ int TQuadroG::read(TMask& m)
int err = TRelation_application::read(m);
if (err == NOERR)
{
fill_ss(m);
err = read_prospetto_2(m);
}
read_prospetti();
return err;
}
int TQuadroG::write(const TMask& m)
{
//ss2rel(m);
int err = TRelation_application::write(m);
_registra = err == NOERR;
if (_registra)
err = write_prospetto_2(m);
err = write_prospetti();
return err;
}
int TQuadroG::rewrite(const TMask& m)
{
//ss2rel(m);
int err = TRelation_application::rewrite(m);
_registra = err == NOERR;
if (_registra)
err = write_prospetto_2(m,TRUE);
err = write_prospetti();
return err;
}
bool TQuadroG::remove()
{
remove_prospetto_2();
_registra = TRelation_application::remove();
remove_prospetti();
return _registra;
}
int TQuadroG::read_prospetto_2(const TMask& m)
void TQuadroG::read_prospetti()
{
TRectype k(LF_QUAGP);
TRecord_array ra(LF_QUAGP,"NPROG");
TSheet_field& p1_I = (TSheet_field&)_msk->field(F_P1_I);
TSheet_field& p1_II = (TSheet_field&)_msk->field(F_P1_II);
TSheet_field& p2_I = (TSheet_field&)_msk->field(F_P2_I);
TSheet_field& p2_II = (TSheet_field&)_msk->field(F_P2_II);
// Prospetto 1 - I Utili in denaro
k.put(QGP_CODDITTA,_codditta);
k.put(QGP_PROSPETTO,"1");
k.put(QGP_SEZIONE,"1");
ra.read(k);
p1_I.destroy();
if (ra.rows()>0)
{
const int items = ra.rows();
for (int i = 0; i < items; i++)
{
const TRectype& r = ra.row(i+1);
TToken_string& t = p1_I.row(i);
t.add(r.get(QGP_DATADEL));
t.add(r.get(QGP_UTILI1S));
t.add(r.get(QGP_NUMQUOTE));
t.add(r.get(QGP_UTILI2S));
}
}
update_totals(p1_I);
// Prospetto 1 - II Utili in natura
k.zero();
k.put(QGP_CODDITTA,_codditta);
k.put(QGP_PROSPETTO,"1");
k.put(QGP_SEZIONE,"2");
ra.read(k);
p1_II.destroy();
if (ra.rows()>0)
{
const int items = ra.rows();
for (int i = 0; i < items; i++)
{
const TRectype& r = ra.row(i+1);
TToken_string& t = p1_II.row(i);
t.add(r.get(QGP_DESCRBENI));
t.add(r.get(QGP_UTILI1S));
}
}
update_totals(p1_II);
// Prospetto 2 - I Utili in denaro
// Prospetto 2 - II Utili in natura
k.zero();
k.put(QGP_CODDITTA,_codditta);
k.put(QGP_PROSPETTO,"2");
p2_I.destroy();
p2_II.destroy();
for (int h = 1; h<=2; h++)
{
k.put(QGP_SEZIONE,h == 1 ? "1" : "2");
ra.read(k);
TSheet_field& f = h == 1 ? p2_I : p2_II;
if (ra.rows()>0)
{
const int items = ra.rows();
for (int i = 0; i < items; i++)
{
const TRectype& r = ra.row(i+1);
TToken_string& t = f.row(i);
t.add(r.get(QGP_UTILI1S));
t.add(r.get(QGP_UTILI2S));
t.add(r.get(QGP_ALIQUOTA));
t.add(r.get(QGP_TITOLO));
t.add(r.get(QGP_ROPE));
if (i < 9)
{
f.disable_cell(i,2);
f.disable_cell(i,3);
if (i == 8)
{
t.add("NS",2);
f.disable_cell(i,4);
}
}
}
}
else // Non vi sono righe di prospetto, aggiunge quelle standard
{
for (int i=0; ;i++)
{
if (aliq[i][0] == '\0')
break;
f.disable_cell(i,2);
f.disable_cell(i,3);
TToken_string& t = f.row(i);
t.add("");t.add("");
t.add(aliq[i]);
char c = ' ';
if (aliq[i][0] == 'N')
f.disable_cell(i,4);
else
c = i %2 == 0 ? 'A' : 'I';
t.add(c);
}
}
}
}
int TQuadroG::write_prospetti()
{
int err = NOERR, i, j;
TSheet_field& p1_I = (TSheet_field&)_msk->field(F_P1_I);
TSheet_field& p1_II = (TSheet_field&)_msk->field(F_P1_II);
TSheet_field& p2_I = (TSheet_field&)_msk->field(F_P2_I);
TSheet_field& p2_II = (TSheet_field&)_msk->field(F_P2_II);
TRectype k(LF_QUAGP);
k.put(QGP_CODDITTA,_codditta);
k.put(QGP_PROSPETTO,"1");
k.put(QGP_SEZIONE,"1");
TRecord_array ra(LF_QUAGP,"NPROG");
ra.set_key((TRectype*)k.dup());
int items = p1_I.items();
// Prospetto 1 - I Utili in denaro
for (i = 0,j = 1; i < items; i++)
{
TToken_string& t = p1_I.row(i);
if (!t.empty_items())
{
TRectype& r = ra.row(j++,TRUE);
r.put(QGP_DATADEL,t.get(0));
r.put(QGP_UTILI1S,t.get(1));
r.put(QGP_NUMQUOTE,t.get(2));
r.put(QGP_UTILI2S,t.get(3));
}
}
err = ra.rewrite(); // Esegue una write se i record non ci sono, cancella tutti i rimanenti
if (err != NOERR) return err;
// Prospetto 1 - II Utili in natura
items = p2_I.items();
k.put(QGP_SEZIONE,"2");
ra.destroy_rows();
ra.set_key((TRectype*)k.dup());
for (i = 0, j = 1; i < items; i++)
{
TToken_string& t = p1_II.row(i);
if (!t.empty_items())
{
TRectype& r = ra.row(j++,TRUE);
r.put(QGP_DESCRBENI,t.get(0));
r.put(QGP_UTILI1S,t.get(1));
}
}
err = ra.rewrite(); // Esegue una write se i record non ci sono, cancella tutti i rimanenti
if (err != NOERR) return err;
// Prospetto 2 - I Utili in denaro
// Prospetto 2 - II Utili in natura
for (int h = 1; h<=2; h++)
{
TSheet_field& f = h == 1 ? p2_I : p2_II;
items = f.items();
k.put(QGP_PROSPETTO,"2");
k.put(QGP_SEZIONE,h == 1 ? "1" : "2");
ra.destroy_rows();
ra.set_key((TRectype*)k.dup());
for (i = 0, j = 1; i < items; i++)
{
TToken_string& t = f.row(i);
if (!t.empty_items())
{
TRectype& r = ra.row(j++,TRUE);
r.put(QGP_UTILI1S,t.get(0));
r.put(QGP_UTILI2S,t.get(1));
r.put(QGP_ALIQUOTA,t.get(2));
r.put(QGP_TITOLO,t.get(3));
r.put(QGP_ROPE,t.get(4));
}
}
err = ra.rewrite(); // Esegue una write se i record non ci sono, cancella tutti i rimanenti
if (err != NOERR) return err;
}
return NOERR;
}
int TQuadroG::write_prospetto_2(const TMask& m, bool force)
{
return NOERR;
}
int TQuadroG::remove_prospetto_2()
int TQuadroG::remove_prospetti()
{
return NOERR;
}
@ -122,13 +340,14 @@ void TQuadroG::init_query_mode (TMask& m)
m.send_key(K_AUTO_ENTER,0);
}
void TQuadroG::update_totals(TSheet_field& f, int ss)
void TQuadroG::update_totals(TSheet_field& f)
{
int i = 0;
TMask& m = f.mask();
switch (ss)
short dlg = f.dlg();
switch (dlg)
{
case 1:
case F_P1_I:
{
real tot_numq, tot_amm;
tot_numq = tot_amm = ZERO;
@ -147,7 +366,7 @@ void TQuadroG::update_totals(TSheet_field& f, int ss)
m.set(F_P1_I_TOT2,tot_amm);
}
break;
case 2:
case F_P1_II:
{
real tot_valult;
const int items = f.items();
@ -194,6 +413,125 @@ bool TQuadroG::calc_amm(TMask_field& f, KEY k)
return TRUE;
}
bool TQuadroG::calc_rit(TMask_field& f, KEY k)
{
if (k == K_TAB && f.to_check(k))
{
TMask& m = f.mask();
real r1(m.get(UTILI1S));
real r2(m.get(UTILI2S));
TString16 al(m.get(ALIQUOTA));
if (al == "NS") return TRUE;
if (real::is_real(al))
{
const real a1 = al;
if (a1 != 0.0 && m.field(ALIQUOTA).enabled())
{
al = real::ita2eng(a1.string(".2"));
m.set(ALIQUOTA,al);
}
if (a1 >= 0.0 && a1 <= 100.0)
{
real res = ((r1 + r2) / 100.0 * a1);
res.round();
m.set(ROPE,res);
}
else
return f.error_box("Aliquota non valida.");
}
else
return f.error_box("Aliquota non valida.");
if (f.dlg() == ALIQUOTA && al.empty() && (r1 != 0.0 || r2 != 0.0))
return f.error_box("Il campo aliquota e' obbligatorio.");
}
if (k == K_ENTER && f.dlg() == ALIQUOTA)
{
TMask& m = f.mask();
TSheet_field& s = *m.get_sheet();
const int selected = s.selected();
TToken_string& row = s.row(selected);
bool ok;
if (selected > 8 && !row.empty_items())
{
const real aliquota = f.get();
const char titolo = m.get(TITOLO)[0];
for (int i = 0; i < s.items(); i++) if (i != selected)
{
const real aliq = s.row(i).get(2);
const char tit = m.get(TITOLO)[0];
if (aliquota == aliq && titolo == tit)
{
ok = f.yesno_box("L'aliquota %s%%(%s) e' gia' stata utilizzata al rigo %d.\n"
"Si desidera sommare gli importi nello stesso rigo?",
(const char*) aliq.string(".2"), titolo == 'I' ? "Imposta" : "Acconto", i+1);
if (ok)
{
// Forza aggiornamento riga corrente dello sheet con la maschera
row.cut(0);
for (short id = UTILI1S; id <= ROPE; id++)
row.add(m.get(id));
// Sceglie come destinazione la riga piu' in alto
int src = selected, dst = i;
if (src < dst)
{ int tmp = src; src = dst; dst = tmp; }
// Righe conivolte nella somma
TToken_string& srcrow = s.row(src);
TToken_string& dstrow = s.row(dst);
for (int x = 0; x < 5; x++) if (x < 2 || x > 3)
{
real tot = dstrow.get(x);
if (x < 2 || dst != 2)
{
tot += real(srcrow.get(x));
dstrow.add(tot.string(), x);
}
if (dst == selected)
m.set(UTILI1S+x, tot);
else
m.reset(UTILI1S+x);
}
if (src == selected)
{
m.reset(ALIQUOTA);
m.set(TITOLO, " ");
s.force_update(dst);
}
else
{
srcrow.cut(0);
s.force_update(src);
}
}
break;
}
}
}
}
return TRUE;
}
bool TQuadroG::tit_hndlr(TMask_field& f, KEY k)
{
if (f.to_check(k))
{
TMask& m = f.mask();
real r1(m.get(UTILI1S));
real r2(m.get(UTILI2S));
TString16 tit(f.get());
if (tit.empty() && (r1 != 0.0 || r2 != 0.0))
return f.error_box("Il campo titolo e' obbligatorio.");
}
return TRUE;
}
bool TQuadroG::exec_distinta(TMask_field& f, KEY k)
{
if (k == K_SPACE)
@ -218,16 +556,26 @@ bool TQuadroG::user_create()
_msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar
_msk->set_handler(DLG_DISTINTA, exec_distinta);
_msk->set_handler(mainmsk_handler);
TSheet_field& p1 = (TSheet_field&) _msk->field(F_P1_I);
p1.set_append(FALSE);
p1.set_notify(p1_notify);
p1.sheet_mask().set_handler(NUM_AZ, calc_amm);
p1.sheet_mask().set_handler(AMM_AZ, calc_amm);
TSheet_field& p2 = (TSheet_field&) _msk->field(F_P1_II);
p2.set_notify(p2_notify);
p2.set_append(FALSE);
//TSheet_field& pIII = (TSheet_field&) _msk->field(F_PIII);
//pIII.set_notify(pIII_notify);
TSheet_field& p1_I = (TSheet_field&) _msk->field(F_P1_I);
p1_I.set_append(FALSE);
p1_I.set_notify(p1_notify);
p1_I.sheet_mask().set_handler(NUM_AZ, calc_amm);
p1_I.sheet_mask().set_handler(AMM_AZ, calc_amm);
TSheet_field& p1_II = (TSheet_field&) _msk->field(F_P1_II);
p1_II.set_notify(p2_notify);
p1_II.set_append(FALSE);
TSheet_field& p2_I = (TSheet_field&) _msk->field(F_P2_I);
p2_I.sheet_mask().set_handler(UTILI1S, calc_rit);
p2_I.sheet_mask().set_handler(UTILI2S, calc_rit);
p2_I.sheet_mask().set_handler(ALIQUOTA, calc_rit);
p2_I.sheet_mask().set_handler(TITOLO, tit_hndlr);
p2_I.set_notify(p3_notify);
TSheet_field& p2_II = (TSheet_field&) _msk->field(F_P2_II);
p2_II.sheet_mask().set_handler(UTILI1S, calc_rit);
p2_II.sheet_mask().set_handler(UTILI2S, calc_rit);
p2_II.sheet_mask().set_handler(ALIQUOTA, calc_rit);
p2_II.sheet_mask().set_handler(TITOLO, tit_hndlr);
p2_II.set_notify(p3_notify);
return TRUE;
}
@ -239,130 +587,6 @@ bool TQuadroG::user_destroy()
return TRUE;
}
void TQuadroG::ss2rel(const TMask& m)
{
TSheet_field& p1_I = (TSheet_field&)m.field(F_P1_I);
TRectype& rec = _rel->curr();
TString datad, ammq, numq, amm;
// Prospetto 1 - I Utili in denaro
for (int i = 0; i < RIGHE_P1_I; i++)
{
TToken_string& r = p1_I.row(i);
datad = r.get(0);
ammq = r.get();
numq = r.get();
amm = r.get();
// Costruisco i nomi dei campi (sono numerati)
TString16 n_datad ("P1DATAD");
n_datad << i+1;
TString16 n_ammq ("P1AMMQ");
n_ammq << i+1;
TString16 n_numq ("P1NUMQ");
n_numq << i+1;
TString16 n_amm ("P1AMM");
n_amm << i+1;
// Scrivo i suddetti campi nella relazione
rec.put(n_datad, datad);
rec.put(n_ammq, ammq);
rec.put(n_numq, numq);
rec.put(n_amm, amm);
}
// Prospetto 1 - II Utili in natura
TSheet_field& p1_II = (TSheet_field&)m.field(F_P1_II);
for (i = 0; i < RIGHE_P1_II; i++)
{
TToken_string& r = p1_II.row(i);
TString descr (r.get(0));
TString val (r.get());
// Costruisco i nomi dei campi (sono numerati)
TString16 n_descr ("P2DESC");
n_descr << i+1;
TString16 n_val ("P2VAL");
n_val << i+1;
// Scrivo i suddetti campi nella relazione
rec.put(n_descr, descr);
rec.put(n_val, val);
}
}
void TQuadroG::fill_ss(TMask& m)
{
TRectype k(LF_QUAGP);
TRecord_array ra(LF_QUAGP,"NPROG");
TSheet_field& p1_I = (TSheet_field&)m.field(F_P1_I);
TSheet_field& p1_II = (TSheet_field&)m.field(F_P1_II);
// Prospetto 1 - I Utili in denaro
k.put(QGP_CODDITTA,_codditta);
k.put(QGP_PROSPETTO,"1");
k.put(QGP_SEZIONE,"1");
ra.read(k);
if (ra.rows()>0)
{
const int items = ra.rows();
for (int i = 0; i < items; i++)
{
const TRectype& r = ra.row(i);
TToken_string& t = p1_I.row(i+1);
t.add(r.get(QGP_DATADEL));
t.add(r.get(QGP_UTIL1S));
t.add(r.get(QGP_NUMQUOTE));
t.add(r.get(QGP_UTIL2S));
}
}
//if (m.mode() == MODE_MOD)
// update_totals(p1_I,1);
// Prospetto 1 - II Utili in natura
k.zero();
k.put(QGP_CODDITTA,_codditta);
k.put(QGP_PROSPETTO,"1");
k.put(QGP_SEZIONE,"2");
ra.read(k);
if (ra.rows()>0)
{
const int items = ra.rows();
for (int i = 0; i < items; i++)
{
const TRectype& r = ra.row(i);
TToken_string& t = p1_II.row(i+1);
t.add(r.get(QGP_DESCRBENI));
t.add(r.get(QGP_UTIL1S));
}
}
//if (m.mode() == MODE_MOD)
// update_totals(p1_II,2);
// Prospetto 2 - I Utili in denaro
k.zero();
k.put(QGP_CODDITTA,_codditta);
k.put(QGP_PROSPETTO,"2");
k.put(QGP_SEZIONE,"1");
ra.read(k);
if (ra.rows()>0)
{
}
// Prospetto 2 - II Utili in natura
k.zero();
k.put(QGP_CODDITTA,_codditta);
k.put(QGP_PROSPETTO,"2");
k.put(QGP_SEZIONE,"2");
ra.read(k);
if (ra.rows()>0)
{
}
}
bool TQuadroG::p1_notify(TSheet_field& s, int r, KEY k)
{
switch(k)
@ -370,7 +594,7 @@ bool TQuadroG::p1_notify(TSheet_field& s, int r, KEY k)
case K_ENTER:
__amm_az = ZERO;
__num_az = ZERO;
update_totals(s, 1);
update_totals(s);
break;
case K_SPACE:
{
@ -390,7 +614,7 @@ bool TQuadroG::p2_notify(TSheet_field& s, int r, KEY k)
switch(k)
{
case K_ENTER:
update_totals(s, 2);
update_totals(s);
break;
default:
break;
@ -398,6 +622,16 @@ bool TQuadroG::p2_notify(TSheet_field& s, int r, KEY k)
return TRUE;
}
bool TQuadroG::p3_notify(TSheet_field& s, int r, KEY k)
{
if (k == K_DEL)
if (r > 8)
return TRUE;
else
return FALSE;
return TRUE;
}
bool TQuadroG::mainmsk_handler(TMask& m, KEY k)
{
if (k == K_ESC)
@ -407,3 +641,10 @@ bool TQuadroG::mainmsk_handler(TMask& m, KEY k)
}
return TRUE;
}
bool quadro_g(int argc, char* argv[])
{
TQuadroG a('3');
a.run(argc,argv,a.taitol());
return TRUE;
}

View File

@ -1,137 +1,5 @@
// 771232.h - Quadro G, G1 e distinta
#include <relapp.h>
#include <config.h>
#include <msksheet.h>
#include <sort.h>
#include <tabutil.h>
#include <progind.h>
#include "77lib.h"
#include <defmask.h>
#include "774200.h"
// void ss_pack(TSheet_field& ss);
class TQuadroG : public TRelation_application
{
private:
TRelation* _rel;
TMask* _msk;
long _codditta;
TRiporti _rip;
TString16 _quadro;
TString80 _title;
bool _registra, _bUsatoDistinta;
static bool p1_notify(TSheet_field& s, int r, KEY k);
static bool p2_notify(TSheet_field& s, int r, KEY k);
static bool calc_amm(TMask_field& f, KEY k);
static bool exec_distinta(TMask_field& f, KEY k);
static void update_totals(TSheet_field& f, int ss);
static bool mainmsk_handler(TMask& m, KEY k);
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual int read(TMask& m);
virtual int rewrite(const TMask& m);
virtual int write (const TMask& m);
virtual bool remove();
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&);
void fill_ss(TMask& m);
void ss2rel(const TMask& m);
int read_prospetto_2(const TMask& m);
int write_prospetto_2(const TMask& m, bool force = FALSE);
int remove_prospetto_2();
public:
const char* taitol() { return (const char*)_title; }
TMask& main_mask() const { return (TMask&) *_msk; }
TQuadroG(const char quadro='0');
virtual ~TQuadroG() {};
};
class TDistintaQuadroG : public TRelation_application
{
TRelation* _rel;
TMask* _msk;
long _codanagr;
char _tipoa;
int _nproga;
int _mode;
int _anno_dic; // anno dichiarazione
TString80 _title;
TRiporti _rip;
bool _registra;
int _file;
TString16 _quadro;
private:
static bool nprog_handler (TMask_field& f, KEY key);
static bool codanagr_handler(TMask_field& f, KEY key);
static bool codditta_hnd (TMask_field& f, KEY key);
static bool setta_nprog (TMask_field& f);
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 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_query_insert_mode (TMask&);
virtual void on_config_change();
bool scrivi_dati_per(TRectype& rec);
public:
const char* taitol() { return (const char*)_title; }
public:
TDistintaQuadroG();
virtual ~TDistintaQuadroG() {};
};
class TQuadroG1 : public TRelation_application
{
private:
TRelation* _rel;
TMask* _msk;
int _anno_dic;
long _codditta;
TLocalisamfile* _qg1;
TTable* _ca7;
TRiporti _rip;
TString16 _quadro;
TString80 _title;
bool _registra;
static bool p1_notify(TSheet_field& s, int r, KEY k);
static void update_totals(TSheet_field& f);
static bool mainmsk_handler(TMask& m, KEY k);
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual int rewrite(const TMask& m);
virtual int read(TMask& m);
virtual int write (const TMask& m);
virtual bool remove();
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_insert_mode (TMask&);
virtual void init_modify_mode (TMask&);
// void init_mask (TMask&);
void fill_arr(TMask& m);
void arr2rel(const TMask& m);
public:
const char* taitol() { return (const char*)_title; }
TMask& main_mask() const { return (TMask&) *_msk; }
TQuadroG1();
virtual ~TQuadroG1() {};
};
bool quadro_g(int argc, char* argv[]);
bool distinta_quadro_g(int argc, char* argv[]);
bool quadro_g1(int argc, char* argv[]);

View File

@ -1,13 +1,54 @@
// 771233.cpp - distinta quadro G
#include <relapp.h>
#include "77lib.h"
#include "774200.h"
#include "771232.h"
#include "quadrogd.h"
#include "77qgd.h"
#define LF_QUAGD 101 // lffiles.h
class TDistintaQuadroG : public TRelation_application
{
TRelation* _rel;
TMask* _msk;
int _anno_dic; // anno dichiarazione
TString80 _title;
TRiporti _rip;
bool _registra;
int _file;
TString16 _quadro;
private:
static bool nprog_handler (TMask_field& f, KEY key);
static bool codanagr_handler(TMask_field& f, KEY key);
static bool codditta_hnd (TMask_field& f, KEY key);
static bool setta_nprog (TMask_field& f);
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 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_query_insert_mode (TMask&);
virtual void on_config_change();
bool scrivi_dati_per(TRectype& rec);
public:
const char* taitol() { return (const char*)_title; }
public:
TDistintaQuadroG();
virtual ~TDistintaQuadroG() {};
};
inline TDistintaQuadroG& app() { return (TDistintaQuadroG&) main_app(); }
TDistintaQuadroG::TDistintaQuadroG(): _rel(NULL), _mode(0)
TDistintaQuadroG::TDistintaQuadroG(): _rel(NULL)
{
_title = "Distinta quadro G";
_quadro = "GD";
@ -198,3 +239,9 @@ void TDistintaQuadroG::init_query_insert_mode(TMask& m)
m.show(-1); // group 1 Ricerca su ANAGR
}
bool distinta_quadro_g(int argc, char* argv[])
{
TDistintaQuadroG a;
a.run(argc,argv,a.taitol());
return TRUE;
}

View File

@ -184,8 +184,8 @@ END
SPREADSHEET F_P2_I 78 12
BEGIN
PROMPT 0 7 ""
ITEM "Utili I sem. 1996"
ITEM "Utili II sem. 1996"
ITEM "Utili\nI semestre 1996@16"
ITEM "Utili\nII semestre 1996@16"
ITEM "Aliquota"
ITEM "Titolo ritenuta"
ITEM "Ritenute effettuate"
@ -229,8 +229,8 @@ END
SPREADSHEET F_P2_II 78 12
BEGIN
PROMPT 0 7 ""
ITEM "Utili I sem. 1996"
ITEM "Utili II sem. 1996"
ITEM "Utili\nI semestre 1996@16"
ITEM "Utili\nII semestre 1996@16"
ITEM "Aliquota"
ITEM "Titolo ritenuta"
ITEM "Ritenute effettuate"
@ -277,6 +277,8 @@ BEGIN
PICTURE "."
FIELD LF_QUAG->P32AR
MESSAGE K_TAB,F_P3TOT
NUM_EXPR {#THIS <= #F_P32AT}
WARNING "I recuperi debbono essere minori o uguali agli utili"
END
NUMBER F_P32BT 15
@ -292,6 +294,8 @@ BEGIN
PROMPT 63 10 ""
PICTURE "."
FIELD LF_QUAG->P32BR
NUM_EXPR {#THIS <= #F_P32BT}
WARNING "I recuperi debbono essere minori o uguali agli utili"
MESSAGE K_TAB,F_P3TOT
END

View File

@ -16,17 +16,16 @@ BEGIN
GROUP 1
END
NUMBER 103 6
STRING 103 6
BEGIN
PROMPT 1 4 "Aliquota "
PICTURE ".2"
FLAGS "D"
NUM_EXPR {(#THIS>=0) && (#THIS<=100)}
END
LISTBOX 104 7
BEGIN
PROMPT 1 5 "Titolo della ritenuta "
ITEM " |NS"
ITEM "A|Acconto"
ITEM "I|Imposta"
END
@ -40,20 +39,25 @@ END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -13 -1 ""
PROMPT -14 -1 ""
END
BUTTON DLG_CANCEL 9 2
BEGIN
PROMPT -23 -1 ""
PROMPT -24 -1 ""
END
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -33 -1 "A~zzera"
PROMPT -34 -1 "A~zzera"
MESSAGE RESET,1@
END
BUTTON DLG_DELREC 9 2
BEGIN
PROMPT -44 -1 "~Elimina"
END
ENDPAGE
ENDMASK

View File

@ -16,17 +16,16 @@ BEGIN
GROUP 1
END
NUMBER 103 6
STRING 103 6
BEGIN
PROMPT 1 4 "Aliquota "
PICTURE ".2"
FLAGS "D"
NUM_EXPR {(#THIS>=0) && (#THIS<=100)}
END
LISTBOX 104 7
BEGIN
PROMPT 1 5 "Titolo della ritenuta "
ITEM " |NS"
ITEM "A|Acconto"
ITEM "I|Imposta"
END
@ -40,20 +39,25 @@ END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -13 -1 ""
PROMPT -14 -1 ""
END
BUTTON DLG_CANCEL 9 2
BEGIN
PROMPT -23 -1 ""
PROMPT -24 -1 ""
END
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -33 -1 "A~zzera"
PROMPT -34 -1 "A~zzera"
MESSAGE RESET,1@
END
BUTTON DLG_DELREC 9 2
BEGIN
PROMPT -44 -1 "~Elimina"
END
ENDPAGE
ENDMASK

View File

@ -22,7 +22,7 @@
#include "771300.h"
#include "77lib.h"
HIDDEN const int QUADRI = 25;
HIDDEN const int QUADRI = 29;
// Corrispondenza tra posizione nel record (campo:QCOMP) e id della maschera
HIDDEN int _dlg_comp_array[QUADRI] = {
F_QCOMPA,
@ -44,12 +44,16 @@ HIDDEN int _dlg_comp_array[QUADRI] = {
F_QCOMPG1,
F_QCOMPH,
F_QCOMPI,
F_QCOMPL,
F_QCOMPN,
F_QCOMPP,
F_QCOMPQ,
F_QCOMPR,
F_QCOMPS,
F_QCOMPT
F_QCOMPT,
F_QCOMPAB,
F_QCOMPDB,
F_QCOMPU
};
// Da id della maschera ritorna la corrispondente posizione in QCOMP
@ -126,7 +130,7 @@ void TQuadroI::set_rel_field_quadri(const TMask& m)
TString qcomp(QUADRI);
qcomp.spaces(QUADRI);
for (dlg=F_QCOMPA; dlg<=F_QCOMPT; dlg++)
for (dlg=F_QCOMPA; dlg<=F_QCOMPL; dlg++)
{
pos = dlg2pos(dlg);
if (pos >= 0)
@ -135,10 +139,10 @@ void TQuadroI::set_rel_field_quadri(const TMask& m)
_rel->curr().put("QCOMP", qcomp);
// Stessa cosa con flag quadri inviati
TString qsuppinv (QUADRI+1);
qsuppinv.spaces(QUADRI+1);
TString qsuppinv (QUADRI);
qsuppinv.spaces(QUADRI);
for (pos=0, dlg=F_QSUPPA; dlg<=F_QSUPPT; dlg++, pos++)
for (pos=0, dlg=F_QSUPPA; dlg<=F_QSUPPU; dlg++, pos++)
{
qsuppinv[pos] = m.get(dlg) == "X" ? 'X' : ' ';
}
@ -149,7 +153,6 @@ void TQuadroI::set_field_quadri(TMask& m)
{
int start_dlg = F_QCOMPA;
int dlg;
// La sequenza e' A A3 B B1..H I poi sotto A1 A2 N..T
TString qcomp (_rel->lfile().get("QCOMP"));
if (qcomp != "")
@ -250,6 +253,7 @@ bool TQuadroI::user_create()
break;
case 'W':
_rel = new TRelation (LF_BASEBIS);
_rel->add(LF_BASE,"CODDITTA=CODDITTA",1);
_msk = new TMask("771400a");
_msk->disable(DLG_NEWREC);
_msk->disable(DLG_DELREC);
@ -257,13 +261,22 @@ bool TQuadroI::user_create()
_msk->set_handler(F_M3, PDGcalcolaM6);
_msk->set_handler(F_M4, PDGcalcolaM6);
_msk->set_handler(F_M5, PDGcalcolaM6);
// set numero quadri L aggiuntivi
_msk->set(F_QLAGG,num_quadri_L_agg(get_firm_770()));
// set numero quadri N,P,Q,R,S,T aggiuntivi
_msk->set(F_QNAGG,num_quadri_N_agg(get_firm_770()));
break;
case '2':
_rel = new TRelation (LF_BASEBIS);
_rel->add(LF_BASE,"TIPOQUA=\"D\"&&CODDITTA=CODDITTA",1);
_msk = new TMask("771400b");
_msk->disable(DLG_NEWREC);
_msk->disable(DLG_DELREC);
_msk->disable(DLG_FINDREC);
// set numero quadri L aggiuntivi
_msk->set(F_QLAGG,num_quadri_L_agg(get_firm_770()));
// set numero quadri N,P,Q,R,S,T aggiuntivi
_msk->set(F_QNAGG,num_quadri_N_agg(get_firm_770()));
break;
default:
break;

View File

@ -1,224 +1,280 @@
// 771300.h
// Campi della maschera del QUADRO I
//
// Lista modifiche
//
// 7.5.96 Aggiunti campi per dichiarazione 96
//
#define F_A0NFCOM 101
#define F_A0NLDIP 102
#define F_A0COBB 103
#define F_A0CNET 104
#define F_A0EPREV 105
#define F_A0IITRA 106
#define F_A0CTER 107
#define F_A0TIMP 108
#define F_A0ILOR 109
#define F_A0TDET 110
#define F_A0RTER 111
#define F_A0RDAT 112
#define F_A0ERIT 113
#define F_A0CARR 114
#define F_A0AARR 115
#define F_A0DARR 116
#define F_A0RARR 117
#define F_A0RITSI 118
#define F_A0CINPS 119
#define F_A0RITOPEVA 120
#define F_A0RITOPESA 121
#define F_A0CIIAUT 122
#define F_A0NADLAV 123
#define F_A0NACAAF 124
#define F_B0NFCOM 125
#define F_B0NLDIP 126
#define F_B0TFR93 127
#define F_B0AI 128
#define F_B0COLAV 129
#define F_B0TFR7492 130
#define F_B0AI7492 131
#define F_B0RITSI 132
#define F_B0IMP 133
#define F_B0TIMP 134
#define F_B0ROP 135
#define F_B0AIINPS 136
#define F_B0ROPESA 137
#define F_B0CIIAUT 138
#define F_B1NFCOM 139
#define F_B1NPER 140
#define F_B1TIND 141
#define F_B1TIRM 142
#define F_B1TICOM 143
#define F_C0NFCOM 144
#define F_C0NLASS 145
#define F_C0ACTOT 146
#define F_C0SNSRIT 147
#define F_C0ROPE 148
#define F_C0CIIAUT 149
#define F_D0NFCOM 150
#define F_D0NLAUT 151
#define F_D0ACTOT 152
#define F_D0SNSRIT 153
#define F_D0ROPE 154
#define F_D0CIIAUT 155
#define F_D1NFCOM 156
#define F_D1NPER 157
#define F_D1TACOR 158
#define F_D1SNSRIT 159
#define F_D1ROPE 160
#define F_E0NFCOM 161
#define F_E0NPER 162
#define F_E0AIMP 163
#define F_E0ROPE 164
#define F_E0SNSRIT 165
#define F_E1NFCOM 166
#define F_E1NPER 167
#define F_E1SCOR 168
#define F_E1BCOM 169
#define F_E1ROPE 170
#define F_E1ACOM 171
#define F_E1BCOM2 172
#define F_E1ROPE2 173
#define F_E2NFCOM 174
#define F_E2NPER 175
#define F_E2ROPE 176
#define F_E2SSRIT 177
#define F_F0SRITA 178
#define F_F0ROPEA 179
#define F_F0TACCA 180
#define F_F0EDACCA 181
#define F_F0ERIMA 182
#define F_F0SSRITBF 183
#define F_F0ROPEBF 184
#define F_F0SSVA 185
#define F_F0ROPEVA 186
#define F_F1SSRIT 187
#define F_F1ROPE 188
#define F_F2SSRIT 189
#define F_F2ROPE 190
#define F_G0NFCOM 191
#define F_G0NAZI1 192
#define F_G0UDEN1 193
#define F_G0UNAT1 194
#define F_G0IUTI2 195
#define F_G0ROPE 196
#define F_G0USRIT3 197
#define F_G0RACC3 198
#define F_G0RIMP3 199
#define F_G0UNSRIT3 200
#define F_G0USPE 201
#define F_G0NPER 202
#define F_G1UCOR 203
#define F_G1USRIT 204
#define F_G1RACC 206
#define F_G1RIMP 207
#define F_G1UNSRIT 208
#define F_H0CODLAV 209
#define F_H0COLDIP 210
#define F_CODDITTA 211
#define F_RAGSOC 212
#define F_CODDITTAG 213
#define F_CODDITTA 101
#define F_RAGSOC 102
#define F_CODDITTAG 103
#define F_TIPOQUA1 104
#define F_TIPOQUA2 105
#define F_TIPOQUA 106
#define F_A0CRIMPRAS 214
#define F_B0CRIMPRAS 215
#define F_C0CRIMPRAS 216
#define F_D0CRIMPRAS 217
#define F_D1CRIMPRAS 218
#define F_E0CRIMPRAS 219
#define F_E1CRIMPRAS 220
#define F_E2CRIMPRAS 221
#define F_F0CRIMPRAS 222
#define F_F1CRIMPRAS 223
#define F_F2CRIMPRAS 224
#define F_G0CRIMPRAS 225
#define F_G1CRIMPRAS 226
#define F_G0UPAG 227
// riepilogo A
#define F_A0NFCOM 110
#define F_A0NLDIP 111
#define F_A0COBB 112
#define F_A0NSRIT 113
#define F_A0EPREV 114
#define F_A0RETPEN 115
#define F_A0CTER 116
#define F_A0TIMP 117
#define F_A0ILOR 118
#define F_A0TDET 119
#define F_A0RTER 120
#define F_A0RDAT 121
#define F_A0ERIT 122
#define F_A0CARR 123
#define F_A0AARR 124
#define F_A0DARR 125
#define F_A0RARR 126
#define F_A0RITSI 127
#define F_A0CINPS 128
#define F_A0RITOPEVA 129
#define F_A0RITOPESA 130
#define F_A0CIIAUT 131
#define F_A0CRIMPRAS 132
#define F_A0CRIMPL85 133
#define F_A0EUROT 134
// Quadro A-3
#define F_A3NFCOM 228
#define F_A3NUMPER 229
#define F_A3REPT10 230
#define F_A3REPT12 231
// riepilogo A bis
#define F_ABNADLAV 140
#define F_ABNACAAF 141
#define F_ABIR2R 142
#define F_ABCS2R 143
#define F_ABNFCOM 144
#define F_ABIRSA 145
#define F_ABIR1R 146
#define F_ABCSSA 147
#define F_ABCS1R 148
#define F_ABEURO 149
#define F_ABACCTS 150
// Campi maschera prospetto dati generali
#define F_DATLAV 250
#define F_ER92C93 251
#define F_ER93C94 252
#define F_ANNODIC 253
#define F_H0NQLAGG 254
#define F_NSUPPM 255
// riepilogo A3
#define F_A3NFCOM 160
#define F_A3NUMPER 161
#define F_A3REPT10 162
#define F_A3REPT12 163
// Flag quadri compilati. Attenzione a NON modificare l'ordine!
// (v. 771300.cpp e 771400a.uml e 776100.cpp)
#define F_QCOMPA 256
#define F_QCOMPA3 257
#define F_QCOMPB 258
#define F_QCOMPB1 259
#define F_QCOMPC 260
#define F_QCOMPD 261
#define F_QCOMPD1 262
#define F_QCOMPE 263
#define F_QCOMPE1 264
#define F_QCOMPE2 265
#define F_QCOMPF 266
#define F_QCOMPF1 267
#define F_QCOMPF2 268
#define F_QCOMPG 269
#define F_QCOMPG1 270
#define F_QCOMPH 271
#define F_QCOMPI 272
#define F_QCOMPA1 273
#define F_QCOMPA2 274
#define F_QCOMPN 275
#define F_QCOMPP 276
#define F_QCOMPQ 277
#define F_QCOMPR 278
#define F_QCOMPS 279
#define F_QCOMPT 280
// P.dati generali
#define F_M1 300
#define F_M2 301
#define F_M3 302
#define F_M4 303
#define F_M5 304
#define F_M6 305
// riepilogo B
#define F_B0NFCOM 170
#define F_B0NLDIP 171
#define F_B0TFR93 172
#define F_B0AI 173
#define F_B0COLAV 174
#define F_B0TFR7492 175
#define F_B0AI7492 176
#define F_B0RITSI 177
#define F_B0IMP 178
#define F_B0TIMP 179
#define F_B0ROP 180
#define F_B0AIINPS 181
#define F_B0ROPESA 182
#define F_B0CIIAUT 183
#define F_B0CRIMPRAS 184
#define F_B0CRIMPL85 185
#define F_QSUPPA 400
#define F_QSUPPA1 401
#define F_QSUPPA2 402
#define F_QSUPPA3 403
#define F_QSUPPB 404
#define F_QSUPPB1 405
#define F_QSUPPC 406
#define F_QSUPPD 407
#define F_QSUPPD1 408
#define F_QSUPPE 409
#define F_QSUPPE1 410
#define F_QSUPPE2 411
#define F_QSUPPF 412
#define F_QSUPPF1 413
#define F_QSUPPF2 414
#define F_QSUPPG 415
#define F_QSUPPG1 416
#define F_QSUPPH 417
#define F_QSUPPI 418
#define F_QSUPPL 419
#define F_QSUPPN 420
#define F_QSUPPP 421
#define F_QSUPPQ 422
#define F_QSUPPR 423
#define F_QSUPPS 424
#define F_QSUPPT 425
// riepilogo B1
#define F_B1NFCOM 190
#define F_B1NPER 191
#define F_B1TIND 192
#define F_B1TIRM 193
#define F_B1TICOM 194
#define F_TIPOQUA1 430
#define F_TIPOQUA2 431
#define F_TIPOQUA 432
// riepilogo C
#define F_C0NFCOM 200
#define F_C0NLASS 201
#define F_C0ACTOT 202
#define F_C0SNSRIT 203
#define F_C0ROPE 204
#define F_C0CIIAUT 205
#define F_C0CRIMPRAS 206
#define F_C0CONTSSN 207
#define F_C0TOTIMP 208
#define F_C0TOTDET 209
#define F_C0RITOPE 210
// Aggiunte 96
#define F_A0CRIMPL85 433
#define F_A0INCDET 434
#define F_B0CRIMPL85 435
#define F_C0CONTSSN 436
#define F_D0CRIMPL85 437
#define F_G0ROPESPET 438
// riepilogo D
#define F_D0NFCOM 220
#define F_D0NLAUT 221
#define F_D0ACTOT 222
#define F_D0SNSRIT 223
#define F_D0ROPE 224
#define F_D0CIIAUT 225
#define F_D0CRIMPRAS 226
#define F_D0CRIMPL85 227
#define F_D0NSRITRC 228
// riepilogo D bis
#define F_DBNFCOM 230
#define F_DBNPER 231
#define F_DBAMMCOR 232
#define F_DBNSRIT 233
#define F_DBNSRITRC 234
#define F_DBRITOPE 235
#define F_DBCRIMAUT 236
#define F_DBCRIMASS 237
#define F_DBCRIML85 238
// riepilogo D1
#define F_D1NFCOM 240
#define F_D1NPER 241
#define F_D1TACOR 242
#define F_D1SNSRIT 243
#define F_D1ROPE 244
#define F_D1CRIMPRAS 245
// riepilogo E
#define F_E0NFCOM 250
#define F_E0NPER 251
#define F_E0AIMP 252
#define F_E0ROPE 253
#define F_E0SNSRIT 254
#define F_E0CRIMPRAS 255
// riepilogo E1
#define F_E1NFCOM 260
#define F_E1NPER 261
#define F_E1SCOR 262
#define F_E1BCOM 263
#define F_E1ROPE 264
#define F_E1ACOM 265
#define F_E1BCOM2 266
#define F_E1ROPE2 267
#define F_E1CRIMPRAS 268
// riepilogo E2
#define F_E2NFCOM 270
#define F_E2NPER 271
#define F_E2ROPE 272
#define F_E2SSRIT 273
#define F_E2CRIMPRAS 274
// riepilogo F
#define F_F0AMMPRO 280
#define F_F0PREOPE 281
#define F_F0SSRITBF 282
#define F_F0ROPEBF 283
#define F_F0CRIMPRAS 284
// riepilogo F1
#define F_F1SSRIT 290
#define F_F1ROPE 291
#define F_F1CRIMPRAS 292
#define F_F1NFCOM 293
#define F_F1NPER 294
// riepilogo F2
#define F_F2SSRIT 300
#define F_F2ROPE 301
#define F_F2CRIMPRAS 302
// riepilogo G
#define F_G0NFCOM 310
#define F_G0UTDACOR 311
#define F_G0UTDELDIS 312
#define F_G0UTCOR1S 313
#define F_G0UTCOR2S 314
#define F_G0ROPE 315
#define F_G0UTDACOR2 316
#define F_G0RACC3 317
#define F_G0RIMP3 318
#define F_G0UNSRIT3 319
#define F_G0USPE 320
#define F_G0NPER 321
#define F_G0CRIMPRAS 322
#define F_G0UPAG 323
#define F_G0ROPESPET 324
// riepilogo G1
#define F_G1RITIV2 330
#define F_G1UTNSR1S 331
#define F_G1UTNSR2S 332
#define F_G1UTCOR1S 333
#define F_G1UTCOR2S 334
#define F_G1RITAV1 335
#define F_G1RITAV2 336
#define F_G1RITIV1 337
#define F_G1CRIMPRAS 338
// riepilogo H
#define F_H0CODLAV 340
#define F_H0COLDIP 341
// prospetto dati generali
#define F_DATLAV 400
#define F_ER92C93 401
#define F_ER93C94 402
#define F_ANNODIC 403
#define F_NSUPPM 404
#define F_M1 405
#define F_M2 406
#define F_M3 407
#define F_M4 408
#define F_M5 409
#define F_M6 410
#define F_M7 411
#define F_QLAGG 412
#define F_QNAGG 413
#define F_DICRITCER 414
// Flag quadri compilati
#define F_QCOMPA 500
#define F_QCOMPA3 501
#define F_QCOMPB 502
#define F_QCOMPB1 503
#define F_QCOMPC 504
#define F_QCOMPD 505
#define F_QCOMPD1 506
#define F_QCOMPE 507
#define F_QCOMPE1 508
#define F_QCOMPE2 509
#define F_QCOMPF 510
#define F_QCOMPF1 511
#define F_QCOMPF2 512
#define F_QCOMPG 513
#define F_QCOMPG1 514
#define F_QCOMPH 515
#define F_QCOMPI 516
#define F_QCOMPA1 517
#define F_QCOMPA2 518
#define F_QCOMPN 519
#define F_QCOMPP 520
#define F_QCOMPQ 521
#define F_QCOMPR 522
#define F_QCOMPS 523
#define F_QCOMPT 524
#define F_QCOMPAB 525
#define F_QCOMPDB 526
#define F_QCOMPU 527
#define F_QCOMPL 528
// Flag quadri inviati
#define F_QSUPPA 600
#define F_QSUPPA1 601
#define F_QSUPPA2 602
#define F_QSUPPA3 603
#define F_QSUPPB 604
#define F_QSUPPB1 605
#define F_QSUPPC 606
#define F_QSUPPD 607
#define F_QSUPPD1 608
#define F_QSUPPE 609
#define F_QSUPPE1 610
#define F_QSUPPE2 611
#define F_QSUPPF 612
#define F_QSUPPF1 613
#define F_QSUPPF2 614
#define F_QSUPPG 615
#define F_QSUPPG1 616
#define F_QSUPPH 617
#define F_QSUPPI 618
#define F_QSUPPL 619
#define F_QSUPPN 620
#define F_QSUPPP 621
#define F_QSUPPQ 622
#define F_QSUPPR 623
#define F_QSUPPS 624
#define F_QSUPPT 625
#define F_QSUPPAB 626
#define F_QSUPPDB 627
#define F_QSUPPU 628

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,3 @@
// Versione senza FIELD
#include "771300.h"
TOOLBAR "" 0 20 0 2
@ -15,7 +14,7 @@ END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "DGR"
FLAGS "DGRP"
USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
@ -30,7 +29,7 @@ END
STRING F_RAGSOC 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
FLAGS "DP"
MESSAGE COPY,2@
END
@ -47,7 +46,7 @@ END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 4 "Dati relativi al conguaglio di fine anno effettuato dai datori di lavoro"
PROMPT 0 4 "@bConguaglio di fine anno effettuato dai datori di lavoro"
END
NUMBER F_M1 15
@ -68,12 +67,12 @@ END
GROUPBOX DLG_NULL 78 6
BEGIN
PROMPT 0 8 "Prospetto riservato ai sostituti non tenuti a presentare la dichiarazione"
PROMPT 0 9 "@bProspetto riservato ai sostituti non tenuti alla presentazione.."
END
NUMBER F_M3 15
BEGIN
PROMPT 1 9 "M3 Credito di imposta ex D.L.357/94 spettante "
PROMPT 1 10 "M3 Credito di imposta ex D.L.357/94 spettante "
FIELD LF_BASEBIS->CRIMPDL
PICTURE "."
FLAGS "R"
@ -81,7 +80,7 @@ END
NUMBER F_M4 15
BEGIN
PROMPT 1 10 "M4 Credito di imposta utilizzato ai fini IVA "
PROMPT 1 11 "M4 Credito di imposta utilizzato ai fini IVA "
FIELD LF_BASEBIS->CRIMPIVA
PICTURE "."
FLAGS "R"
@ -89,7 +88,7 @@ END
NUMBER F_M5 15
BEGIN
PROMPT 1 11 "M5 Credito imposta utilizzato per versamento ritenute "
PROMPT 1 12 "M5 Credito imposta utilizzato per versamento ritenute "
FIELD LF_BASEBIS->CRIMPRIT
PICTURE "."
FLAGS "R"
@ -97,12 +96,25 @@ END
NUMBER F_M6 15
BEGIN
PROMPT 1 12 "M6 Credito di imposta residuo "
PROMPT 1 13 "M6 Credito di imposta residuo "
FIELD LF_BASEBIS->CRIMPRES
PICTURE "."
FLAGS "D"
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 0 16 "@bRitenute di cui all'art.3,comma 22,L.662/96"
END
NUMBER F_M7 15
BEGIN
PROMPT 1 17 "M7 Importo totale ritenute effettuate "
FIELD LF_BASEBIS->M7IMRITEF
PICTURE "."
FLAGS "R"
END
ENDPAGE
PAGE "Quadri compilati" -1 -1 78 18
@ -115,14 +127,14 @@ END
NUMBER DLG_NULL 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "RDG"
FLAGS "RDGP"
GROUP 1
END
STRING DLG_NULL 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
FLAGS "DP"
GROUP 2
END
@ -133,187 +145,198 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 1 4 "Il sottoscritto dichiara di aver corrisposto a dipendenti e terzi nell'anno"
PROMPT 1 4 "Il sottoscritto dichiara di aver compilato i seguenti quadri"
END
NUMBER F_ANNODIC 4
BEGIN
PROMPT 1 5 ""
FLAGS "RD"
END
TEXT DLG_NULL
BEGIN
PROMPT 7 5 "le somme e i valori e di aver effettuato le ritenute indicate"
END
TEXT DLG_NULL
BEGIN
PROMPT 7 6 "nei quadri:"
END
#define RA 8
#define RB 9
#define RC0 11
#define RC1 12
#define RD 13
#define RA 6
#define RB 7
#define RC 8
BOOLEAN F_QCOMPA
BEGIN
PROMPT 2 RA "A"
END
BOOLEAN F_QCOMPA3
BOOLEAN F_QCOMPAB
BEGIN
PROMPT 8 RA "A3"
END
BOOLEAN F_QCOMPB
BEGIN
PROMPT 14 RA "B"
END
BOOLEAN F_QCOMPB1
BEGIN
PROMPT 20 RA "B1"
END
BOOLEAN F_QCOMPC
BEGIN
PROMPT 26 RA "C"
END
BOOLEAN F_QCOMPD
BEGIN
PROMPT 32 RA "D"
END
BOOLEAN F_QCOMPD1
BEGIN
PROMPT 38 RA "D1"
END
BOOLEAN F_QCOMPE
BEGIN
PROMPT 44 RA "E"
END
BOOLEAN F_QCOMPE1
BEGIN
PROMPT 50 RA "E1"
END
BOOLEAN F_QCOMPE2
BEGIN
PROMPT 56 RA "E2"
END
BOOLEAN F_QCOMPF
BEGIN
PROMPT 62 RA "F"
END
BOOLEAN F_QCOMPF1
BEGIN
PROMPT 68 RA "F1"
END
BOOLEAN F_QCOMPF2
BEGIN
PROMPT 2 RB "F2"
END
BOOLEAN F_QCOMPG
BEGIN
PROMPT 8 RB "G"
END
BOOLEAN F_QCOMPG1
BEGIN
PROMPT 14 RB "G1"
END
BOOLEAN F_QCOMPH
BEGIN
PROMPT 20 RB "H"
END
BOOLEAN F_QCOMPI
BEGIN
PROMPT 26 RB "I"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 RC0 "Inoltre dichiara di aver effettuato i conguagli conseguenti all'assistenza"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 RC1 "fiscale indicati nel quadro A e nei quadri"
PROMPT 8 RA "Ab"
END
BOOLEAN F_QCOMPA1
BEGIN
PROMPT 2 RD "A1"
PROMPT 14 RA "A1"
END
BOOLEAN F_QCOMPA2
BEGIN
PROMPT 8 RD "A2"
PROMPT 20 RA "A2"
END
BOOLEAN F_QCOMPA3
BEGIN
PROMPT 26 RA "A3"
END
BOOLEAN F_QCOMPB
BEGIN
PROMPT 32 RA "B"
END
BOOLEAN F_QCOMPB1
BEGIN
PROMPT 38 RA "B1"
END
BOOLEAN F_QCOMPC
BEGIN
PROMPT 44 RA "C"
END
BOOLEAN F_QCOMPD
BEGIN
PROMPT 50 RA "D"
END
BOOLEAN F_QCOMPDB
BEGIN
PROMPT 56 RA "Db"
END
BOOLEAN F_QCOMPD1
BEGIN
PROMPT 62 RA "D1"
END
BOOLEAN F_QCOMPE
BEGIN
PROMPT 68 RA "E"
END
BOOLEAN F_QCOMPE1
BEGIN
PROMPT 2 RB "E1"
END
BOOLEAN F_QCOMPE2
BEGIN
PROMPT 8 RB "E2"
END
BOOLEAN F_QCOMPF
BEGIN
PROMPT 14 RB "F"
END
BOOLEAN F_QCOMPF1
BEGIN
PROMPT 20 RB "F1"
END
BOOLEAN F_QCOMPF2
BEGIN
PROMPT 26 RB "F2"
END
BOOLEAN F_QCOMPG
BEGIN
PROMPT 32 RB "G"
END
BOOLEAN F_QCOMPG1
BEGIN
PROMPT 38 RB "G1"
END
BOOLEAN F_QCOMPH
BEGIN
PROMPT 44 RB "H"
END
BOOLEAN F_QCOMPI
BEGIN
PROMPT 50 RB "I"
END
BOOLEAN F_QCOMPL
BEGIN
PROMPT 56 RB "L"
END
BOOLEAN F_QCOMPN
BEGIN
PROMPT 14 RD "N"
PROMPT 62 RB "N"
END
BOOLEAN F_QCOMPP
BEGIN
PROMPT 20 RD "P"
PROMPT 68 RB "P"
END
BOOLEAN F_QCOMPQ
BEGIN
PROMPT 26 RD "Q"
PROMPT 2 RC "Q"
END
BOOLEAN F_QCOMPR
BEGIN
PROMPT 32 RD "R"
PROMPT 8 RC "R"
END
BOOLEAN F_QCOMPS
BEGIN
PROMPT 38 RD "S"
PROMPT 14 RC "S"
END
BOOLEAN F_QCOMPT
BEGIN
PROMPT 44 RD "T"
PROMPT 20 RC "T"
END
BOOLEAN F_QCOMPU
BEGIN
PROMPT 26 RC "U"
END
NUMBER F_QLAGG 4
BEGIN
PROMPT 1 10 "nonchè n."
FLAGS "RDP"
END
NUMBER F_QNAGG 4
BEGIN
PROMPT 16 10 "quadri L aggiuntivi e n."
FLAGS "RDP"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 15 "Dichiara altresì di aver eseguito i versamenti risultanti dai quadri L,P,Q,"
PROMPT 46 10 "quadri N,P,Q,R,S,T aggiuntivi."
END
NUMBER F_NSUPPM 4
BEGIN
PROMPT 1 12 "Dichiara di aver presentato la dichiarazione mediante n."
FIELD LF_BASEBIS->NSUPPM
END
TEXT DLG_NULL
BEGIN
PROMPT 1 16 "S,T e da n. "
PROMPT 62 12 "supp.magnetici."
END
NUMBER F_H0NQLAGG 4
NUMBER F_ANNODIC 4
BEGIN
PROMPT 13 16 ""
FIELD LF_BASEBIS->H0NQLAGG
PROMPT 1 14 "Dichiara altresì che le ritenute effettuate nel "
FLAGS "RD"
END
NUMBER F_DICRITCER 15
BEGIN
PROMPT 1 15 "sono state certificate per il seguente importo "
FIELD LF_BASE->DICRITCER
PICTURE "."
FLAGS "R"
//FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 19 16 "quadri aggiuntivi."
END
ENDPAGE
@ -328,25 +351,25 @@ END
NUMBER DLG_NULL 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "RDG"
FLAGS "RDGP"
GROUP 1
END
STRING DLG_NULL 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
FLAGS "DP"
GROUP 2
END
GROUPBOX DLG_NULL 78 10
GROUPBOX DLG_NULL 78 8
BEGIN
PROMPT 0 3 ""
END
TEXT DLG_NULL
BEGIN
PROMPT 1 4 "Il sottoscritto dichiara di aver presentato i quadri"
PROMPT 1 4 "Il sottoscritto dichiara di aver inviato i seguenti quadri"
END
BOOLEAN F_QSUPPA
@ -354,145 +377,144 @@ BEGIN
PROMPT 2 6 "A"
END
BOOLEAN F_QSUPPAB
BEGIN
PROMPT 8 6 "Ab"
END
BOOLEAN F_QSUPPA1
BEGIN
PROMPT 8 6 "A1"
PROMPT 14 6 "A1"
END
BOOLEAN F_QSUPPA2
BEGIN
PROMPT 14 6 "A2"
PROMPT 20 6 "A2"
END
BOOLEAN F_QSUPPA3
BEGIN
PROMPT 20 6 "A3"
PROMPT 26 6 "A3"
END
BOOLEAN F_QSUPPB
BEGIN
PROMPT 26 6 "B"
PROMPT 32 6 "B"
END
BOOLEAN F_QSUPPB1
BEGIN
PROMPT 32 6 "B1"
PROMPT 38 6 "B1"
END
BOOLEAN F_QSUPPC
BEGIN
PROMPT 38 6 "C"
PROMPT 44 6 "C"
END
BOOLEAN F_QSUPPD
BEGIN
PROMPT 44 6 "D"
PROMPT 50 6 "D"
END
BOOLEAN F_QSUPPDB
BEGIN
PROMPT 56 6 "Db"
END
BOOLEAN F_QSUPPD1
BEGIN
PROMPT 50 6 "D1"
PROMPT 62 6 "D1"
END
BOOLEAN F_QSUPPE
BEGIN
PROMPT 56 6 "E"
PROMPT 68 6 "E"
END
BOOLEAN F_QSUPPE1
BEGIN
PROMPT 62 6 "E1"
PROMPT 2 7 "E1"
END
BOOLEAN F_QSUPPE2
BEGIN
PROMPT 68 6 "E2"
PROMPT 8 7 "E2"
END
BOOLEAN F_QSUPPF
BEGIN
PROMPT 2 7 "F"
PROMPT 14 7 "F"
END
BOOLEAN F_QSUPPF1
BEGIN
PROMPT 8 7 "F1"
PROMPT 20 7 "F1"
END
BOOLEAN F_QSUPPF2
BEGIN
PROMPT 14 7 "F2"
PROMPT 26 7 "F2"
END
BOOLEAN F_QSUPPG
BEGIN
PROMPT 20 7 "G"
PROMPT 32 7 "G"
END
BOOLEAN F_QSUPPG1
BEGIN
PROMPT 26 7 "G1"
PROMPT 38 7 "G1"
END
BOOLEAN F_QSUPPH
BEGIN
PROMPT 32 7 "H"
PROMPT 44 7 "H"
END
BOOLEAN F_QSUPPI
BEGIN
PROMPT 38 7 "I"
PROMPT 50 7 "I"
END
BOOLEAN F_QSUPPL
BEGIN
PROMPT 44 7 "L"
PROMPT 56 7 "L"
END
BOOLEAN F_QSUPPN
BEGIN
PROMPT 50 7 "N"
PROMPT 62 7 "N"
END
BOOLEAN F_QSUPPP
BEGIN
PROMPT 56 7 "P"
PROMPT 68 7 "P"
END
BOOLEAN F_QSUPPQ
BEGIN
PROMPT 62 7 "Q"
PROMPT 2 8 "Q"
END
BOOLEAN F_QSUPPR
BEGIN
PROMPT 68 7 "R"
PROMPT 8 8 "R"
END
BOOLEAN F_QSUPPS
BEGIN
PROMPT 2 8 "S"
PROMPT 14 8 "S"
END
BOOLEAN F_QSUPPT
BEGIN
PROMPT 8 8 "T"
PROMPT 20 8 "T"
END
TEXT DLG_NULL
BOOLEAN F_QSUPPU
BEGIN
PROMPT 1 10 "mediante n. "
END
NUMBER F_NSUPPM 4
BEGIN
PROMPT 13 10 ""
FIELD LF_BASEBIS->NSUPPM
END
TEXT DLG_NULL
BEGIN
PROMPT 19 10 "supporti magnetici."
PROMPT 26 8 "U"
END
ENDPAGE

View File

@ -2,41 +2,20 @@
#include "771300.h"
TOOLBAR "" 0 20 0 2
BUTTON DLG_SAVEREC 10 2
BEGIN
PROMPT -15 -1 ""
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -45 -1 ""
MESSAGE EXIT,K_ESC
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -55 -1 ""
MESSAGE EXIT,K_QUIT
END
#include "toolbar.h"
ENDPAGE
PAGE "Prospetto dati generali" -1 -1 78 18
PAGE "Quadri compilati" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 0 0 ""
FLAGS "R"
PROMPT 1 0 ""
END
NUMBER F_CODDITTA 5
BEGIN
PROMPT 2 1 "Ditta "
FLAGS "DGR"
PROMPT 3 1 "Ditta "
FLAGS "DGRP"
USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
@ -50,8 +29,8 @@ END
STRING F_RAGSOC 50
BEGIN
PROMPT 2 2 "Ragione sociale "
FLAGS "D"
PROMPT 17 1 "Ragione "
FLAGS "DP"
MESSAGE COPY,2@
END
@ -62,7 +41,25 @@ BEGIN
FLAGS "D"
KEY 1
FIELD LF_BASEBIS->TIPOQUA
// CHECKTYPE REQUIRED
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER DLG_NULL 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "RDGP"
GROUP 1
END
STRING DLG_NULL 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "DP"
GROUP 2
END
GROUPBOX DLG_NULL 78 15
@ -72,418 +69,376 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 1 4 "Il sottoscritto dichiara di aver corrisposto a dipendenti e terzi nell'anno"
PROMPT 1 4 "Il sottoscritto dichiara di aver compilato i seguenti quadri"
END
NUMBER F_ANNODIC 4
BEGIN
PROMPT 1 5 ""
FLAGS "RD"
END
TEXT DLG_NULL
BEGIN
PROMPT 7 5 "le somme e i valori e di aver effettuato le ritenute indicate"
END
TEXT DLG_NULL
BEGIN
PROMPT 7 6 "nei quadri:"
END
#define RA 8
#define RB 9
#define RC0 11
#define RC1 12
#define RD 13
#define RA 6
#define RB 7
#define RC 8
BOOLEAN F_QCOMPA
BEGIN
PROMPT 2 RA "A"
FIELD LF_BASEBIS->QCOMP[1,1]
END
BOOLEAN F_QCOMPA3
BOOLEAN F_QCOMPAB
BEGIN
PROMPT 8 RA "A3"
FIELD LF_BASEBIS->QCOMP[25,1]
END
BOOLEAN F_QCOMPB
BEGIN
PROMPT 14 RA "B"
FIELD LF_BASEBIS->QCOMP[2,1]
END
BOOLEAN F_QCOMPB1
BEGIN
PROMPT 20 RA "B1"
FIELD LF_BASEBIS->QCOMP[3,1]
END
BOOLEAN F_QCOMPC
BEGIN
PROMPT 26 RA "C"
FIELD LF_BASEBIS->QCOMP[4,1]
END
BOOLEAN F_QCOMPD
BEGIN
PROMPT 32 RA "D"
FIELD LF_BASEBIS->QCOMP[5,1]
END
BOOLEAN F_QCOMPD1
BEGIN
PROMPT 38 RA "D1"
FIELD LF_BASEBIS->QCOMP[6,1]
END
BOOLEAN F_QCOMPE
BEGIN
PROMPT 44 RA "E"
FIELD LF_BASEBIS->QCOMP[7,1]
END
BOOLEAN F_QCOMPE1
BEGIN
PROMPT 50 RA "E1"
FIELD LF_BASEBIS->QCOMP[8,1]
END
BOOLEAN F_QCOMPE2
BEGIN
PROMPT 56 RA "E2"
FIELD LF_BASEBIS->QCOMP[9,1]
END
BOOLEAN F_QCOMPF
BEGIN
PROMPT 62 RA "F"
FIELD LF_BASEBIS->QCOMP[10,1]
END
BOOLEAN F_QCOMPF1
BEGIN
PROMPT 68 RA "F1"
FIELD LF_BASEBIS->QCOMP[11,1]
END
BOOLEAN F_QCOMPF2
BEGIN
PROMPT 2 RB "F2"
FIELD LF_BASEBIS->QCOMP[12,1]
END
BOOLEAN F_QCOMPG
BEGIN
PROMPT 8 RB "G"
FIELD LF_BASEBIS->QCOMP[13,1]
END
BOOLEAN F_QCOMPG1
BEGIN
PROMPT 14 RB "G1"
FIELD LF_BASEBIS->QCOMP[14,1]
END
BOOLEAN F_QCOMPH
BEGIN
PROMPT 20 RB "H"
FIELD LF_BASEBIS->QCOMP[15,1]
END
BOOLEAN F_QCOMPI
BEGIN
PROMPT 26 RB "I"
FIELD LF_BASEBIS->QCOMP[16,1]
END
TEXT DLG_NULL
BEGIN
PROMPT 1 RC0 "Inoltre dichiara di aver effettuato i conguagli conseguenti all'assistenza"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 RC1 "fiscale indicati nel quadro A e nei quadri"
PROMPT 8 RA "Ab"
END
BOOLEAN F_QCOMPA1
BEGIN
PROMPT 2 RD "A1"
FIELD LF_BASEBIS->QCOMP[23,1]
PROMPT 14 RA "A1"
END
BOOLEAN F_QCOMPA2
BEGIN
PROMPT 8 RD "A2"
FIELD LF_BASEBIS->QCOMP[24,1]
PROMPT 20 RA "A2"
END
BOOLEAN F_QCOMPA3
BEGIN
PROMPT 26 RA "A3"
END
BOOLEAN F_QCOMPB
BEGIN
PROMPT 32 RA "B"
END
BOOLEAN F_QCOMPB1
BEGIN
PROMPT 38 RA "B1"
END
BOOLEAN F_QCOMPC
BEGIN
PROMPT 44 RA "C"
END
BOOLEAN F_QCOMPD
BEGIN
PROMPT 50 RA "D"
END
BOOLEAN F_QCOMPDB
BEGIN
PROMPT 56 RA "Db"
END
BOOLEAN F_QCOMPD1
BEGIN
PROMPT 62 RA "D1"
END
BOOLEAN F_QCOMPE
BEGIN
PROMPT 68 RA "E"
END
BOOLEAN F_QCOMPE1
BEGIN
PROMPT 2 RB "E1"
END
BOOLEAN F_QCOMPE2
BEGIN
PROMPT 8 RB "E2"
END
BOOLEAN F_QCOMPF
BEGIN
PROMPT 14 RB "F"
END
BOOLEAN F_QCOMPF1
BEGIN
PROMPT 20 RB "F1"
END
BOOLEAN F_QCOMPF2
BEGIN
PROMPT 26 RB "F2"
END
BOOLEAN F_QCOMPG
BEGIN
PROMPT 32 RB "G"
END
BOOLEAN F_QCOMPG1
BEGIN
PROMPT 38 RB "G1"
END
BOOLEAN F_QCOMPH
BEGIN
PROMPT 44 RB "H"
END
BOOLEAN F_QCOMPI
BEGIN
PROMPT 50 RB "I"
END
BOOLEAN F_QCOMPL
BEGIN
PROMPT 56 RB "L"
END
BOOLEAN F_QCOMPN
BEGIN
PROMPT 14 RD "N"
FIELD LF_BASEBIS->QCOMP[17,1]
PROMPT 62 RB "N"
END
BOOLEAN F_QCOMPP
BEGIN
PROMPT 20 RD "P"
FIELD LF_BASEBIS->QCOMP[18,1]
PROMPT 68 RB "P"
END
BOOLEAN F_QCOMPQ
BEGIN
PROMPT 26 RD "Q"
FIELD LF_BASEBIS->QCOMP[19,1]
PROMPT 2 RC "Q"
END
BOOLEAN F_QCOMPR
BEGIN
PROMPT 32 RD "R"
FIELD LF_BASEBIS->QCOMP[20,1]
PROMPT 8 RC "R"
END
BOOLEAN F_QCOMPS
BEGIN
PROMPT 38 RD "S"
FIELD LF_BASEBIS->QCOMP[21,1]
PROMPT 14 RC "S"
END
BOOLEAN F_QCOMPT
BEGIN
PROMPT 44 RD "T"
FIELD LF_BASEBIS->QCOMP[22,1]
PROMPT 20 RC "T"
END
BOOLEAN F_QCOMPU
BEGIN
PROMPT 26 RC "U"
END
NUMBER F_QLAGG 4
BEGIN
PROMPT 1 10 "nonchè n."
FLAGS "RDP"
END
NUMBER F_QNAGG 4
BEGIN
PROMPT 16 10 "quadri L aggiuntivi e n."
FLAGS "RDP"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 15 "Dichiara altresì di aver eseguito i versamenti risultanti dai quadri L,P,Q,"
PROMPT 46 10 "quadri N,P,Q,R,S,T aggiuntivi."
END
NUMBER F_NSUPPM 4
BEGIN
PROMPT 1 12 "Dichiara di aver presentato la dichiarazione mediante n."
FIELD LF_BASEBIS->NSUPPM
END
TEXT DLG_NULL
BEGIN
PROMPT 1 16 "S,T e da n. "
PROMPT 62 12 "supp.magnetici."
END
NUMBER F_H0NQLAGG 4
NUMBER F_ANNODIC 4
BEGIN
PROMPT 13 16 ""
FIELD LF_BASEBIS->H0NQLAGG
PROMPT 1 14 "Dichiara altresì che le ritenute effettuate nel "
FLAGS "RD"
END
NUMBER F_DICRITCER 15
BEGIN
PROMPT 1 15 "sono state certificate per il seguente importo "
FIELD LF_BASE->DICRITCER
PICTURE "."
FLAGS "R"
//FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 19 16 "quadri aggiuntivi."
END
ENDPAGE
PAGE "Prospetto dati generali" -1 -1 78 18
PAGE "Quadri inviati" -1 -1 78 18
GROUPBOX DLG_NULL 78 4
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 0 0 ""
FLAGS "R"
PROMPT 1 0 ""
END
NUMBER DLG_NULL 5
BEGIN
PROMPT 2 1 "Ditta "
FLAGS "RDG"
PROMPT 3 1 "Ditta "
FLAGS "RDGP"
GROUP 1
END
STRING DLG_NULL 50
BEGIN
PROMPT 2 2 "Ragione sociale "
FLAGS "D"
PROMPT 17 1 "Ragione "
FLAGS "DP"
GROUP 2
END
GROUPBOX DLG_NULL 78 10
GROUPBOX DLG_NULL 78 8
BEGIN
PROMPT 0 3 ""
END
TEXT DLG_NULL
BEGIN
PROMPT 1 4 "Il sottoscritto dichiara di aver presentato i quadri"
PROMPT 1 4 "Il sottoscritto dichiara di aver inviato i seguenti quadri"
END
BOOLEAN F_QSUPPA
BEGIN
PROMPT 2 6 "A"
FIELD LF_BASEBIS->QSUPPINV[1,1]
END
BOOLEAN F_QSUPPAB
BEGIN
PROMPT 8 6 "Ab"
END
BOOLEAN F_QSUPPA1
BEGIN
PROMPT 8 6 "A1"
FIELD LF_BASEBIS->QSUPPINV[2,1]
PROMPT 14 6 "A1"
END
BOOLEAN F_QSUPPA2
BEGIN
PROMPT 14 6 "A2"
FIELD LF_BASEBIS->QSUPPINV[3,1]
PROMPT 20 6 "A2"
END
BOOLEAN F_QSUPPA3
BEGIN
PROMPT 20 6 "A3"
FIELD LF_BASEBIS->QSUPPINV[4,1]
PROMPT 26 6 "A3"
END
BOOLEAN F_QSUPPB
BEGIN
PROMPT 26 6 "B"
FIELD LF_BASEBIS->QSUPPINV[5,1]
PROMPT 32 6 "B"
END
BOOLEAN F_QSUPPB1
BEGIN
PROMPT 32 6 "B1"
FIELD LF_BASEBIS->QSUPPINV[6,1]
PROMPT 38 6 "B1"
END
BOOLEAN F_QSUPPC
BEGIN
PROMPT 38 6 "C"
FIELD LF_BASEBIS->QSUPPINV[7,1]
PROMPT 44 6 "C"
END
BOOLEAN F_QSUPPD
BEGIN
PROMPT 44 6 "D"
FIELD LF_BASEBIS->QSUPPINV[8,1]
PROMPT 50 6 "D"
END
BOOLEAN F_QSUPPDB
BEGIN
PROMPT 56 6 "Db"
END
BOOLEAN F_QSUPPD1
BEGIN
PROMPT 50 6 "D1"
FIELD LF_BASEBIS->QSUPPINV[9,1]
PROMPT 62 6 "D1"
END
BOOLEAN F_QSUPPE
BEGIN
PROMPT 56 6 "E"
FIELD LF_BASEBIS->QSUPPINV[10,1]
PROMPT 68 6 "E"
END
BOOLEAN F_QSUPPE1
BEGIN
PROMPT 62 6 "E1"
FIELD LF_BASEBIS->QSUPPINV[11,1]
PROMPT 2 7 "E1"
END
BOOLEAN F_QSUPPE2
BEGIN
PROMPT 68 6 "E2"
FIELD LF_BASEBIS->QSUPPINV[12,1]
PROMPT 8 7 "E2"
END
BOOLEAN F_QSUPPF
BEGIN
PROMPT 2 7 "F"
FIELD LF_BASEBIS->QSUPPINV[13,1]
PROMPT 14 7 "F"
END
BOOLEAN F_QSUPPF1
BEGIN
PROMPT 8 7 "F1"
FIELD LF_BASEBIS->QSUPPINV[14,1]
PROMPT 20 7 "F1"
END
BOOLEAN F_QSUPPF2
BEGIN
PROMPT 14 7 "F2"
FIELD LF_BASEBIS->QSUPPINV[15,1]
PROMPT 26 7 "F2"
END
BOOLEAN F_QSUPPG
BEGIN
PROMPT 20 7 "G"
FIELD LF_BASEBIS->QSUPPINV[16,1]
PROMPT 32 7 "G"
END
BOOLEAN F_QSUPPG1
BEGIN
PROMPT 26 7 "G1"
FIELD LF_BASEBIS->QSUPPINV[17,1]
PROMPT 38 7 "G1"
END
BOOLEAN F_QSUPPH
BEGIN
PROMPT 32 7 "H"
FIELD LF_BASEBIS->QSUPPINV[18,1]
PROMPT 44 7 "H"
END
BOOLEAN F_QSUPPI
BEGIN
PROMPT 38 7 "I"
FIELD LF_BASEBIS->QSUPPINV[19,1]
PROMPT 50 7 "I"
END
BOOLEAN F_QSUPPL
BEGIN
PROMPT 44 7 "L"
FIELD LF_BASEBIS->QSUPPINV[20,1]
PROMPT 56 7 "L"
END
BOOLEAN F_QSUPPN
BEGIN
PROMPT 50 7 "N"
FIELD LF_BASEBIS->QSUPPINV[21,1]
PROMPT 62 7 "N"
END
BOOLEAN F_QSUPPP
BEGIN
PROMPT 56 7 "P"
FIELD LF_BASEBIS->QSUPPINV[22,1]
PROMPT 68 7 "P"
END
BOOLEAN F_QSUPPQ
BEGIN
PROMPT 62 7 "Q"
FIELD LF_BASEBIS->QSUPPINV[23,1]
PROMPT 2 8 "Q"
END
BOOLEAN F_QSUPPR
BEGIN
PROMPT 68 7 "R"
FIELD LF_BASEBIS->QSUPPINV[24,1]
PROMPT 8 8 "R"
END
BOOLEAN F_QSUPPS
BEGIN
PROMPT 2 8 "S"
FIELD LF_BASEBIS->QSUPPINV[25,1]
PROMPT 14 8 "S"
END
BOOLEAN F_QSUPPT
BEGIN
PROMPT 8 8 "T"
FIELD LF_BASEBIS->QSUPPINV[26,1]
PROMPT 20 8 "T"
END
TEXT DLG_NULL
BOOLEAN F_QSUPPU
BEGIN
PROMPT 1 10 "mediante n. "
END
NUMBER F_NSUPPM 4
BEGIN
PROMPT 13 10 ""
FIELD LF_BASEBIS->NSUPPM
END
TEXT DLG_NULL
BEGIN
PROMPT 19 10 "supporti magnetici."
PROMPT 26 8 "U"
END
ENDPAGE

View File

@ -20,6 +20,7 @@ int main(int argc,char** argv)
default:
error_box(usage, argv[0]) ;
}
exit(0);
return 0;
}

View File

@ -18,7 +18,6 @@
//
#include <applicat.h>
#include <mask.h>
#include <printapp.h>
#include <progind.h>
#include <relation.h>
#include <tabutil.h>
@ -26,6 +25,8 @@
#include <config.h>
#include <urldefid.h>
#include <recarray.h>
#include <xvtility.h>
#include "774200.h"
#include "quadroa.h"
#include "quadroa3.h"
@ -56,18 +57,15 @@ HIDDEN TRiporti* this_riporti = NULL;
HIDDEN TString80 __tmp;
// Costanti usate per il calcolo dei fogli compilati
HIDDEN const int QE2_FISICHE_PER_FOGLIO = 16;
HIDDEN const int QE2_NOFISICHE_PER_FOGLIO = 9;
HIDDEN const int QGD_FISICHE_PER_FOGLIO = 5;
HIDDEN const int QGD_NOFISICHE_PER_FOGLIO = 6;
HIDDEN const int QD1_FISICHE_PER_FOGLIO = 24;
HIDDEN const int QD1_NOFISICHE_PER_FOGLIO = 8;
HIDDEN const int QD_FISICHE_PER_FOGLIO = 18;
HIDDEN const int QD_NOFISICHE_PER_FOGLIO = 6;
HIDDEN const int QE_FISICHE_PER_FOGLIO = 26;
HIDDEN const int QE_NOFISICHE_PER_FOGLIO = 8;
HIDDEN const int QE1_PERCIPIENTI_PER_FOGLIO = 25;
HIDDEN const int QE1_RIGHE_PROSPETTO = 17;
const int QC_PERCIPIENTI_PER_FOGLIO = 27;
const int QD_PERCIPIENTI_PER_FOGLIO = 22;
const int QDB_PERCIPIENTI_PER_FOGLIO = 22;
const int QD1_PERCIPIENTI_PER_FOGLIO = 27;
const int QE_PERCIPIENTI_PER_FOGLIO = 27;
const int QE1_PERCIPIENTI_PER_FOGLIO = 25;
const int QE2_PERCIPIENTI_PER_FOGLIO = 13;
const int QGD_FISICHE_PER_FOGLIO = 5;
const int QGD_NOFISICHE_PER_FOGLIO = 6;
HIDDEN long fogli_compilati(const long fisiche, const long nofisiche, const int fisiche_x_foglio, const int nofisiche_x_foglio);
HIDDEN const char* build_fill_string(TString& qcomp);
@ -153,13 +151,182 @@ int riporti_dich(int argc, char* argv[])
const char* build_fill_string(TString& qcomp)
{
// NB cambiare qui il numero dei quadri
const int NUM_QUADRI = 25; // sono 26 posizioni perche' parte da 0
const int NUM_QUADRI = 28; // sono 29 posizioni perche' parte da 0
const int agg = NUM_QUADRI - qcomp.len();
__tmp.cut(agg);
__tmp.fill(' ', agg);
return __tmp;
}
///////////////////////////////////////////////////////////
// TConta_persone
///////////////////////////////////////////////////////////
class TConta_persone
{
TRelation _rel;
TLocalisamfile _base, _basebis;
long _firm;
TRectype _totale, _totale_f, _totale_g;
long _righe, _fisici, _giuridici;
long _fisici_distinti, _giuridici_distinti;
public:
void sum(TRectype& dst, const TRectype& src) const;
int read_base(const long dich);
long compute();
TLocalisamfile& base() { return _base; }
int read_basebis(const long dich);
TLocalisamfile& basebis() { return _basebis; }
long persone_fisiche() const { return _fisici; }
long persone_giuridiche() const { return _giuridici; }
long righe() const { return _righe; }
long persone_fisiche_distinte() const { return _fisici_distinti; }
long persone_giuridiche_distinte() const { return _giuridici_distinti; }
long persone_distinte() const { return _fisici_distinti + _giuridici_distinti; }
const TRectype& totale_fisiche() const { return _totale_f; }
const TRectype& totale_giuridiche() const { return _totale_f; }
const TRectype& totale() const { return _totale; }
int fogli_compilati(int fis, int giu = 0) const;
TConta_persone(int logicnum, long firm);
};
TConta_persone::TConta_persone(int logicnum, long firm)
: _rel(logicnum), _firm(firm),
_totale(logicnum), _totale_f(logicnum), _totale_g(logicnum),
_base(LF_BASE), _basebis(LF_BASEBIS)
{
}
void TConta_persone::sum(TRectype& dst, const TRectype& src) const
{
for (int i = dst.items()-1; i >= 0; i--)
{
const char* name = dst.fieldname(i);
if (dst.type(name) == _realfld && dst.length(name) >= 9)
{
real num = dst.get_real(name);
num += src.get_real(name);
dst.put(name, num);
}
}
}
int TConta_persone::read_base(const long dich)
{
_base.setkey(1);
_base.zero();
if (dich)
{
_base.put("TIPOQUA", COD_QUA_I_DIC);
_base.put(BSE_CODDITTA, dich);
}
else
_base.put(BSE_CODDITTA, _firm);
int err = _base.read(_isequal, _lock);
if (err != NOERR)
error_box("Immpossibile aggiornare la dichiarazione della ditta %ld.",
dich ? dich : _firm);
return err;
}
int TConta_persone::read_basebis(const long dich)
{
_basebis.setkey(1);
_basebis.zero();
if (dich)
{
_basebis.put("TIPOQUA", COD_QUA_I_DIC);
_basebis.put(BSE_CODDITTA, dich);
}
else
_basebis.put(BSE_CODDITTA, _firm);
int err = _basebis.read(_isequal, _lock);
if (err != NOERR)
error_box("Immpossibile aggiornare la dichiarazione della ditta %ld.",
dich ? dich : _firm);
return err;
}
long TConta_persone::compute()
{
TWait_cursor hourglass;
TString80 str;
str.format("CODDITTA=%ld", _firm);
TCursor cur(&_rel, str);
_righe = cur.items();
str.cut(0);
str << "Calcolo riporti del " << _rel.lfile().description()
<< "della ditta " << _firm;
TProgind pi(_righe, str, FALSE, TRUE, 60);
TAssoc_array fisici, giuridici;
_totale_f.zero();
_totale_g.zero();
TRectype& curr = cur.curr();
long i;
for (i = 0, cur = 0; i < _righe; i++, ++cur)
{
pi.addstatus(1);
char tipoa = curr.get_char("TIPOA");
const TString& cod = curr.get("CODANAGR");
if (tipoa == 'F')
{
_fisici++;
fisici.add(cod);
sum(_totale_f, curr);
}
else
{
_giuridici++;
giuridici.add(cod);
sum(_totale_g, curr);
}
}
_totale = _totale_f;
sum(_totale, _totale_g);
_fisici_distinti = fisici.items();
_giuridici_distinti = giuridici.items();
return _righe;
}
int TConta_persone::fogli_compilati(int fis, int giu) const
{
int fogli = 0;
if (_righe > 0)
{
if (giu > 0)
{
int fogli_fis = int((_fisici - 1) / fis + (_fisici > 0));
int fogli_giu = int((_giuridici - 1) / giu + (_giuridici > 0));
fogli = fogli_fis > fogli_giu ? fogli_fis : fogli_giu;
}
else
fogli = int((_righe - 1) / fis + 1);
}
return fogli;
}
///////////////////////////////////////////////////////////
// TRiporti
///////////////////////////////////////////////////////////
void TRiporti::setta_flag_quadri_comp(const long codditta, const int quadro, const bool almeno_una_riga, TLocalisamfile& basebis, const long dich)
{
/*
@ -526,6 +693,9 @@ bool TRiporti::set(const TString& quadro, int anno, const long codditta, const l
_annodic = anno ? anno : anno_770();
_quadro = quadro;
// Filtro magico uguale per tutti
filt.format("CODDITTA=%ld", _codditta);
this_riporti = this;
if (quadro == "A" || quadro == "*")
@ -594,56 +764,37 @@ bool TRiporti::set(const TString& quadro, int anno, const long codditta, const l
if (quadro == "C" || quadro == "*")
{
rel = new TRelation (LF_QUAC);
filt.format("CODDITTA=%ld", _codditta);
cur = new TCursor(rel,filt,1);
calcola_riporti_C (cur, dichiarante);
delete cur; delete rel;
calcola_riporti_C(dichiarante);
}
if (quadro == "D" || quadro == "*")
{
rel = new TRelation (LF_QUAD);
filt.format("CODDITTA=%ld", _codditta);
cur = new TCursor(rel,filt,1);
calcola_riporti_D (cur, dichiarante);
delete cur; delete rel;
calcola_riporti_D(dichiarante);
}
if (quadro == "DB" || quadro == "*")
{
calcola_riporti_Dbis(dichiarante);
}
if (quadro == "D1" || quadro == "*")
{
rel = new TRelation (LF_QUAD1);
filt.format("CODDITTA=%ld", _codditta);
cur = new TCursor(rel,filt,1);
calcola_riporti_D1 (cur, dichiarante);
delete cur; delete rel;
calcola_riporti_D1(dichiarante);
}
if (quadro == "E" || quadro == "*")
{
rel = new TRelation (LF_QUAE);
filt.format("CODDITTA=%ld", _codditta);
cur = new TCursor(rel,filt,1);
calcola_riporti_E (cur, dichiarante);
delete cur; delete rel;
calcola_riporti_E(dichiarante);
}
if (quadro == "E1" || quadro == "*")
{
rel = new TRelation (LF_QUAE1);
filt.format("CODDITTA=%ld", _codditta);
cur = new TCursor(rel,filt,1);
calcola_riporti_E1 (cur, dichiarante);
delete cur; delete rel;
calcola_riporti_E1(dichiarante);
}
if (quadro == "E2" || quadro == "*")
{
rel = new TRelation (LF_QUAE2);
filt.format("CODDITTA=%ld", _codditta);
cur = new TCursor(rel,filt,1);
calcola_riporti_E2 (cur, dichiarante);
delete cur; delete rel;
calcola_riporti_E2(dichiarante);
}
if (quadro == "F" || quadro == "*")
@ -1018,531 +1169,182 @@ void TRiporti::calcola_riporti_H(TCursor* cur, const long dich)
warning_box("Dichiarazione non presente. Impossibile registrare i riporti");
}
const int NUM_PERC_C = 36;
void TRiporti::calcola_riporti_C(TCursor* cur, const long dich)
void TRiporti::calcola_riporti_C(const long dich)
{
TLocalisamfile base (LF_BASE);
real totale,somme,ritenute,rTotCSSN;
bool almeno_una_riga = FALSE;
long percipienti=0L;
totale = ZERO;
somme = ZERO;
ritenute = ZERO;
rTotCSSN = ZERO;
(*cur) = 0L;
TRecnotype items = cur->items();
// if (items == 0L) return;
TString scritta(60);
scritta.format("Calcolo riporti del quadro C per la ditta %ld", _codditta);
TProgind progn(items, scritta, FALSE, TRUE);
char tipoap = 'Z';
long codanagrp = -1;
for (int i = 0; i < items; i++, ++(*cur))
TConta_persone conta(LF_QUAC, _codditta);
int err = conta.read_base(dich);
if (err == NOERR)
{
char tipoa = cur->curr().get_char(QUC_TIPOA);
long codanagr = cur->curr().get_long(QUC_CODANAGR);
conta.compute();
if ( (tipoa != tipoap) || (codanagr != codanagrp) )
percipienti++;
const TRectype& totale = conta.totale();
TRectype& base = conta.base().curr();
base.put(BSE_C0NFCOM, conta.fogli_compilati(QC_PERCIPIENTI_PER_FOGLIO));
base.put(BSE_C0NLASS, conta.persone_distinte());
base.put(BSE_C0ACTOT, totale.get("AMMLORDO"));
base.put(BSE_C0CONTSSN, totale.get("CONTROBB"));
base.put(BSE_C0SNSRIT, totale.get("SOMNONSOGG"));
base.put(BSE_C0TOTIMP, totale.get("IMPONIBILE"));
base.put(BSE_C0ROPE, totale.get("IMPOSTA"));
base.put(BSE_C0TOTDET, totale.get("TOTDET"));
base.put(BSE_C0RITOPE, totale.get("RITENUTE"));
conta.base().rewrite();
tipoap = tipoa;
codanagrp = codanagr;
totale += cur->curr().get_real(QUC_TOTALE);
somme += cur->curr().get_real(QUC_SOMME);
ritenute += cur->curr().get_real(QUC_RITENUTE);
rTotCSSN += cur->curr().get_real(QUC_CONTSSN);
if (!almeno_una_riga)
almeno_una_riga = TRUE;
progn.addstatus(1);
err = conta.read_basebis(0);
if (err == NOERR)
setta_flag_quadri_comp(_codditta, C, conta.righe() > 0, conta.basebis(), dich);
}
}
long fogli = percipienti / NUM_PERC_C;
if (percipienti % NUM_PERC_C)
fogli++;
base.zero();
if (dich)
void TRiporti::calcola_riporti_D(const long dich)
{
base.put("TIPOQUA", COD_QUA_I_DIC);
base.put(BSE_CODDITTA, dich);
}
else
base.put(BSE_CODDITTA, _codditta);
if (base.read(_isequal,_lock) == NOERR)
TConta_persone conta(LF_QUAD, _codditta);
int err = conta.read_base(dich);
if (err == NOERR)
{
base.put(BSE_C0NFCOM, fogli);
base.put(BSE_C0NLASS, (long)percipienti);
base.put(BSE_C0ACTOT, totale);
base.put(BSE_C0SNSRIT, somme);
base.put(BSE_C0ROPE, ritenute);
base.put(BSE_C0CONTSSN, rTotCSSN);
base.rewrite();
TLocalisamfile basebis(LF_BASEBIS);
basebis.setkey(1);
basebis.zero();
basebis.put(BSE_CODDITTA, _codditta);
if (basebis.read(_isequal, _lock) == NOERR)
setta_flag_quadri_comp(_codditta, C, almeno_una_riga, basebis, dich);
else
warning_box("Lock fallito in calcola_riporti C");
conta.compute();
const TRectype& totale = conta.totale();
TRectype& base = conta.base().curr();
base.put(BSE_D0NFCOM, conta.fogli_compilati(QD_PERCIPIENTI_PER_FOGLIO));
base.put(BSE_D0NLAUT, conta.persone_distinte());
base.put(BSE_D0ACTOT, totale.get("TOTALE"));
base.put(BSE_D0SNSRIT, totale.get("SOMME"));
base.put(BSE_D0NSRITRC, totale.get("SOMREGCONV"));
base.put(BSE_D0ROPE, totale.get("IMPORTO"));
conta.base().rewrite();
err = conta.read_basebis(0);
if (err == NOERR)
setta_flag_quadri_comp(_codditta, D, conta.righe() > 0, conta.basebis(), dich);
}
else
warning_box("Dichiarazione non presente. Impossibile registrare i riporti");
}
void TRiporti::calcola_riporti_D(TCursor* cur, const long dich)
void TRiporti::calcola_riporti_Dbis(const long dich)
{
TLocalisamfile base (LF_BASE);
real totale,somme,ritenute;
bool almeno_una_riga = FALSE;
int percipienti;
int fisiche,giuridiche;
percipienti = 0;
fisiche = 0;
giuridiche = 0;
totale = ZERO;
somme = ZERO;
ritenute = ZERO;
(*cur) = 0L;
TRecnotype items = cur->items();
// if (items == 0L) return;
TString scritta(60);
scritta.format("Calcolo riporti del quadro D per la ditta %ld", _codditta);
TProgind progn(items, scritta, FALSE, TRUE);
char tipoap = 'Z';
long codanagrp = -1;
for (int i = 0; i < items; i++, ++(*cur))
TConta_persone conta(LF_QUADBIS, _codditta);
int err = conta.read_basebis(dich);
if (err == NOERR)
{
char tipoa = cur->curr().get_char(QUD_TIPOA);
long codanagr = cur->curr().get_long(QUD_CODANAGR);
conta.compute();
if ( (tipoa != tipoap) || (codanagr != codanagrp) )
percipienti++;
const TRectype& totale = conta.totale();
TRectype& basebis = conta.basebis().curr();
tipoap = tipoa;
codanagrp = codanagr;
basebis.put(BSE_DBAMMCOR, totale.get("TOTALE"));
basebis.put(BSE_DBNSRIT, totale.get("SOMME"));
basebis.put(BSE_DBNSRITRC, totale.get("IMPONIBILE"));
basebis.put(BSE_DBRITOPE, totale.get("IMPORTO"));
conta.basebis().rewrite();
if (tipoa == 'F')
fisiche++;
else
if (tipoa == 'G')
giuridiche++;
totale += cur->curr().get_real(QUD_TOTALE);
somme += cur->curr().get_real(QUD_SOMME);
ritenute += cur->curr().get_real(QUD_IMPORTO);
if (!almeno_una_riga)
almeno_una_riga = TRUE;
progn.addstatus(1);
err = conta.read_basebis(0);
if (err == NOERR)
setta_flag_quadri_comp(_codditta, DB, conta.righe() > 0, conta.basebis(), dich);
}
}
const long fogli = fogli_compilati(fisiche,giuridiche,QD_FISICHE_PER_FOGLIO,QD_NOFISICHE_PER_FOGLIO);
base.setkey(1);
base.zero();
if (dich)
void TRiporti::calcola_riporti_D1(const long dich)
{
base.put("TIPOQUA", COD_QUA_I_DIC);
base.put(BSE_CODDITTA, dich);
}
else
base.put(BSE_CODDITTA, _codditta);
if (base.read(_isequal,_lock) == NOERR)
TConta_persone conta(LF_QUAD1, _codditta);
int err = conta.read_base(dich);
if (err == NOERR)
{
base.put(BSE_D0NFCOM, fogli);
base.put(BSE_D0NLAUT, (long)percipienti);
base.put(BSE_D0ACTOT, totale);
base.put(BSE_D0SNSRIT, somme);
base.put(BSE_D0ROPE, ritenute);
base.rewrite();
TLocalisamfile basebis(LF_BASEBIS);
basebis.setkey(1);
basebis.zero();
basebis.put(BSE_CODDITTA, _codditta);
if (basebis.read(_isequal, _lock) == NOERR)
setta_flag_quadri_comp(_codditta, D, almeno_una_riga, basebis, dich);
else
warning_box("Lock fallito in calcola_riporti D");
conta.compute();
const TRectype& totale = conta.totale();
TRectype& base = conta.base().curr();
base.put(BSE_D1NFCOM, conta.fogli_compilati(QD1_PERCIPIENTI_PER_FOGLIO));
base.put(BSE_D1NPER, conta.persone_distinte());
base.put(BSE_D1TACOR, totale.get("TOTALE"));
base.put(BSE_D1SNSRIT, totale.get("SPESEANT"));
base.put(BSE_D1ROPE, totale.get("IMPORTO"));
conta.base().rewrite();
err = conta.read_basebis(0);
if (err == NOERR)
setta_flag_quadri_comp(_codditta, D1, conta.righe() > 0, conta.basebis(), dich);
}
else
warning_box("Dichiarazione non presente. Impossibile registrare i riporti");
}
void TRiporti::calcola_riporti_D1(TCursor* cur, const long dich)
void TRiporti::calcola_riporti_E(const long dich)
{
TLocalisamfile base (LF_BASE);
real totale,somme,importo;
bool almeno_una_riga = FALSE;
int percipienti,fisiche,giuridiche;
percipienti = 0;
fisiche = 0;
giuridiche = 0;
totale = ZERO;
somme = ZERO;
importo = ZERO;
(*cur) = 0L;
TRecnotype items = cur->items();
TString scritta(60);
scritta.format("Calcolo riporti del quadro D1 per la ditta %ld", _codditta);
TProgind progn(items, scritta, FALSE, TRUE);
char tipoap = 'Z';
long codanagrp = -1;
for (int i = 0; i < items; i++, ++(*cur))
TConta_persone conta(LF_QUAE, _codditta);
int err = conta.read_basebis(dich);
if (err == NOERR)
{
char tipoa = cur->curr().get_char(QD1_TIPOA);
long codanagr = cur->curr().get_long(QD1_CODANAGR);
conta.compute();
if ( (tipoa != tipoap) || (codanagr != codanagrp) )
percipienti++;
const TRectype& totale = conta.totale();
TRectype& base = conta.basebis().curr();
base.put(BSB_E0NFCOM, conta.fogli_compilati(QE_PERCIPIENTI_PER_FOGLIO));
base.put(BSB_E0NPER, conta.persone_distinte());
base.put(BSB_E0AIMP, totale.get(QUE_IMPONIBILE));
base.put(BSB_E0SNSRIT, totale.get(QUE_SOMME));
base.put(BSB_E0ROPE, totale.get(QUE_IMPORTO));
conta.basebis().rewrite();
tipoap = tipoa;
codanagrp = codanagr;
if (tipoa == 'F')
fisiche++;
else
if (tipoa == 'G')
giuridiche++;
totale += cur->curr().get_real(QD1_TOTALE);
somme += (cur->curr().get_real(QD1_QUOTAPRO)) + (cur->curr().get_real(QD1_SPESEANT));
importo += cur->curr().get_real(QD1_IMPORTO);
if (!almeno_una_riga)
almeno_una_riga = TRUE;
progn.addstatus(1);
err = conta.read_basebis(0);
if (err == NOERR)
setta_flag_quadri_comp(_codditta, E, conta.righe() > 0, conta.basebis(), dich);
}
}
const long fogli = fogli_compilati(fisiche,giuridiche,QD1_FISICHE_PER_FOGLIO,QD1_NOFISICHE_PER_FOGLIO);
base.setkey(1);
base.zero();
if (dich)
void TRiporti::calcola_riporti_E1(const long dich)
{
base.put("TIPOQUA", COD_QUA_I_DIC);
base.put(BSE_CODDITTA, dich);
}
else
base.put(BSE_CODDITTA, _codditta);
if (base.read(_isequal,_lock) == NOERR)
TConta_persone conta(LF_QUAE1, _codditta);
int err = conta.read_basebis(dich);
if (err == NOERR)
{
base.put(BSE_D1NFCOM, fogli);
base.put(BSE_D1NPER, (long)percipienti);
base.put(BSE_D1TACOR, totale);
base.put(BSE_D1SNSRIT, somme);
base.put(BSE_D1ROPE, importo);
base.rewrite();
TLocalisamfile basebis(LF_BASEBIS);
basebis.setkey(1);
basebis.zero();
basebis.put(BSE_CODDITTA, _codditta);
if (basebis.read(_isequal, _lock) == NOERR)
setta_flag_quadri_comp(_codditta, D1, almeno_una_riga,basebis,dich);
else
warning_box("Lock fallito in calcola_riporti D1");
}
else
warning_box("Dichiarazione non presente. Impossibile registrare i riporti");
TLocalisamfile prosp_e1(LF_PROSPE1);
prosp_e1.put(PRE_CODDITTA, _codditta);
TRectype tot_prosp(LF_PROSPE1); // Totale delle due righe di prospetto
for (int err = prosp_e1.read(_isgteq); err == NOERR; err = prosp_e1.next())
{
if (prosp_e1.get_long(PRE_CODDITTA) != _codditta)
break;
char caus = prosp_e1.get_char(PRE_CODCAUS);
if (caus == 'C' || caus == 'D') // Ignora causali dell'anno scorso
conta.sum(tot_prosp, prosp_e1.curr());
}
void TRiporti::calcola_riporti_E(TCursor* cur, const long dich)
{
TLocalisamfile basebis (LF_BASEBIS);
real imponibile,somme,ritenute;
bool almeno_una_riga = FALSE;
int percipienti,fisiche,giuridiche;
conta.compute();
const TRectype& totale = conta.totale();
TRectype& base = conta.basebis().curr();
base.put(BSB_E1NFCOM, conta.fogli_compilati(QE1_PERCIPIENTI_PER_FOGLIO));
base.put(BSB_E1NPER, conta.persone_distinte());
base.put(BSB_E1BCOM, totale.get(QE1_AMMONTARE));
base.put(BSB_E1SCOR, totale.get(QE1_SOMME));
base.put(BSB_E1ROPE, totale.get(QE1_IMPORTO));
base.put(BSB_E1ACOM, tot_prosp.get(PRE_COMPENSO));
base.put(BSB_E1BCOM2, tot_prosp.get(PRE_IMPONIBILE));
base.put(BSB_E1ROPE2, tot_prosp.get(PRE_RITENUTA));
conta.basebis().rewrite();
percipienti = 0;
fisiche = 0;
giuridiche = 0;
imponibile = ZERO;
somme = ZERO;
ritenute = ZERO;
(*cur) = 0L;
TRecnotype items = cur->items();
// if (items == 0L) return;
TString scritta(60);
scritta.format("Calcolo riporti del quadro E per la ditta %ld", _codditta);
TProgind progn(items, scritta, FALSE, TRUE);
char tipoap = 'Z';
long codanagrp = -1;
for (int i = 0; i < items; i++, ++(*cur))
{
char tipoa = cur->curr().get_char(QUE_TIPOA);
long codanagr = cur->curr().get_long(QUE_CODANAGR);
if ( (tipoa != tipoap) || (codanagr != codanagrp) )
percipienti++;
tipoap = tipoa;
codanagrp = codanagr;
if (tipoa == 'F')
fisiche++;
else
if (tipoa == 'G')
giuridiche++;
imponibile += cur->curr().get_real(QUE_IMPONIBILE);
somme += cur->curr().get_real(QUE_SOMME);
ritenute += cur->curr().get_real(QUE_IMPORTO);
if (!almeno_una_riga)
almeno_una_riga = TRUE;
progn.addstatus(1);
err = conta.read_basebis(0);
if (err == NOERR)
setta_flag_quadri_comp(_codditta, E1, conta.righe() > 0, conta.basebis(), dich);
}
}
const long fogli = fogli_compilati(fisiche,giuridiche,QE_FISICHE_PER_FOGLIO,QE_NOFISICHE_PER_FOGLIO);
basebis.setkey(1);
basebis.zero();
if (dich)
void TRiporti::calcola_riporti_E2(const long dich)
{
basebis.put("TIPOQUA", COD_QUA_I_DIC);
basebis.put(BSB_CODDITTA, dich);
}
else
basebis.put(BSB_CODDITTA, _codditta);
if (basebis.read(_isequal,_lock) == NOERR)
TConta_persone conta(LF_QUAE2, _codditta);
int err = conta.read_basebis(dich);
if (err == NOERR)
{
basebis.put(BSB_E0NFCOM, fogli);
basebis.put(BSB_E0NPER, (long)percipienti);
basebis.put(BSB_E0AIMP, imponibile);
basebis.put(BSB_E0SNSRIT, somme);
basebis.put(BSB_E0ROPE, ritenute);
basebis.rewrite();
setta_flag_quadri_comp(_codditta, E, almeno_una_riga,basebis,dich);
conta.compute();
const TRectype& totale = conta.totale();
TRectype& base = conta.basebis().curr();
base.put(BSB_E2NFCOM, conta.fogli_compilati(QE2_PERCIPIENTI_PER_FOGLIO));
base.put(BSB_E2NPER, conta.persone_distinte());
base.put(BSB_E2SSRIT, totale.get(QE2_SOGGRIT));
base.put(BSB_E2ROPE, totale.get(QE2_ROPE));
conta.basebis().rewrite();
err = conta.read_basebis(0);
if (err == NOERR)
setta_flag_quadri_comp(_codditta, E2, conta.righe() > 0, conta.basebis(), dich);
}
else
warning_box("Dichiarazione non presente. Impossibile registrare i riporti");
}
void TRiporti::calcola_riporti_E1(TCursor* cur, const long dich)
{
TLocalisamfile basebis (LF_BASEBIS);
TRelation* relp;
TCursor* curp;
TString16 filt;
real ammontare,somme,ritenute;
real comp,impo,rite;
bool almeno_una_riga = FALSE;
int percipienti,righep;
percipienti = 0;
righep = 0;
ammontare = ZERO;
somme = ZERO;
ritenute = ZERO;
comp = ZERO;
impo = ZERO;
rite = ZERO;
(*cur) = 0L;
TRecnotype items = cur->items();
// if (items == 0L) return;
TString scritta(60);
scritta.format("Calcolo riporti del quadro E1 per la ditta %ld", _codditta);
TProgind progn(items, scritta, FALSE, TRUE);
char tipoap = 'Z';
long codanagrp = -1;
for (int i = 0; i < items; i++, ++(*cur))
{
char tipoa = cur->curr().get_char(QE1_TIPOA);
long codanagr = cur->curr().get_long(QE1_CODANAGR);
if ( (tipoa != tipoap) || (codanagr != codanagrp) )
percipienti++;
tipoap = tipoa;
codanagrp = codanagr;
ammontare += cur->curr().get_real(QE1_AMMONTARE);
somme += cur->curr().get_real(QE1_SOMME);
ritenute += cur->curr().get_real(QE1_IMPORTO);
if (!almeno_una_riga)
almeno_una_riga = TRUE;
progn.addstatus(1);
}
relp = new TRelation (LF_PROSPE1);
filt.format("CODDITTA=%ld", _codditta);
curp = new TCursor(relp,filt,1);
(*curp) = 0L;
TRecnotype itemp = curp->items();
scritta.format("Calcolo riporti del prospetto del quadro E1 per la ditta %ld", _codditta);
TProgind prognp(itemp, scritta, FALSE, TRUE);
for (int j = 0; j < itemp; j++, ++(*curp))
{
righep++;
comp += curp->curr().get_real(PRE_COMPENSO);
impo += curp->curr().get_real(PRE_IMPONIBILE);
rite += curp->curr().get_real(PRE_RITENUTA);
if (!almeno_una_riga)
almeno_una_riga = TRUE;
prognp.addstatus(1);
}
delete curp;
delete relp;
const long fogli = fogli_compilati(percipienti,righep,QE1_PERCIPIENTI_PER_FOGLIO,QE1_RIGHE_PROSPETTO);
basebis.setkey(1);
basebis.zero();
if (dich)
{
basebis.put("TIPOQUA", COD_QUA_I_DIC);
basebis.put(BSB_CODDITTA, dich);
}
else
basebis.put(BSB_CODDITTA, _codditta);
if (basebis.read(_isequal, _lock) == NOERR)
{
basebis.put(BSB_E1NFCOM, fogli);
basebis.put(BSB_E1NPER, (long)percipienti);
basebis.put(BSB_E1SCOR, somme);
basebis.put(BSB_E1BCOM, ammontare );
basebis.put(BSB_E1ROPE, ritenute );
basebis.put(BSB_E1ACOM, comp);
basebis.put(BSB_E1BCOM2, impo);
basebis.put(BSB_E1ROPE2, rite);
basebis.rewrite();
setta_flag_quadri_comp(_codditta, E1, almeno_una_riga,basebis,dich);
}
else
warning_box("Dichiarazione non presente. Impossibile registrare i riporti");
}
void TRiporti::calcola_riporti_E2(TCursor* cur, const long dich)
{
TLocalisamfile basebis (LF_BASEBIS);
long fisiche, no_fisiche;
long fogli_comp;
real soggrit, rope;
real comp,impo,rite;
bool almeno_una_riga = FALSE;
double percipienti;
fisiche = no_fisiche = fogli_comp = 0L;
percipienti = 0.00;
soggrit = ZERO;
rope = ZERO;
comp = ZERO;
impo = ZERO;
rite = ZERO;
(*cur) = 0L;
TRecnotype items = cur->items();
TString scritta(60);
scritta.format("Calcolo riporti del quadro E2 per la ditta %ld", _codditta);
TProgind progn(items, scritta, FALSE, TRUE);
char tipoap = 'Z';
long codanagrp = -1;
for (int i = 0; i < items; i++, ++(*cur))
{
const char tipoa = cur->curr().get_char(QE2_TIPOA);
const long codanagr = cur->curr().get_long(QE2_CODANAGR);
if ( (tipoa != tipoap) || (codanagr != codanagrp) )
percipienti++;
tipoap = tipoa;
codanagrp = codanagr;
if (tipoa == 'F')
fisiche++;
else
no_fisiche++;
soggrit += cur->curr().get_real(QE2_SOGGRIT);
rope += cur->curr().get_real(QE2_ROPE);
if (!almeno_una_riga)
almeno_una_riga = TRUE;
progn.addstatus(1);
}
fogli_comp = fogli_compilati(fisiche,no_fisiche,QE2_FISICHE_PER_FOGLIO,QE2_NOFISICHE_PER_FOGLIO);
basebis.setkey(1);
basebis.zero();
if (dich)
{
basebis.put("TIPOQUA", COD_QUA_I_DIC);
basebis.put(BSB_CODDITTA, dich);
}
else
basebis.put(BSB_CODDITTA, _codditta);
if (basebis.read(_isequal, _lock) == NOERR)
{
basebis.put(BSB_E2NFCOM, fogli_comp);
basebis.put(BSB_E2NPER, (long)percipienti);
basebis.put(BSB_E2SSRIT, soggrit);
basebis.put(BSB_E2ROPE, rope );
basebis.rewrite();
setta_flag_quadri_comp(_codditta, E2, almeno_una_riga,basebis,dich);
}
else
warning_box("Dichiarazione non presente. Impossibile registrare i riporti");
}
void TRiporti::calcola_riporti_F(TCursor* cur, const long dich)

View File

@ -10,7 +10,7 @@
bool filter_func (const TRelation *);
enum {A,A1,A2,A3,B,B1,C,D,D1,E,E1,E2,F,F1,F2,G,G1,H,I,N,P,Q,R,S,T};
enum {A,A1,A2,A3,B,B1,C,D,D1,E,E1,E2,F,F1,F2,G,G1,H,I,L,N,P,Q,R,S,T,AB,DB,U};
const int CAMPI_IB1 = 61;
const int CAMPI_IB2 = 50;
@ -56,7 +56,7 @@ HIDDEN const char* _campi_A [CAMPI_A] = {
class TRiporti
class TRiporti : public TObject
{
friend bool filter_func (const TRelation *);
@ -64,10 +64,13 @@ class TRiporti
int _annodic;
TString16 _quadro;
protected:
void setta_flag_quadri_comp (const long codditta, const int posquadro, const bool aur, TLocalisamfile& basebis, const long dich=0L);
// Setta flag di compilato guardando se esistono i riporti sul quadro I
void setta_flag_quadro_I (const long codditta, const long dich=0L);
void sum(TRectype& dst, const TRectype& src) const;
void calcola_riporti_A (TCursor* cur, const long dich=0L);
void calcola_riporti_A1(TCursor* cur, const long dich=0L);
void calcola_riporti_A2(TCursor* cur, const long dich=0L);
@ -75,12 +78,13 @@ class TRiporti
void calcola_riporti_B (TCursor* cur, const long dich=0L);
void calcola_riporti_B1(TCursor* cur, const long dich=0L);
void calcola_riporti_H (TCursor* cur, const long dich=0L);
void calcola_riporti_C (TCursor* cur, const long dich=0L);
void calcola_riporti_D (TCursor* cur, const long dich=0L);
void calcola_riporti_D1(TCursor* cur, const long dich=0L);
void calcola_riporti_E (TCursor* cur, const long dich=0L);
void calcola_riporti_E1(TCursor* cur, const long dich=0L);
void calcola_riporti_E2(TCursor* cur, const long dich=0L);
void calcola_riporti_C (const long dich=0L);
void calcola_riporti_D (const long dich=0L);
void calcola_riporti_Dbis(const long dich=0L);
void calcola_riporti_D1(const long dich=0L);
void calcola_riporti_E (const long dich=0L);
void calcola_riporti_E1(const long dich=0L);
void calcola_riporti_E2(const long dich=0L);
void calcola_riporti_F (TCursor* cur, const long dich=0L);
void calcola_riporti_F1(TCursor* cur, const long dich=0L);
void calcola_riporti_F2(TCursor* cur, const long dich=0L);

View File

@ -24,8 +24,7 @@
#include "../ba/ba4600.h"
HIDDEN TString80 __tmp;
HIDDEN const int NUM_QUADRI = 26;
HIDDEN const int QUADRO_L = 27;
HIDDEN const int NUM_QUADRI = 29;
typedef enum { grassetto=0, sottolineato, piano } stile;
@ -196,7 +195,7 @@ bool TManutenzione_quadri::create()
_rel->add(LF_BASEBIS, "CODDITTA=CODDITTA");
// inizializza stato precedente quadri per ottimizzazione enphasize
_qcomp_prev.spaces(NUM_QUADRI+1);
_qcomp_prev.spaces(NUM_QUADRI);
load_mask(0);
dispatch_e_menu (BAR_ITEM(1));
@ -288,25 +287,31 @@ const char* TManutenzione_quadri::make_prompt(int i, stile vivid)
__tmp << "Quadro I" ;
break;
case 19:
__tmp << "Quadro N" ;
__tmp << "Quadro L" ;
break;
case 20:
__tmp << "Quadro P" ;
__tmp << "Quadro N" ;
break;
case 21:
__tmp << "Quadro Q" ;
__tmp << "Quadro P" ;
break;
case 22:
__tmp << "Quadro R" ;
__tmp << "Quadro Q" ;
break;
case 23:
__tmp << "Quadro S" ;
__tmp << "Quadro R" ;
break;
case 24:
__tmp << "Quadro S" ;
break;
case 25:
__tmp << "Quadro T" ;
break;
case QUADRO_L:
__tmp << "Quadro L" ;
case 26:
__tmp << "Quadro Abis";
break;
case 27:
__tmp << "Quadro Dbis";
break;
default:
break;
@ -322,7 +327,8 @@ void TManutenzione_quadri::inibith(TString& qric, TMask& m)
int start_dlg = DLG_STOPREC_A;
int dlg;
for (int i = 0; i < NUM_QUADRI; i++)
// quadri fino al quadro U non compreso
for (int i = 0; i < (NUM_QUADRI-1); i++)
if (qric[i] == 'X')
{
dlg = start_dlg + (i * 2);
@ -330,7 +336,6 @@ void TManutenzione_quadri::inibith(TString& qric, TMask& m)
}
}
//
// Metto in grassetto i quadri gia' compilati
// ma solo quelli variati dal ciclo precedente
// Il quadro L non ha il flag di compilato sul base.
@ -338,12 +343,10 @@ void TManutenzione_quadri::enphasize(TString& qcomp,TMask& m)
{
int start_dlg = DLG_NULL_A;
const char* prompt;
const int L = 19;
int dlg = 0;
char qcompL;
// quadri fino al quadro L non compreso
for (int i = 0; i < L; i++)
// quadri fino al quadro U non compreso
for (int i = 0; i < (NUM_QUADRI-1); i++)
{
if (qcomp[i] != _qcomp_prev[i])
{
@ -353,29 +356,6 @@ void TManutenzione_quadri::enphasize(TString& qcomp,TMask& m)
_qcomp_prev[i] = qcomp[i];
}
}
// quadro L
qcompL = esiste_record_L(get_firm_770(), _anno_dic) ? 'X' : ' ';
if (qcompL != _qcomp_prev[QUADRO_L])
{
dlg = start_dlg + (i * 2);
prompt = make_prompt(QUADRO_L, qcompL == 'X' ? grassetto : piano);
m.field(dlg).set_prompt(prompt);
_qcomp_prev[QUADRO_L] = qcompL;
}
// rimanenti quadri
for (i = L+1; i < NUM_QUADRI; i++)
{
// Controlla qcomp[i-1] perche' in QCOMP non c'e' il flag del quadro L
if (qcomp[i-1] != _qcomp_prev[i-1])
{
int dlg = start_dlg + (i * 2);
prompt = make_prompt(i-1, qcomp[i-1] == 'X' ? grassetto : piano);
m.field(dlg).set_prompt(prompt);
_qcomp_prev[i-1] = qcomp[i-1];
}
}
}
bool TManutenzione_quadri::show_menu(TMask_field& f, KEY k)

View File

@ -11,156 +11,163 @@
#define F_RAGDITTA 102
#define F_ANNODIC 103
#define DLG_NULL_A 104
#define DLG_STOPREC_A 105
#define DLG_NULL_A1 106
#define DLG_STOPREC_A1 107
#define DLG_NULL_A2 108
#define DLG_STOPREC_A2 109
#define DLG_NULL_A3 110
#define DLG_STOPREC_A3 111
#define DLG_NULL_B 112
#define DLG_STOPREC_B 113
#define DLG_NULL_B1 114
#define DLG_STOPREC_B1 115
#define DLG_NULL_C 116
#define DLG_STOPREC_C 117
#define DLG_NULL_D 118
#define DLG_STOPREC_D 119
#define DLG_NULL_D1 120
#define DLG_STOPREC_D1 121
#define DLG_NULL_E 122
#define DLG_STOPREC_E 123
#define DLG_NULL_E1 124
#define DLG_STOPREC_E1 125
#define DLG_NULL_E2 126
#define DLG_STOPREC_E2 127
#define DLG_NULL_F 128
#define DLG_STOPREC_F 129
#define DLG_NULL_F1 130
#define DLG_STOPREC_F1 131
#define DLG_NULL_F2 132
#define DLG_STOPREC_F2 133
#define DLG_NULL_G 134
#define DLG_STOPREC_G 135
#define DLG_NULL_G1 136
#define DLG_STOPREC_G1 137
#define DLG_NULL_H 138
#define DLG_STOPREC_H 139
#define DLG_NULL_I 140
#define DLG_STOPREC_I 141
#define DLG_NULL_L 142
#define DLG_STOPREC_L 143
#define DLG_NULL_N 144
#define DLG_STOPREC_N 145
#define DLG_NULL_P 146
#define DLG_STOPREC_P 147
#define DLG_NULL_Q 148
#define DLG_STOPREC_Q 149
#define DLG_NULL_R 150
#define DLG_STOPREC_R 151
#define DLG_NULL_S 152
#define DLG_STOPREC_S 153
#define DLG_NULL_T 154
#define DLG_STOPREC_T 155
#define DLG_MANUTENZ 156
#define DLG_NULL_DICH 157
#define DLG_STOPREC_DICH 158
#define DLG_NULL_RAPP 159
#define DLG_STOPREC_RAPP 160
#define DLG_NULL_SCRIT 161
#define DLG_STOPREC_SCRIT 162
#define DLG_NULL_CAAF 163
#define DLG_STOPREC_CAAF 164
#define DLG_NULL_DIRET 165
#define DLG_STOPREC_DIRET 166
#define DLG_NULL_CONC 167
#define DLG_STOPREC_CONC 168
#define DLG_NULL_DIC0 169
#define DLG_STOPREC_DIC0 170
#define DLG_NULL_DIC1 171
#define DLG_STOPREC_DIC1 172
#define DLG_NULL_SOCTRA 173
#define DLG_STOPREC_SOCTRA 174
#define DLG_CANCEL_MENU 175
#define DLG_NULL_DG 176
#define DLG_STOPREC_DG 177
#define DLG_MANUTENZ_SOCI 178
#define DLG_NULL_SOCI 179
#define DLG_NULL_ST 180
#define DLG_STOPREC_ST 181
#define DLG_STOPREC_AD 182
#define DLG_NULL_ST0 183
#define DLG_STOPREC_ST0 184
#define DLG_NULL_ST1 185
#define DLG_STOPREC_ST1 186
#define DLG_CANCEL_MENU_ST 187
#define DLG_NULL_ST2 188
#define DLG_STOPREC_ST2 189
#define DLG_NULL_ST3 190
#define DLG_STOPREC_ST3 191
#define DLG_NULL_SD 192
#define DLG_STOPREC_SD 193
#define DLG_NULL_SD0 194
#define DLG_STOPREC_SD0 195
#define DLG_NULL_SD1 196
#define DLG_STOPREC_SD1 197
#define DLG_NULL_SD2 198
#define DLG_STOPREC_SD2 199
#define DLG_CANCEL_MENU_SD 200
#define DLG_STOPREC_IR 201
#define RILEGGI_QUADRI 202
#define DLG_NULL_STQD 203
#define DLG_STOPREC_STQD 204
#define T_BASE 205
#define B_BASE 206
#define T_LAGG 207
#define B_LAGG 208
#define T_NAGG 209
#define B_NAGG 210
#define T_ALLSOC 211
#define B_ALLSOC 212
#define T_ALLG 213
#define B_ALLG 214
#define T_BUST 215
#define B_BUST 216
#define T_A 217
#define B_A 218
#define T_A1 219
#define B_A1 220
#define T_A2 221
#define B_A2 222
#define T_A3 223
#define B_A3 224
#define T_B 225
#define B_B 226
#define T_B1 227
#define B_B1 228
#define T_C 229
#define B_C 230
#define T_D 231
#define B_D 232
#define T_D1 233
#define B_D1 234
#define T_E 235
#define B_E 236
#define T_E1 237
#define B_E1 238
#define T_E2 239
#define B_E2 240
#define T_F 241
#define B_F 242
#define T_F1 243
#define B_F1 244
#define T_F2 245
#define B_F2 246
#define T_G 247
#define B_G 248
#define T_G1 249
#define B_G1 250
#define T_H 251
#define B_H 252
#define DLG_STOPREC_SP 253
#define DLG_CANCEL_MENUSTQ 254
#define DLG_MANUTENZ 110
#define DLG_NULL_A 111
#define DLG_STOPREC_A 112
#define DLG_NULL_A1 113
#define DLG_STOPREC_A1 114
#define DLG_NULL_A2 115
#define DLG_STOPREC_A2 116
#define DLG_NULL_A3 117
#define DLG_STOPREC_A3 118
#define DLG_NULL_B 119
#define DLG_STOPREC_B 120
#define DLG_NULL_B1 121
#define DLG_STOPREC_B1 122
#define DLG_NULL_C 123
#define DLG_STOPREC_C 124
#define DLG_NULL_D 125
#define DLG_STOPREC_D 126
#define DLG_NULL_D1 127
#define DLG_STOPREC_D1 128
#define DLG_NULL_E 129
#define DLG_STOPREC_E 130
#define DLG_NULL_E1 131
#define DLG_STOPREC_E1 132
#define DLG_NULL_E2 133
#define DLG_STOPREC_E2 134
#define DLG_NULL_F 135
#define DLG_STOPREC_F 136
#define DLG_NULL_F1 137
#define DLG_STOPREC_F1 138
#define DLG_NULL_F2 139
#define DLG_STOPREC_F2 140
#define DLG_NULL_G 141
#define DLG_STOPREC_G 142
#define DLG_NULL_G1 143
#define DLG_STOPREC_G1 144
#define DLG_NULL_H 145
#define DLG_STOPREC_H 146
#define DLG_NULL_I 147
#define DLG_STOPREC_I 148
#define DLG_NULL_L 149
#define DLG_STOPREC_L 150
#define DLG_NULL_N 151
#define DLG_STOPREC_N 152
#define DLG_NULL_P 153
#define DLG_STOPREC_P 154
#define DLG_NULL_Q 155
#define DLG_STOPREC_Q 156
#define DLG_NULL_R 157
#define DLG_STOPREC_R 158
#define DLG_NULL_S 159
#define DLG_STOPREC_S 160
#define DLG_NULL_T 161
#define DLG_STOPREC_T 162
#define DLG_NULL_AB 163
#define DLG_STOPREC_AB 164
#define DLG_NULL_DB 165
#define DLG_STOPREC_DB 166
#define DLG_NULL_U 167
#define DLG_STOPREC_U 168
#define DLG_NULL_DICH 200
#define DLG_STOPREC_DICH 201
#define DLG_NULL_RAPP 202
#define DLG_STOPREC_RAPP 203
#define DLG_NULL_SCRIT 204
#define DLG_STOPREC_SCRIT 205
#define DLG_NULL_CAAF 206
#define DLG_STOPREC_CAAF 207
#define DLG_NULL_DIRET 208
#define DLG_STOPREC_DIRET 209
#define DLG_NULL_CONC 210
#define DLG_STOPREC_CONC 211
#define DLG_NULL_DIC0 212
#define DLG_STOPREC_DIC0 213
#define DLG_NULL_DIC1 214
#define DLG_STOPREC_DIC1 215
#define DLG_NULL_SOCTRA 216
#define DLG_STOPREC_SOCTRA 217
#define DLG_CANCEL_MENU 218
#define DLG_NULL_DG 219
#define DLG_STOPREC_DG 220
#define DLG_MANUTENZ_SOCI 221
#define DLG_NULL_SOCI 222
#define DLG_NULL_ST 223
#define DLG_STOPREC_ST 224
#define DLG_STOPREC_AD 225
#define DLG_NULL_ST0 226
#define DLG_STOPREC_ST0 227
#define DLG_NULL_ST1 228
#define DLG_STOPREC_ST1 229
#define DLG_CANCEL_MENU_ST 230
#define DLG_NULL_ST2 231
#define DLG_STOPREC_ST2 232
#define DLG_NULL_ST3 233
#define DLG_STOPREC_ST3 234
#define DLG_NULL_SD 235
#define DLG_STOPREC_SD 236
#define DLG_NULL_SD0 237
#define DLG_STOPREC_SD0 238
#define DLG_NULL_SD1 239
#define DLG_STOPREC_SD1 240
#define DLG_NULL_SD2 241
#define DLG_STOPREC_SD2 242
#define DLG_CANCEL_MENU_SD 243
#define DLG_STOPREC_IR 244
#define RILEGGI_QUADRI 245
#define DLG_NULL_STQD 246
#define DLG_STOPREC_STQD 247
#define T_BASE 248
#define B_BASE 249
#define T_LAGG 250
#define B_LAGG 251
#define T_NAGG 252
#define B_NAGG 253
#define T_ALLSOC 254
#define B_ALLSOC 255
#define T_ALLG 256
#define B_ALLG 257
#define T_BUST 258
#define B_BUST 259
#define T_A 260
#define B_A 261
#define T_A1 262
#define B_A1 263
#define T_A2 264
#define B_A2 265
#define T_A3 266
#define B_A3 267
#define T_B 268
#define B_B 269
#define T_B1 270
#define B_B1 271
#define T_C 272
#define B_C 273
#define T_D 274
#define B_D 275
#define T_D1 276
#define B_D1 277
#define T_E 278
#define B_E 279
#define T_E1 280
#define B_E1 281
#define T_E2 282
#define B_E2 283
#define T_F 284
#define B_F 285
#define T_F1 286
#define B_F1 287
#define T_F2 288
#define B_F2 289
#define T_G 290
#define B_G 291
#define T_G1 292
#define B_G1 293
#define T_H 294
#define B_H 295
#define DLG_STOPREC_SP 296
#define DLG_CANCEL_MENUSTQ 297
#endif

View File

@ -172,15 +172,29 @@ BEGIN
GROUP MENU_MAIN
END
TEXT DLG_NULL_AB
BEGIN
PROMPT 5 11 "Quadro Abis"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_AB 1 1
BEGIN
PROMPT 1 11 ""
MESSAGE RUN,771MOD,-7,4|K_TAB,RILEGGI_QUADRI
PICTURE 123
GROUP MENU_MAIN
END
TEXT DLG_NULL_A1
BEGIN
PROMPT 5 11 "Quadro A1"
PROMPT 5 12 "Quadro A1"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_A1 1 1
BEGIN
PROMPT 1 11 ""
PROMPT 1 12 ""
MESSAGE RUN,771MOD,-7,1|K_TAB,RILEGGI_QUADRI
PICTURE 123
GROUP MENU_MAIN
@ -188,13 +202,13 @@ END
TEXT DLG_NULL_A2
BEGIN
PROMPT 5 12 "Quadro A2"
PROMPT 5 13 "Quadro A2"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_A2 1 1
BEGIN
PROMPT 1 12 ""
PROMPT 1 13 ""
MESSAGE RUN,771MOD,-7,2|K_TAB,RILEGGI_QUADRI
PICTURE 123
GROUP MENU_MAIN
@ -202,13 +216,13 @@ END
TEXT DLG_NULL_A3
BEGIN
PROMPT 5 13 "Quadro A3"
PROMPT 5 14 "Quadro A3"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_A3 1 1
BEGIN
PROMPT 1 13 ""
PROMPT 1 14 ""
MESSAGE RUN,771MOD,-7,3|K_TAB,RILEGGI_QUADRI
PICTURE 123
GROUP MENU_MAIN
@ -216,13 +230,13 @@ END
TEXT DLG_NULL_B
BEGIN
PROMPT 5 14 "Quadro B"
PROMPT 5 15 "Quadro B"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_B 1 1
BEGIN
PROMPT 1 14 ""
PROMPT 1 15 ""
PICTURE 123
MESSAGE RUN,773mod,-4,77qb,59,"Quadro B","B"|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
@ -230,29 +244,15 @@ END
TEXT DLG_NULL_B1
BEGIN
PROMPT 5 15 "Quadro B-1"
PROMPT 5 16 "Quadro B1"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_B1 1 1
BEGIN
PROMPT 1 15 ""
PICTURE 123
MESSAGE RUN,773mod,-4,77qb1,60,"Quadro B1","B1"|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
TEXT DLG_NULL_C
BEGIN
PROMPT 5 16 "Quadro C "
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_C 1 1
BEGIN
PROMPT 1 16 ""
PICTURE 123
MESSAGE RUN,771MOD,-5,C|K_TAB,RILEGGI_QUADRI
MESSAGE RUN,773mod,-4,77qb1,60,"Quadro B1","B1"|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
@ -262,43 +262,71 @@ END
// Seconda colonna
//
TEXT DLG_NULL_C
BEGIN
PROMPT 24 10 "Quadro C "
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_C 1 1
BEGIN
PROMPT 20 10 ""
PICTURE 123
MESSAGE RUN,771MOD,-5,C|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
TEXT DLG_NULL_D
BEGIN
PROMPT 24 10 "Quadro D "
PROMPT 24 11 "Quadro D "
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_D 1 1
BEGIN
PROMPT 20 10 ""
PROMPT 20 11 ""
PICTURE 123
MESSAGE RUN,771MOD,-5,D|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
TEXT DLG_NULL_DB
BEGIN
PROMPT 24 12 "Quadro Dbis"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_DB 1 1
BEGIN
PROMPT 20 12 ""
PICTURE 123
MESSAGE RUN,771MOD,-5,DB|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
TEXT DLG_NULL_D1
BEGIN
PROMPT 24 11 "Quadro D-1 "
PROMPT 24 13 "Quadro D1 "
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_D1 1 1
BEGIN
PROMPT 20 11 ""
PROMPT 20 13 ""
PICTURE 123
MESSAGE RUN,771MOD,-5,1|K_TAB,RILEGGI_QUADRI
MESSAGE RUN,771MOD,-5,D1|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
TEXT DLG_NULL_E
BEGIN
PROMPT 24 12 "Quadro E "
PROMPT 24 14 "Quadro E "
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_E 1 1
BEGIN
PROMPT 20 12 ""
PROMPT 20 14 ""
PICTURE 123
MESSAGE RUN,771MOD,-5,E|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
@ -306,41 +334,45 @@ END
TEXT DLG_NULL_E1
BEGIN
PROMPT 24 13 "Quadro E-1 "
PROMPT 24 15 "Quadro E1 "
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_E1 1 1
BEGIN
PROMPT 20 13 ""
PROMPT 20 15 ""
PICTURE 123
MESSAGE RUN,771MOD,-5,2|K_TAB,RILEGGI_QUADRI
MESSAGE RUN,771MOD,-5,E1|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
TEXT DLG_NULL_E2
BEGIN
PROMPT 24 14 "Quadro E-2"
PROMPT 24 16 "Quadro E2"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_E2 1 1
BEGIN
PROMPT 20 14 ""
PROMPT 20 16 ""
PICTURE 123
MESSAGE RUN,771MOD,-5,3|K_TAB,RILEGGI_QUADRI
MESSAGE RUN,771MOD,-5,E2|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
// Fine seconda colonna
// Terza colonna
TEXT DLG_NULL_F
BEGIN
PROMPT 24 15 "Quadro F"
PROMPT 43 10 "Quadro F"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_F 1 1
BEGIN
PROMPT 20 15 ""
PROMPT 39 10 ""
PICTURE 123
MESSAGE RUN,771MOD,-6,0|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
@ -348,30 +380,27 @@ END
TEXT DLG_NULL_F1
BEGIN
PROMPT 24 16 "Quadro F-1"
PROMPT 43 11 "Quadro F1"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_F1 1 1
BEGIN
PROMPT 20 16 ""
PROMPT 39 11 ""
PICTURE 123
MESSAGE RUN,771MOD,-6,1|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
// Fine seconda colonna
// Terza colonna
TEXT DLG_NULL_F2
BEGIN
PROMPT 43 10 "Quadro F-2"
PROMPT 43 12 "Quadro F2"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_F2 1 1
BEGIN
PROMPT 39 10 ""
PROMPT 39 12 ""
PICTURE 123
MESSAGE RUN,771MOD,-6,2|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
@ -379,13 +408,13 @@ END
TEXT DLG_NULL_G
BEGIN
PROMPT 43 11 "Quadro G"
PROMPT 43 13 "Quadro G"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_G 1 1
BEGIN
PROMPT 39 11 ""
PROMPT 39 13 ""
PICTURE 123
MESSAGE RUN,771MOD,-6,3|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
@ -393,13 +422,13 @@ END
TEXT DLG_NULL_G1
BEGIN
PROMPT 43 12 "Quadro G-1"
PROMPT 43 14 "Quadro G1"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_G1 1 1
BEGIN
PROMPT 39 12 ""
PROMPT 39 14 ""
PICTURE 123
MESSAGE RUN,771MOD,-6,5|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
@ -407,13 +436,13 @@ END
TEXT DLG_NULL_H
BEGIN
PROMPT 43 13 "Quadro H "
PROMPT 43 15 "Quadro H "
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_H 1 1
BEGIN
PROMPT 39 13 ""
PROMPT 39 15 ""
PICTURE 123
MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
@ -421,28 +450,32 @@ END
TEXT DLG_NULL_I
BEGIN
PROMPT 43 14 "Quadro I "
PROMPT 43 16 "Quadro I "
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_I 1 1
BEGIN
PROMPT 39 14 ""
PROMPT 39 16 ""
PICTURE 123
MESSAGE RUN,771MOD,-2,I|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
// Fine terza colonna
// QUARTA colonna
TEXT DLG_NULL_L
BEGIN
PROMPT 43 15 "Quadro L "
PROMPT 62 10 "Quadro L "
GROUP MENU_MAIN
END
// Forza l'esecuzione di leggi_quadri()
BUTTON DLG_STOPREC_L 1 1
BEGIN
PROMPT 39 15 ""
PROMPT 58 10 ""
PICTURE 123
MESSAGE RUN,771MOD,-3|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
@ -450,87 +483,84 @@ END
TEXT DLG_NULL_N
BEGIN
PROMPT 43 16 "Quadro N"
PROMPT 62 11 "Quadro N"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_N 1 1
BEGIN
PROMPT 39 16 ""
PROMPT 58 11 ""
PICTURE 123
MESSAGE RUN,773mod,-2,77qn,72,"Quadro N","N"|K_TAB,RILEGGI_QUADRI
MESSAGE RUN,773mod,-2,N|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
// Fine terza colonna
// QUARTA colonna
TEXT DLG_NULL_P
BEGIN
PROMPT 62 10 "Quadro P"
PROMPT 62 12 "Quadro P"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_P 1 1
BEGIN
PROMPT 58 10 ""
PROMPT 58 12 ""
PICTURE 123
MESSAGE RUN,773mod,-2,77qp,73,"Quadro P","P"|K_TAB,RILEGGI_QUADRI
MESSAGE RUN,773mod,-2,P|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
TEXT DLG_NULL_Q
BEGIN
PROMPT 62 11 "Quadro Q"
PROMPT 62 13 "Quadro Q"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_Q 1 1
BEGIN
PROMPT 58 11 ""
MESSAGE RUN,773mod,-2,77qq,74,"Quadro Q","Q"|K_TAB,RILEGGI_QUADRI
PROMPT 58 13 ""
MESSAGE RUN,773mod,-2,Q|K_TAB,RILEGGI_QUADRI
PICTURE 123
GROUP MENU_MAIN
END
TEXT DLG_NULL_R
BEGIN
PROMPT 62 12 "Quadro R"
PROMPT 62 14 "Quadro R"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_R 1 1
BEGIN
PROMPT 58 12 ""
PROMPT 58 14 ""
PICTURE 123
MESSAGE RUN,773mod,-2,77qr,75,"Quadro R","R"|K_TAB,RILEGGI_QUADRI
MESSAGE RUN,773mod,-2,R|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
TEXT DLG_NULL_S
BEGIN
PROMPT 62 13 "Quadro S"
PROMPT 62 15 "Quadro S"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_S 1 1
BEGIN
PROMPT 58 13 ""
PROMPT 58 15 ""
PICTURE 123
MESSAGE RUN,773mod,-2,77qs,76,"Quadro S","S"|K_TAB,RILEGGI_QUADRI
MESSAGE RUN,773mod,-2,S|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
TEXT DLG_NULL_T
BEGIN
PROMPT 62 14 "Quadro T"
PROMPT 62 16 "Quadro T"
GROUP MENU_MAIN
END
BUTTON DLG_STOPREC_T 1 1
BEGIN
PROMPT 58 14 ""
PROMPT 58 16 ""
PICTURE 123
MESSAGE RUN,773mod,-2,77qt,77,"Quadro T","T"|K_TAB,RILEGGI_QUADRI
MESSAGE RUN,773mod,-2,T|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN
END
// Fine QUARTA colonna

1254
m770/77cnv.cpp Executable file

File diff suppressed because it is too large Load Diff

5
m770/77cnv.url Executable file
View File

@ -0,0 +1,5 @@
#include <default.url>
MENU TASK_MENUBAR
SUBMENU MENU_FILE "~File"

View File

@ -1,20 +1,51 @@
// 77g1.cpp - Quadro G1
#include <relapp.h>
#include <config.h>
#include <msksheet.h>
#include <sort.h>
#include <tabutil.h>
#include <execp.h>
#include <progind.h>
#include <defmask.h>
#include <msksheet.h>
#include <relapp.h>
#include <recarray.h>
#include "quadrog1.h"
#include "77lib.h"
#include "774200.h"
#include "77g1a.h"
#include "771232.h"
#include "77lib.h"
HIDDEN const int RIGHE_PI = 11;
class TQuadroG1 : public TRelation_application
{
private:
TRelation* _rel;
TMask* _msk;
long _codditta;
TString16 _quadro;
TString80 _title;
bool _registra;
static bool prosp_notify(TSheet_field& s, int r, KEY k);
static bool mainmsk_handler(TMask& m, KEY k);
static bool aliquota_handler(TMask_field& f, KEY k);
protected:
virtual bool user_create();
virtual bool user_destroy();
virtual int rewrite(const TMask& m);
virtual int read(TMask& m);
virtual int write (const TMask& m);
virtual bool remove();
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_insert_mode (TMask&);
void fill_arr(TMask& m);
void arr2rel(const TMask& m);
public:
const char* taitol() { return (const char*)_title; }
TMask& main_mask() const { return (TMask&) *_msk; }
TQuadroG1();
virtual ~TQuadroG1() {};
};
inline TQuadroG1& app() { return (TQuadroG1&) main_app(); }
TQuadroG1::TQuadroG1()
{
@ -23,18 +54,92 @@ TQuadroG1::TQuadroG1()
_title = "Quadro G1";
}
inline TQuadroG1& app() { return (TQuadroG1&) main_app(); }
bool TQuadroG1::aliquota_handler(TMask_field& f, KEY k)
{
bool ok = TRUE;
if (k == K_TAB && f.focusdirty())
{
TMask& m = f.mask();
for (short id = 101; id <= 102; id++)
{
TEdit_field& utili = m.efield(id);
utili.set_dirty();
utili.on_hit();
}
}
if (k == K_ENTER)
{
TMask& m = f.mask();
TSheet_field& s = *m.get_sheet();
const int selected = s.selected();
TToken_string& row = s.row(selected);
if (selected > 2 && !row.empty_items())
{
const real aliquota = f.get();
for (int i = 0; i < s.items(); i++) if (i != selected)
{
const real aliq = s.row(i).get(2);
if (aliquota == aliq)
{
ok = f.yesno_box("L'aliquota %s%% e' gia' stata utilizzata al rigo %d.\n"
"Si desidera sommare gli importi nello stesso rigo?",
(const char*)aliq.string(".2"), i+1);
if (ok)
{
// Forza aggiornamento riga corrente dello sheet con la maschera
row.cut(0);
for (short id = 101; id <= 107; id++)
row.add(m.get(id));
// Sceglie come destinazione la riga piu' in alto
int src = selected, dst = i;
if (src < dst)
{ int tmp = src; src = dst; dst = tmp; }
// Righe conivolte nella somma
TToken_string& srcrow = s.row(src);
TToken_string& dstrow = s.row(dst);
for (int x = 0; x < 7; x++) if (x < 2 || x > 4)
{
real tot = dstrow.get(x);
if (x < 2 || dst != 2)
{
tot += real(srcrow.get(x));
dstrow.add(tot.string(), x);
}
if (dst == selected)
m.set(101+x, tot);
else
m.reset(101+x);
}
if (src == selected)
{
m.reset(103);
s.force_update(dst);
}
else
{
srcrow.cut(0);
s.force_update(src);
}
}
break;
}
}
}
}
return ok;
}
void TQuadroG1::init_insert_mode (TMask& m)
{
fill_arr(m);
}
void TQuadroG1::init_modify_mode (TMask& m)
{
}
int TQuadroG1::read(TMask& m)
{
int err = TRelation_application::read(m);
@ -45,205 +150,158 @@ int TQuadroG1::read(TMask& m)
void TQuadroG1::init_query_mode (TMask& m)
{
TString16 codditta; codditta << _codditta;
if (codditta != "0")
if (_codditta != 0)
{
m.field(F_CODDITTA).set(codditta);
m.field(F_CODDITTA).set(_codditta);
m.field(F_CODDITTA).check();
}
m.send_key(K_AUTO_ENTER,0);
// init_mask(m);
}
//void TQuadroG1::init_mask (TMask& m){}
void TQuadroG1::update_totals(TSheet_field& f)
{
int i = 0;
real tcol2, tcol3, tcol5, tcol6, tcol7;
tcol2 = tcol3 = tcol5 = tcol6 = tcol7 = ZERO;
TSheet_field& pI = f;
// Calcolo il totale
for (i = 0; i < RIGHE_PI; i++)
{
TToken_string& r = pI.row(i);
real c2(r.get(1));
real c3(r.get(2));
real c5(r.get(4));
real c6(r.get(5));
real c7(r.get(6));
tcol2 += c2;
tcol3 += c3;
tcol5 += c5;
tcol6 += c6;
tcol7 += c7;
}
// Setto le celle di totale
TToken_string& row = pI.row(i);
row.add(tcol2.string(), 1);
row.add(tcol3.string(), 2);
row.add(tcol5.string(), 4);
row.add(tcol6.string(), 5);
row.add(tcol7.string(), 6);
pI.force_update(i);
}
bool TQuadroG1::user_create()
{
_msk = new TMask("77g1a");
_rel = new TRelation(LF_QUAG1);
_codditta = get_firm_770();
_msk->disable(DLG_CANCEL); // disabilito Annulla nella toolbar
_msk->disable(DLG_NEWREC); // disabilito Nuovo nella toolbar
_msk->disable(DLG_DELREC); // disabilito Elimina nella toolbar
_msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar
_msk->set_handler(mainmsk_handler);
TSheet_field& p1 = (TSheet_field&) _msk->field(F_PI);
p1.set_notify(p1_notify);
TSheet_field& prosp = (TSheet_field&)_msk->field(F_PI);
prosp.set_notify(prosp_notify);
TMask& sm = prosp.sheet_mask();
sm.set_handler(103, aliquota_handler);
return TRUE;
}
bool TQuadroG1::user_destroy()
{
delete _rel; delete _msk;
delete _rel;
delete _msk;
if (_registra)
_rip.set(_quadro);
{
TRiporti rip;
rip.set(_quadro);
}
return TRUE;
}
void TQuadroG1::arr2rel(const TMask& m)
{
TToken_string p3a;
TToken_string p3b;
TToken_string p3c;
TToken_string p3d;
TToken_string p3e;
TToken_string p3f;
TRectype& r = _rel->curr();
int dlg; dlg = 0;
TRecord_array arr(LF_QUAG1, "NPROG");
arr.renum_key("CODDITTA", _codditta);
// Prospetto 3 - Prospetto delle ritenute
TSheet_field& pI = (TSheet_field&)m.field(F_PI);
int last_saved = 0;
TSheet_field& ss = (TSheet_field&)m.field(F_PI);
for (int i = 0; i < RIGHE_PI; i++)
for (int i = 0; i < ss.items(); i++)
{
TToken_string& r = pI.row(i);
TString ut94 (r.get(1)); // Salto data delibera che e' fisso
TString imp (r.get());
TString ali (r.get());
TString racc (r.get());
TString rimp (r.get());
TString utnsogg (r.get());
p3a.add(ut94);
p3b.add(imp);
p3c.add(ali);
p3d.add(racc);
p3e.add(rimp);
p3f.add(utnsogg);
TToken_string& row = ss.row(i);
real tot;
const real utili1s = row.get(0); tot += utili1s;
const real utili2s = row.get(); tot += utili2s;
const real aliquota = row.get();
const real racc1s = row.get(); tot += racc1s;
const real racc2s = row.get(); tot += racc2s;
const real rimp1s = row.get(); tot += rimp1s;
const real rimp2s = row.get(); tot += rimp2s;
if (i == 0 || tot > 0.0)
{
if (i < 2)
last_saved = i;
else
{
if (last_saved < 3)
last_saved = 3;
}
r.put(QG1_P12, p3a);
r.put(QG1_P13, p3b);
r.put(QG1_P14, p3c);
r.put(QG1_P15, p3d);
r.put(QG1_P16, p3e);
r.put(QG1_P17, p3f);
// Salvo i totali che servono poi per i riporti (774200.cpp)
TToken_string& r_tot = pI.row(i);
real tot_col2(r_tot.get(1));
real tot_col3(r_tot.get(2));
real tot_col5(r_tot.get(4));
real tot_col6(r_tot.get(5));
real tot_col7(r_tot.get(6));
r.put(QG1_P12TOT, tot_col2);
r.put(QG1_P13TOT, tot_col3);
r.put(QG1_P15TOT, tot_col5);
r.put(QG1_P16TOT, tot_col6);
r.put(QG1_P17TOT, tot_col7);
last_saved++;
TRectype& rec = arr.row(last_saved, TRUE);
rec.put("UTILI1S", utili1s);
rec.put("UTILI2S", utili2s);
rec.put("ALIQUOTA", aliquota);
rec.put("RACCVER1S", racc1s);
rec.put("RACCVER2S", racc2s);
rec.put("RIMPVER1S", rimp1s);
rec.put("RIMPVER2S", rimp2s);
}
}
arr.rewrite();
}
void TQuadroG1::fill_arr(TMask& m)
{
TRectype& r = _rel->curr();
TToken_string p3a(r.get(QG1_P12));
TToken_string p3b(r.get(QG1_P13));
TToken_string p3c(r.get(QG1_P14));
TToken_string p3d(r.get(QG1_P15));
TToken_string p3e(r.get(QG1_P16));
TToken_string p3f(r.get(QG1_P17));
int dlg, j; dlg = j = 0;
TRecord_array arr(LF_QUAG1, "NPROG");
arr.renum_key("CODDITTA", _codditta);
arr.read(arr.key());
const char* date_delib[20] =
{
"18-12-1977/31-12-1995",
"18-12-1977/31-12-1995",
"18-12-1977/31-12-1995",
"11-10-1976/17-12-1977",
"11-10-1976/17-12-1977",
"11-10-1976/17-12-1977",
"1-1-1974/10-10-1976",
"1-1-1974/10-10-1976",
"24-2-1964/31-12-1973",
"24-2-1964/31-12-1973",
"1-1-1963/23-2-1964"
};
int last = arr.last_row();
if (last < 16)
last = 16;
const char* aliq[15] =
TSheet_field& ss = (TSheet_field&)m.field(F_PI);
ss.destroy();
for (int i = 0; i < last; i++)
{
"10",
"12.5",
"30",
"10",
"30",
"50",
"10",
"30",
"5",
"30",
"15"
};
TSheet_field& pI = (TSheet_field&)m.field(F_PI);
const int COL_ALIQ = 3;
int ind_aliq = 0;
for (int i = 1; i <= RIGHE_PI; i++)
TToken_string& row = ss.row(i);
if (arr.exist(i+1))
{
TRectype& r = _rel->curr();
TToken_string& row = pI.row(i-1);
row.add(date_delib[i-1]);
row.add(p3a.get(i-1));
row.add(p3b.get(i-1));
row.add(p3c.get(i-1));
row.add(p3d.get(i-1));
row.add(p3e.get(i-1));
row.add(p3f.get(i-1));
row.add(aliq[ind_aliq++], 3);
pI.disable_cell(i-1, COL_ALIQ);
const TRectype& r = arr.row(i+1);
row.add(r.get("UTILI1S"), 0);
row.add(r.get("UTILI2S"), 1);
if (i > 2)
row.add(r.get("ALIQUOTA"), 2);
if (i == 0)
{
row.add(r.get("RACCVER1S"), 3);
row.add(r.get("RACCVER2S"), 4);
}
if (i != 2)
{
row.add(r.get("RIMPVER1S"), 5);
row.add(r.get("RIMPVER2S"), 6);
}
}
if (m.mode() == MODE_MOD)
update_totals(pI);
else
if (i < 3)
{
// Aggiungo la riga per i totali
TToken_string& row = pI.row(i-1);
row.add("Totali", 0);
pI.disable_cell(i-1, -1);
pI.force_update();
const char* const ali = i == 0 ? "10.00" : (i == 1 ? "12.50" : "");
row.add(ali, 2);
ss.disable_cell(i, 2);
if (i == 2)
{
ss.disable_cell(i, 5);
ss.disable_cell(i, 6);
}
}
if (i > 0)
{
ss.disable_cell(i, 3);
ss.disable_cell(i, 4);
}
}
}
int TQuadroG1::write(const TMask& m)
{
arr2rel(m);
int err = TRelation_application::write(m);
if (err == NOERR)
arr2rel(m);
_registra = err == NOERR;
return err;
}
int TQuadroG1::rewrite(const TMask& m)
{
arr2rel(m);
int err = TRelation_application::rewrite(m);
if (err == NOERR)
arr2rel(m);
_registra = err == NOERR;
return err;
}
@ -254,27 +312,22 @@ bool TQuadroG1::remove()
return _registra;
}
bool TQuadroG1::p1_notify(TSheet_field& s, int r, KEY k)
bool TQuadroG1::prosp_notify(TSheet_field& s, int r, KEY k)
{
bool ok = TRUE;
switch(k)
{
case K_ENTER:
update_totals(s);
case K_CTRL+K_INS:
s.disable_cell(r, 3);
s.disable_cell(r, 4);
break;
case K_SPACE:
break;
// Rifiuta di entrare sull'ultima riga
case K_TAB:
return r < RIGHE_PI;
break;
case K_INS:
if (s.mask().is_running())
return FALSE; // rifiuta inserimento di nuove righe
case K_DEL:
ok = r > 2;
break;
default:
break;
}
return TRUE;
return ok;
}
bool TQuadroG1::mainmsk_handler(TMask& m, KEY k)
@ -286,3 +339,14 @@ bool TQuadroG1::mainmsk_handler(TMask& m, KEY k)
}
return TRUE;
}
///////////////////////////////////////////////////////////
// Funzione chiamata dal main
///////////////////////////////////////////////////////////
bool quadro_g1(int argc, char* argv[])
{
TQuadroG1 a;
a.run(argc, argv, a.taitol());
return TRUE;
}

View File

@ -31,21 +31,30 @@ BEGIN
MESSAGE COPY,2@
END
LIST DLG_NULL 1
BEGIN
PROMPT 80 80 "Numero riga"
FIELD NPROG
ITEM "1|1"
FLAGS "D"
KEY 1
END
TEXT DLG_NULL
BEGIN
PROMPT 1 3 "@bProspetto degli utili e delle ritenute"
PROMPT 1 3 "@bUtili dei titoli esteri distribuiti nell'anno 1996"
END
SPREADSHEET F_PI 0 13
BEGIN
PROMPT 0 4 ""
ITEM "Anni@21"
ITEM "Utili corr. nel 1995"
ITEM "Importo"
ITEM "Utili nel I\nsemestre 1996@15"
ITEM "Utili nel II\nsemestre 1996@15"
ITEM "Aliquota"
ITEM "Rit.acconto"
ITEM "Rit.imposta"
ITEM "Utili non assog.a ritenuta"
ITEM "Rit. acc.\n20/7/1996@15"
ITEM "Rit. acc.\n20/1/1997@15"
ITEM "Rit. imp.\n20/7/1996@15"
ITEM "Rit. imp.\n20/1/1997@15"
END
ENDPAGE

View File

@ -1,68 +1,84 @@
// 77g1pa.uml - Quadro G-1 prospetto
PAGE "" -1 -1 76 11
PAGE "" -1 -1 62 13
STRING 101 21
GROUP DLG_NULL 60 3
BEGIN
PROMPT 1 1 "Delibera "
FLAGS "D"
PROMPT 1 1 "@bUtili corrisposti nel 1996"
END
NUMBER 101 15
BEGIN
PROMPT 2 2 "I semestre "
PICTURE "."
GROUP 1
END
NUMBER 102 15
BEGIN
PROMPT 1 2 "Utili corrisposti nel 1994 "
PROMPT 32 2 "II semestre "
PICTURE "."
GROUP 1
END
NUMBER 103 15
BEGIN
PROMPT 1 3 "Importo "
PICTURE "."
GROUP 1
END
NUMBER 104 6
NUMBER 103 6
BEGIN
PROMPT 1 4 "Aliquota "
PICTURE ".2"
NUM_EXPR {(#THIS>=0) && (#THIS<=100)}
NUM_EXPR {(#103>=0) && (#103<=100)}
END
GROUP DLG_NULL 60 3
BEGIN
PROMPT 1 5 "@bRitenute d'acconto versate entro il"
END
NUMBER 104 15
BEGIN
PROMPT 2 6 "20/7/1996 "
PICTURE "."
GROUP 1
END
NUMBER 105 15
BEGIN
PROMPT 1 5 "Ritenuta d'acconto "
PROMPT 32 6 "20/1/1997 "
PICTURE "."
GROUP 1
END
GROUP DLG_NULL 60 3
BEGIN
PROMPT 1 8 "@bRitenute d'imposta versate entro il"
END
NUMBER 106 15
BEGIN
PROMPT 1 6 "Ritenuta d'imposta "
PROMPT 2 9 "20/7/1996 "
PICTURE "."
GROUP 1
END
NUMBER 107 15
BEGIN
PROMPT 1 7 "Utili non assoggettati a ritenuta "
PROMPT 32 9 "20/1/1997 "
PICTURE "."
GROUP 1
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -13 -1 ""
PROMPT -14 -1 ""
END
BUTTON DLG_CANCEL 9 2
BEGIN
PROMPT -23 -1 ""
PROMPT -24 -1 ""
END
BUTTON DLG_AZZERA 9 2
BEGIN
PROMPT -33 -1 "A~zzera"
PROMPT -34 -1 "A~zzera"
MESSAGE RESET,1@
END

View File

@ -33,7 +33,7 @@ HIDDEN const char* ST_DOC = "StDocNoPag";
HIDDEN const char* DITTA_770 = "Ditta770";
// Arrotonda modificato { 1500 -> 1000 (e non 2000 come in round(-3)) }
real& round_770(const real& importo);
const real& round_770(const real& importo);
// Cerca di stabilire se il titolare della ditta e' PF o PG
char tipo_persona (long codditta);
@ -80,8 +80,11 @@ int anno_770();
// Mette i totali nei due parametri passati per riferimento
int conta_tipiper(const long codit, TString& quadro, int* NumFisiche, int* NumNoFisiche);
// TRUE se c'e' almeno un record sul quadro L
bool esiste_record_L(const long codditta, const int annodic);
// Ritorna il numero di quadri L aggiuntivi
int num_quadri_L_agg(const long codditta);
// Ritorna il numero di quadri N,P,Q,R,S,T aggiuntivi
int num_quadri_N_agg(const long codditta);
// TRUE se la codditta e' sogg. dichiarante
bool sogg_dic (const long codditta);

View File

@ -6,6 +6,7 @@
#include <anagr.h>
#include <tabutil.h>
#include <comuni.h>
#include <relation.h>
#include "scperc.h"
#include "perc.h"
#include "rver.h"
@ -102,7 +103,7 @@ const char* get_desc_cau(const char* codcau)
// L'unica differenza con round(-3) e' il comportamento
// alle 500 lire.
//
real& round_770(const real& importo)
const real& round_770(const real& importo)
{
__dep = ZERO;
__dep = importo / 1000.00;
@ -526,22 +527,171 @@ bool enter_dichiar_770(long codditta, int anno_dic, bool sogg_dich)
return TRUE;
}
// 20.12.95 flag di quadro compilato legato all'anno dich.
bool esiste_record_L(const long codditta, const int annodic)
// Ritorna numero quadri L aggiuntivi
int num_quadri_L_agg(const long codditta)
{
TLocalisamfile qual(LF_QUAL);
bool found = FALSE;
qual.zero();
qual.put(QUL_CODDITTA, (long)codditta);
for (qual.read(); !qual.eof(); qual.next())
{
const long cod = qual.get_long(QUL_CODDITTA);
if (cod != codditta) break;
const int adic = qual.get_int(QUL_QLAP);
found = adic == annodic;
if (found) break;
// numero righe su modulo base
const int rbase = 15;
// numero righe su modulo aggiuntivo
const int ragg = 27;
// filtro per cursori
TString filt;
filt.format("CODDITTA=%ld", codditta);
// istanza relazione per cursore
TRelation* rl;
rl = new TRelation (LF_QUAL);
// istanza cursore
TCursor* cl;
cl = new TCursor(rl,filt,1);
// numero righe compilate
int righe = (int)cl->items();
// libera istanze
delete cl;
delete rl;
// quadri esauriti sul modulo base
righe -= rbase;
if (righe <= 0)
return 0;
// calcola numero quadri aggiuntivi
div_t div_result;
div_result = div(righe, ragg);
if (div_result.rem)
div_result.quot++;
return div_result.quot;
}
return found;
// Ritorna numero quadri N,P,Q,R,S,T aggiuntivi
int num_quadri_N_agg(const long codditta)
{
// numero righe su modulo base
const int rbasen = 6;
const int rbasep = 4;
const int rbaseq = 4;
const int rbaser = 4;
const int rbases = 5;
const int rbaset = 4;
// numero righe su modulo aggiuntivo
const int raggn = 8;
const int raggp = 11;
const int raggq = 4;
const int raggr = 6;
const int raggs = 7;
const int raggt = 4;
// filtro per cursori
TString filt;
filt.format("CODDITTA=%ld", codditta);
// istanza relazioni per cursori
TRelation* rn;
rn = new TRelation (LF_QUAN);
TRelation* rp;
rp = new TRelation (LF_QUAP);
TRelation* rq;
rq = new TRelation (LF_QUAQ);
TRelation* rr;
rr = new TRelation (LF_QUAR);
TRelation* rs;
rs = new TRelation (LF_QUAS);
TRelation* rt;
rt = new TRelation (LF_QUAT);
// istanza cursori
TCursor* cn;
cn = new TCursor(rn,filt,1);
TCursor* cp;
cp = new TCursor(rp,filt,1);
TCursor* cq;
cq = new TCursor(rq,filt,1);
TCursor* cr;
cr = new TCursor(rr,filt,1);
TCursor* cs;
cs = new TCursor(rs,filt,1);
TCursor* ct;
ct = new TCursor(rt,filt,1);
// numero righe compilate
int righen = (int)cn->items();
int righep = (int)cp->items();
int righeq = (int)cq->items();
int righer = (int)cr->items();
int righes = (int)cs->items();
int righet = (int)ct->items();
// libera istanze
delete cn;
delete rn;
delete cp;
delete rp;
delete cq;
delete rq;
delete cr;
delete rr;
delete cs;
delete rs;
delete ct;
delete rt;
// quadri esauriti sul modulo base
righen -= rbasen;
righep -= rbasep;
righeq -= rbaseq;
righer -= rbaser;
righes -= rbases;
righet -= rbaset;
if (righen<=0 && righep<=0 && righeq<=0 && righer<=0 && righes<=0 && righet<=0)
return 0;
// calcola numero quadri aggiuntivi
int qagg = 0;
div_t div_result;
// quadri N
div_result = div(righen, raggn);
if (div_result.rem)
div_result.quot++;
if (div_result.quot > qagg)
qagg = div_result.quot;
// quadri P
div_result = div(righep, raggp);
if (div_result.rem)
div_result.quot++;
if (div_result.quot > qagg)
qagg = div_result.quot;
// quadri Q
div_result = div(righeq, raggq);
if (div_result.rem)
div_result.quot++;
if (div_result.quot > qagg)
qagg = div_result.quot;
// quadri R
div_result = div(righer, raggr);
if (div_result.rem)
div_result.quot++;
if (div_result.quot > qagg)
qagg = div_result.quot;
// quadri S
div_result = div(righes, raggs);
if (div_result.rem)
div_result.quot++;
if (div_result.quot > qagg)
qagg = div_result.quot;
// quadri T
div_result = div(righet, raggt);
if (div_result.rem)
div_result.quot++;
if (div_result.quot > qagg)
qagg = div_result.quot;
return qagg;
}
long sogg_estinto(const long codditta)

View File

@ -47,6 +47,9 @@
#define QBF_COGNOME 226
#define QBF_NOME 227
#define QBF_CODDIP_ANAG 228
#define QBF_CODDIP_QB 229
#define F_QB2122TIPO 230
#define GROUP_EREDE 2
#define GROUP_DIPDEC 3
@ -58,9 +61,6 @@
#define QBG_ANADIP 1
#define QBG_QUADROB 2
#define QBF_CODDIP_ANAG 228
#define QBF_CODDIP_QB 229
#define CODDITTA77 181
#define ANNODIC77 182

View File

@ -13,7 +13,7 @@ END
NUMBER QBF_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRD"
FLAGS "GRDP"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
@ -25,13 +25,13 @@ END
STRING QBF_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
FLAGS "DP"
END
NUMBER QBF_ANNODIC 4
BEGIN
PROMPT 52 3 "Anno dichiarazione "
FLAGS "DR"
FLAGS "DRP"
END
TEXT DLG_NULL

View File

@ -227,7 +227,7 @@ END
#define COLTFR0 25
#define COLTFR1 26
#define COLTFR2 35 //27
#define COLTFR2 38 //27
#define COLTFR3 49 //33
#define COLTFR4 59 //40
@ -236,7 +236,7 @@ END
GROUPBOX DLG_NULL 53 4
BEGIN
PROMPT COLTFR0 8 "TFR o ind.equip. corrisposti nel 1995 "
PROMPT COLTFR0 8 "TFR o ind.equip. corrisposti nel 1996"
END
TEXT DLG_NULL
@ -244,12 +244,14 @@ BEGIN
PROMPT COLTFR1 RIGTFR1 "17 Mese"
END
NUMBER QBF_MESEEROG 2
LISTBOX QBF_MESEEROG 9
BEGIN
PROMPT 28 RIGTFR2 ""
NUM_EXPR {(#THIS>=0) && (#THIS<13)}
WARNING "Mese non valido"
PROMPT COLTFR1 RIGTFR2 ""
ITEM " | "
FIELD LF_QUAB->MESEEROG
FLAGS "M"
VALIDATE REQIF_FUNC 1 QBF_AMMNETTO
WARNING "Inserire il mese erogazione"
GROUP GROUP_ALL
END
@ -260,16 +262,18 @@ END
STRING QBF_TITEROG 1
BEGIN
PROMPT 39 RIGTFR2 ""
PROMPT 42 RIGTFR2 ""
SHEET "Codice|Descrizione@15"
INPUT QBF_TITEROG
ITEM "|"
ITEM "|Niente"
ITEM "A|Anticipazione"
ITEM "B|Saldo"
ITEM "C|Acconto"
OUTPUT QBF_TITEROG
FIELD LF_QUAB->TITEROG
FLAGS "U"
VALIDATE REQIF_FUNC 1 QBF_AMMNETTO
WARNING "Inserire il titolo erogazione"
GROUP GROUP_ALL
END
@ -297,22 +301,23 @@ BEGIN
PICTURE "."
FLAGS "R"
FIELD LF_QUAB->AMMNETTO
MESSAGE DIRTY,QBF_MESEEROG
GROUP GROUP_ALL
END
#define COLTFRB0 2
#define COLTFRB1 2
#define COLTFRB2 7
#define COLTFRB3 14
#define COLTFRB4 31
#define COLTFRB2 14
#define COLTFRB3 21
#define COLTFRB4 38
#define RIGTFRB0 14
#define RIGTFRB1 15
#define RIGTFRB2 16
GROUPBOX DLG_NULL 48 6
GROUPBOX DLG_NULL 55 6
BEGIN
PROMPT 1 13 "Altre indennità corrisposte nel 1995"
PROMPT 1 13 "Altre indennità corrisposte nel 1996"
END
TEXT DLG_NULL
@ -325,13 +330,14 @@ BEGIN
PROMPT COLTFRB1 RIGTFRB1 "Mese"
END
NUMBER QBF_MESEEROG2 2
LISTBOX QBF_MESEEROG2 9
BEGIN
PROMPT COLTFRB1 RIGTFRB2 ""
ITEM " | "
FIELD LF_QUAB->MESEEROG2
NUM_EXPR {(#THIS>=0) && (#THIS<13)}
WARNING "Mese non valido"
FLAGS "M"
VALIDATE REQIF_FUNC 1 QBF_AMMNETTO2
WARNING "Inserire il mese erogazione"
GROUP GROUP_ALL
END
@ -347,16 +353,18 @@ END
STRING QBF_TITEROG2 1
BEGIN
PROMPT /*COLTFR2*/ 8 RIGTFRB2 ""
PROMPT 15 RIGTFRB2 ""
SHEET "Codice|Descrizione@15"
INPUT QBF_TITEROG2
ITEM "|"
ITEM "|Niente"
ITEM "A|Anticipazione"
ITEM "B|Saldo"
ITEM "C|Acconto"
OUTPUT QBF_TITEROG2
FIELD LF_QUAB->TITEROG2
FLAGS "U"
VALIDATE REQIF_FUNC 1 QBF_AMMNETTO2
WARNING "Inserire il titolo erogazione"
GROUP GROUP_ALL
END
@ -394,6 +402,7 @@ BEGIN
PICTURE "."
FLAGS "R"
FIELD LF_QUAB->AMMNETTO2
MESSAGE DIRTY,QBF_MESEEROG2
GROUP GROUP_ALL
END
@ -419,7 +428,7 @@ PAGE "2" -1 -1 78 18
#define C2 22
#define C3 57
GROUPBOX DLG_NULL 41 4
GROUPBOX DLG_NULL 45 4
BEGIN
PROMPT 1 1 "Acconti e anticipazioni erogati dal 74 al 94"
END
@ -440,7 +449,7 @@ END
TEXT DLG_NULL
BEGIN
PROMPT C2 2 "27 Altre inden."
PROMPT C2 2 "27 Altre indennità"
END
NUMBER QBF_INDEN7494 15
@ -644,19 +653,37 @@ BEGIN
END
// SESTA RIGA
GROUPBOX DLG_NULL 38 4
GROUPBOX DLG_NULL 55 4
BEGIN
PROMPT 1 15 "Art.2122 COD. CIV."
END
TEXT DLG_NULL
BEGIN
PROMPT 2 16 "41 Quota spett."
PROMPT 2 16 "41 Tipo"
END
STRING F_QB2122TIPO 1
BEGIN
PROMPT 5 17 ""
SHEET "Codice|Descrizione@60"
INPUT F_QB2122TIPO
ITEM "|Niente"
ITEM "1|Se trattasi di erogazione di indennità ai sensi dell'art.2122"
ITEM "2|In caso di eredità"
OUTPUT F_QB2122TIPO
FIELD LF_QUAB->QB2122TIPO
GROUP GROUP_DIPDEC GROUP_EREDE
END
TEXT DLG_NULL
BEGIN
PROMPT 19 16 "42 Quota spett."
END
NUMBER QBF_QUOTASPET 15
BEGIN
PROMPT 2 17 ""
PROMPT 19 17 ""
PICTURE "."
FLAGS "R"
FIELD LF_QUAB->QUOTASPET
@ -665,12 +692,12 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 19 16 "42 Indennità spett."
PROMPT 37 16 "43 Indennità spett."
END
NUMBER QBF_INDSPETT 15
BEGIN
PROMPT 19 17 ""
PROMPT 37 17 ""
PICTURE "."
FLAGS "R"
FIELD LF_QUAB->INDSPETT
@ -679,12 +706,12 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 40 16 "43 Rit. operate "
PROMPT 1 19 "44 Rit. operate "
END
NUMBER QBF_ROPE 15
BEGIN
PROMPT 40 17 ""
PROMPT 1 20 ""
PICTURE "."
FLAGS "R"
FIELD LF_QUAB->ROPE
@ -693,12 +720,12 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 57 16 "44 Impon. CSSN "
PROMPT 19 19 "45 Impon. CSSN "
END
NUMBER QBF_IMPOCSSN 15
BEGIN
PROMPT 57 17 ""
PROMPT 19 20 ""
PICTURE "."
FLAGS "R"
FIELD LF_QUAB->IMPOCSSN

View File

@ -21,6 +21,7 @@
#define F_CODANAGR2 118
#define F_ROPESPET 119
#define DLG_GENERA 400

View File

@ -2,7 +2,57 @@
#include "77qgd.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
BUTTON DLG_SAVEREC 8 2
BEGIN
PROMPT -17 -1 "~Registra"
MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC
PICTURE BMP_SAVERECDN
END
BUTTON DLG_NEWREC 8 2
BEGIN
PROMPT -27 -1 "~Nuovo"
MESSAGE EXIT,K_INS
PICTURE BMP_NEWREC
PICTURE BMP_NEWRECDN
END
BUTTON DLG_DELREC 8 2
BEGIN
PROMPT -37 -1 "~Elimina"
MESSAGE EXIT,K_DEL
PICTURE BMP_DELREC
PICTURE BMP_DELRECDN
END
BUTTON DLG_FINDREC 8 2
BEGIN
PROMPT -47 -1 "Ri~cerca"
MESSAGE EXIT,K_F9
PICTURE 126
END
BUTTON DLG_CANCEL 8 2
BEGIN
PROMPT -57 -1 "~Annulla"
MESSAGE EXIT,K_ESC
PICTURE 102
END
BUTTON DLG_QUIT 8 2
BEGIN
PROMPT -67 -1 "~Fine"
MESSAGE EXIT,K_QUIT
PICTURE BMP_QUIT
PICTURE BMP_QUITDN
END
BUTTON DLG_GENERA 8 2
BEGIN
PROMPT -77 -1 "~Genera"
END
ENDPAGE
//
@ -57,13 +107,14 @@ LIST F_TIPOA 1 12
BEGIN
PROMPT 2 7 ""
ITEM "F|Fisica"
MESSAGE COPY,F_TIPOAF
// MESSAGE COPY,F_TIPOAF
ITEM "G|Giuridica"
MESSAGE COPY,F_TIPOAF
// MESSAGE COPY,F_TIPOAF
FIELD LF_QUAGD->TIPOA
KEY 1
END
/*
LIST F_TIPOAF 1 12
BEGIN
PROMPT 7 ""
@ -71,6 +122,7 @@ BEGIN
ITEM "G|Giuridica"
FLAGS "H"
END
*/
NUMBER F_CODANAGR 5
BEGIN

View File

@ -12,6 +12,9 @@
#define QPF_ABI 112
#define QPF_CAB 113
#define QPF_DATACON 120
#define QPF_MESECON 121
#define QPF_CODDITTA 181
#define QPF_ANNODIC 182

View File

@ -4,10 +4,6 @@
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
//
// Lista modifiche
// 2.4.96 Messo CAB di 5. Abi e Cab zerofilled
//
#define G_ABICAB 7
#define G_DISTINTA 8
@ -46,7 +42,7 @@ END
NUMBER QPF_NPROG 4
BEGIN
PROMPT 1 5 "Numero "
PROMPT 2 5 "Numero "
FIELD LF_QUAP->NPROG
USE LF_QUAP SELECT (CODDITTA=#QPF_CODDITTA)
INPUT CODDITTA QPF_CODDITTA SELECT
@ -65,6 +61,20 @@ BEGIN
KEY 1
END
DATE QPF_DATACON
BEGIN
PROMPT 26 80 "Data conguaglio "
FLAGS "D"
FIELD MESECONG
END
LIST QPF_MESECON 1 12
BEGIN
PROMPT 26 5 "Mese conguaglio "
FLAGS "M"
FIELD MESECONG[4,5]
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "Imposta o soprattassa"
@ -81,6 +91,8 @@ BEGIN
FIELD LF_QUAP->IMPOSTA
PICTURE "."
FLAGS "R"
CHECKTYPE REQUIRED
WARNING "Manca l-immposta o soppratassa versata"
END
TEXT DLG_NULL
@ -119,7 +131,7 @@ BEGIN
FLAGS "R"
END
GROUPBOX DLG_NULL 0 6
GROUPBOX DLG_NULL 78 6
BEGIN
PROMPT 1 10 ""
END
@ -174,7 +186,7 @@ BEGIN
PROMPT 23 14 ""
FIELD LF_QUAP->SERIE
WARNING "Manca la serie"
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
CHECKTYPE REQUIRED
GROUP G_DISTINTA
END
@ -182,7 +194,7 @@ STRING QPF_NUMERO 11
BEGIN
PROMPT 58 14 ""
WARNING "Manca il numero"
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
CHECKTYPE REQUIRED
FIELD LF_QUAP->NUMERO
GROUP G_DISTINTA
END
@ -197,8 +209,16 @@ NUMBER QPF_ABI 5
BEGIN
PROMPT 23 14 ""
FIELD LF_QUAP->SERIE
USE %BAN SELECT CODTAB ?= "??????????"
INPUT CODTAB[1,5] QPF_ABI
INPUT CODTAB[6,10] QPF_CAB
DISPLAY "ABI@5" CODTAB[1,5]
DISPLAY "CAB@5" CODTAB[6,10]
DISPLAY "Denominazione@50" S0
OUTPUT QPF_ABI CODTAB[1,5]
OUTPUT QPF_CAB CODTAB[6,10]
CHECKTYPE REQUIRED
WARNING "Manca il codice ABI"
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
FLAGS "Z"
GROUP G_ABICAB
END
@ -213,8 +233,9 @@ NUMBER QPF_CAB 5
BEGIN
PROMPT 58 14 ""
FIELD LF_QUAP->NUMERO
COPY ALL QPF_ABI
WARNING "Manca il codice CAB"
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
CHECKTYPE REQUIRED
FLAGS "Z"
GROUP G_ABICAB
END
@ -223,7 +244,7 @@ STRING QPF_CCQUIETANZA 11
BEGIN
PROMPT 58 14 ""
WARNING "Manca il numero quietanza"
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
CHECKTYPE REQUIRED
FIELD LF_QUAP->NUMERO
GROUP G_CC
END

View File

@ -76,9 +76,8 @@ LIST QQF_MESERIF 1 12
BEGIN
PROMPT 2 9 ""
FIELD LF_QUAQ->MESEPAG
WARNING "Manca il mese"
FLAGS "M"
ITEM " | "
FLAGS "M"
END
TEXT DLG_NULL

View File

@ -5,6 +5,7 @@
#define QRF_ANNORIF 105
#define QRF_IMPOSTA 106
#define QRF_COMPENSI 107
#define QRF_TIPO 108
#define QRF_CODDITTA 181
#define QRF_ANNODIC 182

View File

@ -95,14 +95,22 @@ BEGIN
VALIDATE FIXLEN_FUNC 4
END
LIST QRF_TIPO 1 40
BEGIN
PROMPT 29 8 "Tipo "
ITEM "A|Rimborso IRPEF"
ITEM "B|Rimborso Contributo straordinario Europa"
FIELD TIPORIMB
END
TEXT DLG_NULL
BEGIN
PROMPT 29 8 "Imposta rimborsata "
PROMPT 29 9 "Imposta rimborsata "
END
NUMBER QRF_IMPOSTA 15
BEGIN
PROMPT 29 9 ""
PROMPT 29 10 ""
FIELD LF_QUAR->IMPRIMB
PICTURE "."
FLAGS "R"
@ -110,12 +118,12 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 50 8 "Compensi per l'assistenza "
PROMPT 50 9 "Compensi per l'assistenza "
END
NUMBER QRF_COMPENSI 15
BEGIN
PROMPT 50 9 ""
PROMPT 50 10 ""
FIELD LF_QUAR->COMPENSI
PICTURE "."
FLAGS "R"

View File

@ -12,6 +12,9 @@
#define QSF_ABI 112
#define QSF_CAB 113
#define QSF_DATACON 120
#define QSF_MESECON 121
#define QSF_CODDITTA 181
#define QSF_ANNODIC 182

View File

@ -44,6 +44,20 @@ BEGIN
FLAGS "DRP"
END
DATE QSF_DATACON
BEGIN
PROMPT 26 80 "Data conguaglio "
FLAGS "D"
FIELD MESECONG
END
LIST QSF_MESECON 1 12
BEGIN
PROMPT 26 5 "Mese conguaglio "
FLAGS "M"
FIELD MESECONG[4,5]
END
NUMBER QSF_NPROG 4
BEGIN
PROMPT 1 5 "Numero "
@ -81,6 +95,8 @@ BEGIN
FIELD LF_QUAS->IMPOSTA
PICTURE "."
FLAGS "R"
CHECKTYPE REQUIRED
WARNING "Manca l'imposta o soprattassa"
END
TEXT DLG_NULL
@ -119,7 +135,7 @@ BEGIN
FLAGS "R"
END
GROUPBOX DLG_NULL 0 6
GROUPBOX DLG_NULL 78 6
BEGIN
PROMPT 1 10 ""
END
@ -187,7 +203,7 @@ BEGIN
FIELD LF_QUAS->SERIE
GROUP G_DISTINTA
WARNING "Manca la serie"
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS
CHECKTYPE REQUIRED
END
STRING QSF_NUMERO 11
@ -195,7 +211,7 @@ BEGIN
PROMPT 58 14 ""
FIELD LF_QUAS->NUMERO
WARNING "Manca il numero"
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS
CHECKTYPE REQUIRED
GROUP G_DISTINTA
END
@ -204,7 +220,15 @@ BEGIN
PROMPT 23 14 ""
FIELD LF_QUAS->SERIE
WARNING "Manca il codice ABI"
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS
USE %BAN SELECT CODTAB ?= "??????????"
INPUT CODTAB[1,5] QSF_ABI
INPUT CODTAB[6,10] QSF_CAB
DISPLAY "ABI@5" CODTAB[1,5]
DISPLAY "CAB@5" CODTAB[6,10]
DISPLAY "Denominazione@50" S0
OUTPUT QSF_ABI CODTAB[1,5]
OUTPUT QSF_CAB CODTAB[6,10]
CHECKTYPE REQUIRED
FLAGS "Z"
GROUP G_ABICAB
END
@ -212,10 +236,11 @@ END
NUMBER QSF_CAB 5
BEGIN
PROMPT 58 14 ""
FIELD LF_QUAS->NUMERO
WARNING "Manca il codice CAB"
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS
FLAGS "Z"
FIELD LF_QUAS->NUMERO
COPY ALL QSF_ABI
CHECKTYPE REQUIRED
WARNING "Manca il codice CAB"
GROUP G_ABICAB
END
@ -224,7 +249,7 @@ BEGIN
PROMPT 58 14 ""
FIELD LF_QUAS->NUMERO
WARNING "Manca il numero quietanza"
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS
CHECKTYPE REQUIRED
GROUP G_CC
END

View File

@ -68,13 +68,22 @@
#define BSE_C0ACTOT "C0ACTOT"
#define BSE_C0SNSRIT "C0SNSRIT"
#define BSE_C0ROPE "C0ROPE"
#define BSE_C0TOTIMP "C0TOTIMP"
#define BSE_C0CIIAUT "C0CIIAUT"
#define BSE_C0TOTDET "C0TOTDET"
#define BSE_C0RITOPE "C0RITOPE"
#define BSE_C0CONTSSN "C0CONTSSN"
#define BSE_D0NFCOM "D0NFCOM"
#define BSE_D0NLAUT "D0NLAUT"
#define BSE_D0ACTOT "D0ACTOT"
#define BSE_D0SNSRIT "D0SNSRIT"
#define BSE_D0NSRITRC "D0NSRITRC"
#define BSE_D0ROPE "D0ROPE"
#define BSE_D0CIIAUT "D0CIIAUT"
#define BSE_DBAMMCOR "DBAMMCOR"
#define BSE_DBNSRIT "DBNSRIT"
#define BSE_DBNSRITRC "DBNSRITRC"
#define BSE_DBRITOPE "DBRITOPE"
#define BSE_D1NFCOM "D1NFCOM"
#define BSE_D1NPER "D1NPER"
#define BSE_D1TACOR "D1TACOR"
@ -89,7 +98,6 @@
#define BSE_FLART4 "FLART4"
#define BSE_QSUPPRIC "QSUPPRIC"
#define BSE_DITTACAAF "DITTACAAF"
#define BSE_C0CONTSSN "C0CONTSSN"
#define I8_1 "B0NFCOM"
#define I8_2 "B0NLDIP"

View File

@ -9,7 +9,7 @@ NUMQUOTE|3|9|0|Numero azioni prospetto 1 sezione 1
DESCRBENI|1|35|0|Descrizione dei beni
UTILI1S|4|18|0|Utili primo semestre / Importo per azione (prosp.1 sez.1) / Valore beni (prosp.1 sez.2)
UTILI2S|4|18|0|Utili secondo semestre / Importo complessivo (prosp.1 sez.1)
ALIQUOTA|4|18|0|Aliquota
ALIQUOTA|4|18|2|Aliquota
TITOLO|7|1|0|Titolo della ritenuta <A>cconto, <I>mposta
ROPE|4|18|0|Ritenute operate
1

3
m770/f120.dir Executable file
View File

@ -0,0 +1,3 @@
120
1
m770/quadrodb|0|0|117|4|Quadro D bis 770|||

18
m770/f120.trr Executable file
View File

@ -0,0 +1,18 @@
120
14
CODDITTA|3|5|0|Codice ditta
TIPOA|1|1|0|Tipo anagrafica (Sempre 'F')
CODANAGR|3|5|0|Codice anagrafica
NPROG|2|4|0|Numero progressivo di riga
CODCAUS|9|2|0|Codice causale
CAUSALE|1|1|0|15 - Causale
TOTALE|4|18|0|16 - Ammontare lordo corrisposto
SOMME|4|18|0|17 - Somme non soggette a ritenuta
IMPONIBILE|4|18|0|19 - Imponibile
PERC|4|6|2|Aliquota
IMPORTO|4|18|0|20 - Ritenute operate
SOMREGCONV|4|18|0|18 - Somme non soggette a ritenuta per reg. conv.
CONTR10|7|1|0|21 - Contributo del 10%
GENERATA|8|1|0|Riga generata dalle schede
1
CODDITTA+TIPOA+CODANAGR+NPROG|

View File

@ -1,3 +1,3 @@
36
1
m770/base|0|0|1209|4|Base modello 770|#9||
m770/base|0|0|1297|4|Base modello 770|#9||

View File

@ -1,5 +1,5 @@
36
95
99
TIPOQUA|7|1|0|Tipo dichiarazione
CODDITTA|3|5|0|Codice ditta
CODDIC|3|5|0|Codice ditta dichiarante
@ -7,94 +7,98 @@ IN_USO|8|1|0|Flag "dichiarazione in uso"
ANNODIC|2|4|0|Anno dichiarazione
RAPPR|3|5|0|Codice rappresentante
CARRAPP|2|1|0|Carica rappresentante
NATTVER|3|6|0|0
EVNATECC|8|1|0|0
CODCAAF|3|5|0|0
CODPRO|3|5|0|0
N730ALLA|3|6|0|Quadro A - numero allegati 730-96
N730ALLA2|3|6|0|Quadro A2 - numero allegati 730-95
DICRITCER|4|18|0|Dichiarazione ritenute certificate
CODCAAF|3|5|0|Codice CAAF
CODPRO|3|5|0|Codice professionista
N730ALLA|3|6|0|Quadro Abis - numero allegati
N730ALLA2|3|6|0|Quadro A2 - numero allegati
SERIE|1|5|0|Parametri generazione quadro L - serie/abi vers.
DATAVERS|5|8|0|Parametri generazione quadro L - data versamento
NUMERO|1|11|0|Parametri generazione quadro L - numero/cab vers.
A0NFCOM|3|5|0|
A0NLDIP|3|5|0|I1-1 Quadro A - Num. fogli compilati
A0COBB|4|18|0|I1-2 Quadro A - Num. lav. dipendenti
A0CNET|4|18|0|I1-3 Quadro A - Contributi obbligatori
A0EPREV|4|18|0|I1-4 Quadro A - Compensi netti
A0IITRA|4|18|0|I1-5 Quadro A - Assegni enti previdenziali
A0CTER|4|18|0|I1-6 Quadro A - Ind. tras. imponibile
A0TIMP|4|18|0|I2-7 Quadro A - Compensi da terzi
A0ILOR|4|18|0|I2-8 Quadro A - Totale imponibile
A0TDET|4|18|0|I2-9 Quadro A - Imposta lorda
A0INCDET|4|18|0|I2-10 Quadro A - Totale detrazioni
A0RTER|4|18|0|I2-11 Quadro A - Incremento detrazioni
A0RDAT|4|18|0|I3-12 Quadro A - Ritenute da terzi
A0ERIT|4|18|0|I3-13 Quadro A - Ritenute datore di lavoro
A0CARR|4|18|0|I3-14 Quadro A - Eccedenza ritenute
A0AARR|4|18|0|I3-15 Quadro A - Contributi arretrati
A0DARR|4|18|0|I3-16 Quadro A - Ammontare arretrati
A0RARR|4|18|0|I4-17 Quadro A - Detrazioni arretrati
A0RITSI|4|18|0|I4-18 Quadro A - Ritenute arretrati
A0CINPS|4|18|0|0
A0RITOPEVA|4|18|0|0
A0RITOPESA|4|18|0|0
A0CIIAUT|4|18|0|0
A0NADLAV|3|5|0|0
A0NACAAF|3|5|0|0
A0CRIMPRAS|4|18|0|0
A0CRIMP85|4|18|0|I5-23 - Quadro A - Credito d'imposta premio d'assunzione
A3NFCOM|3|5|0|I5-25 - Quadro A - Credito d'imposta ex L.85/95
A3NUMPER|3|5|0|0
A3REPT10|4|18|0|0
A3REPT12|4|18|0|0
B0NFCOM|3|5|0|0
B0NLDIP|3|5|0|I8-1 - Quadro B - Numero di fogli compilati
B0TFR93|4|18|0|I8-2 - Quadro B - Numero dipendenti
B0AI|4|18|0|I8-3 - Quadro B - TFR corrisposto nel 95
B0COLAV|4|18|0|I8-4 - Quadro B - Altre indennità nel 1995
B0TFR7492|4|18|0|I8-5 - Quadro B - Contributi obb. a carico lavoratori dipendenti
B0AI7492|4|18|0|I8-6 - Quadro B - TFR erogato dal 74 al 94
B0RITSI|4|18|0|I9-7 - Quadro B - Altre indennità erogate dal 74 al 94
B0IMP|4|18|0|I9-13 - Quadro B - Ritenute operate 'SI'
B0TIMP|4|18|0|I9-8 - Quadro B - Imponibile dell'anno
B0ROP|4|18|0|I9-9 - Quadro B - Totale imponibile
B0AIINPS|4|18|0|I9-10 - Quadro B - Ritenute operate
B0ROPESA|4|18|0|I9-11 - Quadro B - Altre indennità ai fini contr. INPS
B0CIIAUT|4|18|0|I9-12 - Quadro B - Ritenute operate 'SA'
B0CRIMPRAS|4|18|0|I9-14 - Quadro B - Credito d'imposta imprese d'autotrasporto
B0CRIMP85|4|18|0|I10-15 - Quadro B - Credito d'imposta premio d'assunzione
B1NFCOM|3|5|0|I10-16 - Quadro B - Credito d'imposta ex L.85/95
B1NPER|3|5|0|I11-1 - Quadro B1 - Numero fogli compilati
B1TIND|4|18|0|I11-2 - Quadro B1 - Numero percipienti
B1TIRM|4|18|0|I11-3 - Quadro B1 - Totale indennità
B1TICOM|4|18|0|I11-4 - Quadro B1 - Totale imp.r.m.
C0NFCOM|3|5|0|I11-5 - Quadro B1 - Totale imp.compl.
C0NLASS|3|5|0|I12-1 - Quadro C - Num. fogli compilati
C0ACTOT|4|18|0|I12-2 - Quadro C - Numero percipienti
C0CONTSSN|4|18|0|I12-3 - Quadro C - Ammontare corrisposto totale
C0SNSRIT|4|18|0|I12-4 - Quadro C - Contributi SSN
C0ROPE|4|18|0|0
C0CIIAUT|4|18|0|0
C0CRIMPRAS|4|18|0|0
D0NFCOM|3|5|0|I13-8 - Quadro C - Credito d'imposta premio d'assunzione
D0NLAUT|3|5|0|I14-1 - Quadro D - Numero fogli
D0ACTOT|4|18|0|I14-2 - Quadro D - Numero percipienti
D0SNSRIT|4|18|0|I14-3 - Quadro D - Ammontare corrisposto totale
D0ROPE|4|18|0|I14-4 - Quadro D - Somme non soggette a ritenuta
D0CIIAUT|4|18|0|I14-5 - Quadro D - Ritenute operate
D0CRIMPRAS|4|18|0|I14-6 - Quadro D - Credito di imposta imprese di autotrasporto
D0CRIMP85|4|18|0|I15-7 - Quadro D - Credito d'imposta premio d'assunzione
D1NFCOM|3|5|0|I15-8 - Quadro D - Credito d'imposta ex L.85/95
D1NPER|3|5|0|0
D1TACOR|4|18|0|0
D1SNSRIT|4|18|0|0
D1ROPE|4|18|0|0
D1CRIMPRAS|4|18|0|0
LUOVERS|7|1|0|0
TIPOVERS|7|1|0|0
A0NFCOM|3|5|0|I01-01
A0NLDIP|3|5|0|I01-02
A0COBB|4|18|0|I01-03
A0NSRIT|4|18|0|I01-04
A0EPREV|4|18|0|I01-06
A0RETPEN|4|18|0|I01-05
A0CTER|4|18|0|I02-07
A0TIMP|4|18|0|I02-08
A0ILOR|4|18|0|I02-09
A0TDET|4|18|0|I02-10
A0EUROT|4|18|0|I03-14
A0RTER|4|18|0|I02-11
A0RDAT|4|18|0|I03-12
A0ERIT|4|18|0|I03-13
A0CARR|4|18|0|I03-15
A0AARR|4|18|0|I03-16
A0DARR|4|18|0|I04-17
A0RARR|4|18|0|I04-18
A0RITSI|4|18|0|I05-22
A0CINPS|4|18|0|I04-19
A0RITOPEVA|4|18|0|I04-20
A0RITOPESA|4|18|0|I04-21
A0CIIAUT|4|18|0|I05-23
ABNADLAV|3|5|0|I06-02
ABNACAAF|3|5|0|I06-03
A0CRIMPRAS|4|18|0|I05-24
A0CRIMP85|4|18|0|I05-25
A3NFCOM|3|5|0|I08-01
A3NUMPER|3|5|0|I08-02
A3REPT10|4|18|0|I08-03
A3REPT12|4|18|0|I08-04
B0NFCOM|3|5|0|I09-01
B0NLDIP|3|5|0|I09-02
B0TFR93|4|18|0|I09-03
B0AI|4|18|0|I09-04
B0COLAV|4|18|0|I09-05
B0TFR7492|4|18|0|I09-06
B0AI7492|4|18|0|I10-07
B0RITSI|4|18|0|I11-13
B0IMP|4|18|0|I10-08
B0TIMP|4|18|0|I10-09
B0ROP|4|18|0|I10-10
B0AIINPS|4|18|0|I10-11
B0ROPESA|4|18|0|I11-12
B0CIIAUT|4|18|0|I11-14
B0CRIMPRAS|4|18|0|I11-15
B0CRIMP85|4|18|0|I11-16
B1NFCOM|3|5|0|I12-01
B1NPER|3|5|0|I12-02
B1TIND|4|18|0|I12-03
B1TIRM|4|18|0|I12-04
B1TICOM|4|18|0|I12-05
C0NFCOM|3|5|0|I13-01
C0NLASS|3|5|0|I13-02
C0ACTOT|4|18|0|I13-03
C0CONTSSN|4|18|0|I13-04
C0SNSRIT|4|18|0|I13-05
C0ROPE|4|18|0|I14-07
C0CIIAUT|4|18|0|I14-10
C0CRIMPRAS|4|18|0|I14-11
D0NFCOM|3|5|0|I15-01
D0NLAUT|3|5|0|I15-02
D0ACTOT|4|18|0|I15-03
D0SNSRIT|4|18|0|I15-04
D0ROPE|4|18|0|I15-06
D0CIIAUT|4|18|0|I16-07
D0CRIMPRAS|4|18|0|I16-08
D0CRIMP85|4|18|0|I16-09
D1NFCOM|3|5|0|I19-01
D1NPER|3|5|0|I19-02
D1TACOR|4|18|0|I19-03
D1SNSRIT|4|18|0|I19-04
D1ROPE|4|18|0|I19-05
D1CRIMPRAS|4|18|0|I19-06
LUOVERS|7|1|0|Parametri generazione quadro L - luogo versamento
TIPOVERS|7|1|0|Parametri generazione quadro L - tipo versamento
RSS|2|1|0|0
FLART4|8|1|0|0
DITTACAAF|3|5|0|0
C0TOTIMP|4|18|0|I13-06
C0TOTDET|4|18|0|I14-08
C0RITOPE|4|18|0|I14-09
D0NSRITRC|4|18|0|I15-05
ABNFCOM|3|5|0|I06-01
2
TIPOQUA+CODDITTA|
CODDIC+TIPOQUA+CODDITTA|

View File

@ -1,3 +1,3 @@
37
1
m770/basebis|0|0|1272|4|Base modello 770|#36||
m770/basebis|0|0|1511|4|Base modello 770|#36||

View File

@ -1,8 +1,8 @@
37
86
TIPOQUA|7|1|0|
CODDITTA|3|5|0|0
CODDIC|3|5|0|0
100
TIPOQUA|7|1|0|Tipo dichiarazione
CODDITTA|3|5|0|Codice ditta
CODDIC|3|5|0|Codice ditta dichiarante
CONSBASOCC|4|18|0|
LAVDIPCIN|4|18|0|
PIMPINI|5|8|0|
@ -13,79 +13,93 @@ CRIMPDL|4|18|0|0
CRIMPIVA|4|18|0|0
CRIMPRIT|4|18|0|0
CRIMPRES|4|18|0|0
QCOMP|1|25|0|0
QSUPPINV|1|26|0|0
QSUPPRIC|1|26|0|0
NSUPPM|2|4|0|0
E0NFCOM|3|5|0|0
E0NPER|3|5|0|0
E0AIMP|4|18|0|0
E0ROPE|4|18|0|0
E0SNSRIT|4|18|0|0
E0CRIMPRAS|4|18|0|0
E1NFCOM|3|5|0|0
E1NPER|3|5|0|0
E1SCOR|4|18|0|0
E1BCOM|4|18|0|0
E1ROPE|4|18|0|0
E1ACOM|4|18|0|0
E1BCOM2|4|18|0|0
E1ROPE2|4|18|0|0
E1CRIMPRAS|4|18|0|0
E2NFCOM|3|5|0|0
E2NPER|3|5|0|0
E2ROPE|4|18|0|0
E2SSRIT|4|18|0|0
E2CRIMPRAS|4|18|0|0
F0SRITA|4|18|0|0
F0ROPEA|4|18|0|0
F0TACCA|4|18|0|0
F0EDACCA|4|18|0|0
F0ERIMA|4|18|0|0
F0SSRITBF|4|18|0|0
F0ROPEBF|4|18|0|0
F0SSVA|4|18|0|0
F0ROPEVA|4|18|0|0
F0CRIMPRAS|4|18|0|0
F1TPLUA|4|18|0|0
F1ROPEA|4|18|0|0
F1SSRIT|4|18|0|0
F1ROPE|4|18|0|0
F1CRIMPRAS|4|18|0|0
F2SSRIT|4|18|0|0
F2ROPE|4|18|0|0
F2CRIMPRAS|4|18|0|0
G0NFCOM|3|5|0|0
G0NAZI1|4|16|0|0
G0UDEN1|4|18|0|0
G0UNAT1|4|18|0|0
G0IUTI2|4|18|0|0
G0ROPE|4|18|0|0
G0USRIT3|4|18|0|0
G0RACC3|4|18|0|0
G0RIMP3|4|18|0|0
G0UNSRIT3|4|18|0|0
G0USPE|4|18|0|0
G0RITSPET|4|18|0|
G0UPAG|4|18|0|0
G0NPER|3|5|0|0
G0CRIMPRAS|4|18|0|0
G1UCOR|4|18|0|0
G1USRIT|4|18|0|0
G1RACC|4|18|0|0
G1RIMP|4|18|0|0
G1UNSRIT|4|18|0|0
G1CRIMPRAS|4|18|0|0
H0CODLAV|4|18|0|0
H0COLDIP|4|18|0|0
H0NPVERH|3|5|0|0
H0NQLAGG|2|4|0|0
QCOMP|1|29|0|Quadri compilati
QSUPPINV|1|29|0|Quadri inviati
QSUPPRIC|1|29|0|Quadri ricevuti
NSUPPM|2|4|0|Numero supporti magnetici
E0NFCOM|3|5|0|I20-01
E0NPER|3|5|0|I20-02
E0AIMP|4|18|0|I20-03
E0ROPE|4|18|0|I20-04
E0SNSRIT|4|18|0|I20-05
E0CRIMPRAS|4|18|0|I20-06
E1NFCOM|3|5|0|I21-01
E1NPER|3|5|0|I21-02
E1SCOR|4|18|0|I21-03
E1BCOM|4|18|0|I21-04
E1ROPE|4|18|0|I21-05
E1ACOM|4|18|0|I21-06
E1BCOM2|4|18|0|I22-07
E1ROPE2|4|18|0|I22-08
E1CRIMPRAS|4|18|0|I22-09
E2NFCOM|3|5|0|I23-01
E2NPER|3|5|0|I23-02
E2ROPE|4|18|0|I23-04
E2SSRIT|4|18|0|I23-03
E2CRIMPRAS|4|18|0|I23-05
F0AMMPRO|4|18|0|I24-03
F0PREOPE|4|18|0|I24-04
G1RITIV2|4|18|0|I31-06
G1UTNSR1S|4|18|0|I31-07
G1UTNSR2S|4|18|0|I31-08
F0SSRITBF|4|18|0|I24-01
F0ROPEBF|4|18|0|I24-02
ABIR2R|4|18|0|I06-04
ABCS2R|4|18|0|I06-05
F0CRIMPRAS|4|18|0|I24-05
F1NFCOM|3|5|0|I25-01
F1NPER|3|5|0|I25-02
F1SSRIT|4|18|0|I25-03
F1ROPE|4|18|0|I25-04
F1CRIMPRAS|4|18|0|I25-05
F2SSRIT|4|18|0|I26-01
F2ROPE|4|18|0|I26-02
F2CRIMPRAS|4|18|0|I26-03
G0NFCOM|3|5|0|I27-01
G0UTDACOR|4|18|0|I28-07
G0UTDELDIS|4|18|0|I28-08
G0UTCOR1S|4|18|0|I28-09
G0UTCOR2S|4|18|0|I28-10
G0ROPE|4|18|0|I27-06
G0UTDACOR2|4|18|0|I29-14
G0RACC3|4|18|0|I28-11
G0RIMP3|4|18|0|I29-12
G0UNSRIT3|4|18|0|I29-13
G0USPE|4|18|0|I27-03
G0RITSPET|4|18|0|I27-04
G0UPAG|4|18|0|I27-05
G0NPER|3|5|0|I27-02
G0CRIMPRAS|4|18|0|I29-15
G1UTCOR1S|4|18|0|I30-01
G1UTCOR2S|4|18|0|I30-02
G1RITAV1|4|18|0|I30-03
G1RITAV2|4|18|0|I30-04
G1RITIV1|4|18|0|I30-05
G1CRIMPRAS|4|18|0|I31-09
H0CODLAV|4|18|0|I32-01
H0COLDIP|4|18|0|I32-02
ABIRSA|4|18|0|I06-06
M7IMRITEF|4|18|0|M7 Importo totale ritenute effettuate
L0CCONC1|1|3|0|0
L0CCONC2|1|3|0|0
L0CCONC3|1|3|0|0
L0CTES1|2|3|0|0
L0CTES2|2|3|0|0
L0CTES3|2|3|0|0
ABIR1R|4|18|0|I07-07
ABCSSA|4|18|0|I07-08
ABCS1R|4|18|0|I07-09
ABEURO|4|18|0|I07-10
ABACCTS|4|18|0|I07-11
DBNFCOM|3|5|0|I17-01
DBNPER|3|5|0|I17-02
DBAMMCOR|4|18|0|I17-03
DBNSRIT|4|18|0|I17-04
DBNSRITRC|4|18|0|I17-05
DBRITOPE|4|18|0|I17-06
DBCRIMAUT|4|18|0|I18-07
DBCRIMASS|4|18|0|I18-08
DBCRIML85|4|18|0|I18-09
2
TIPOQUA+CODDITTA|
CODDIC+TIPOQUA+CODDITTA|

View File

@ -1,3 +1,3 @@
38
1
m770/perc|0|0|31|4|Dati percipienti|#6||
m770/perc|0|0|30|4|Dati percipienti|#6||

View File

@ -1,9 +1,8 @@
38
5
4
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
FATTBIL|4|18|2|
FLAGCT|8|1|0|
1
CODDITTA+TIPOA+CODANAGR|

View File

@ -1,3 +1,3 @@
39
1
m770/schper|0|0|148|4|Schede percipienti|#9||
m770/schper|0|0|186|4|Schede percipienti|#9||

View File

@ -1,21 +1,25 @@
39
16
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
CODCAUS|9|2|0|
DATADOC|5|8|0|
NUMDOC|1|7|0|
COMPENSO|4|18|2|
SPESE|4|18|2|
IVA|4|18|2|
TOTALE|4|18|2|
FORZATURA|8|1|0|
TOTRIT|4|18|2|
RITSOC|4|18|0|
MESEC|2|2|0|
ANNOC|2|4|0|
20
CODDITTA|3|5|0|Codice ditta
TIPOA|1|1|0|Tipo percipiente
CODANAGR|3|5|0|Codice percipiente
NPROG|2|4|0|Numero progressivo di scheda
CODCAUS|9|2|0|Codice causale
DATADOC|5|8|0|Data documento
NUMDOC|1|7|0|Numero documento
COMPENSO|4|18|2|Compenso documento
SPESE|4|18|2|Spese documento
IVA|4|18|2|Iva documento
TOTALE|4|18|2|Totale documento
FORZATURA|8|1|0|Flag di forzatura controlli
TOTRIT|4|18|2|Totale ritenute (collegamento contabilità)
RITSOC|4|18|0|Ritenute sociali (collegamento contabilità)
MESEC|2|2|0|Mese competenza
ANNOC|2|4|0|Anno competenza
CAUSQUA|7|1|0|Causale quadro
FLAGTS|7|1|0|Flag T.S.
RITOPE|4|18|0|Ritenute operate
RITVER|4|18|0|Ritenute versate
2
CODDITTA+TIPOA+CODANAGR+NPROG|
CODDITTA+TIPOA+CODANAGR+DATADOC+NPROG|

View File

@ -1,17 +1,17 @@
40
13
CODDITTA|3|5|0|0
TIPOA|1|1|0|0
CODANAGR|3|5|0|0
NPROG|2|4|0|0
NRIGA|2|4|0|0
VERS1015|8|1|0|0
DATAVERS|5|8|0|0
TIPOVERS|1|1|0|0
RITENUTA|4|18|0|0
LUOVERS|1|1|0|0
NUMERO|1|11|0|0
SERIE|1|5|0|0
PROGBANC|10|6|0|
CODDITTA|3|5|0|Codice ditta
TIPOA|1|1|0|Tipo percipiente
CODANAGR|3|5|0|Codice percipiente
NPROG|2|4|0|Numero progressivo di scheda
NRIGA|2|4|0|Numero progressivo di versamento
VERS1015|8|1|0|Versamento 1015
DATAVERS|5|8|0|Data versamento
TIPOVERS|1|1|0|Tipo versamento
RITENUTA|4|18|0|Ritenuta versata
LUOVERS|1|1|0|Luogo versamento
NUMERO|1|11|0|Numero versamento
SERIE|1|5|0|Serie
PROGBANC|10|6|0|Progressivo banca
1
CODDITTA+TIPOA+CODANAGR+NPROG+NRIGA|

View File

@ -1,19 +1,19 @@
41
15
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
NRIGA|2|4|0|
DATAPAG|5|8|0|
IMPONIBILE|4|18|0|
PERC|4|6|2|
RITENUTA|4|18|0|
COMPENSO|4|18|0|
NETTO|4|18|0|
NUMVERS|3|5|0|
SPESA|4|18|0|
CTSSNPERC|4|18|0|
CTSSNCOMP|4|18|0|
CODDITTA|3|5|0|Codice ditta
TIPOA|1|1|0|Tipo percipiente
CODANAGR|3|5|0|Codice percipiente
NPROG|2|4|0|Numero progressivo di scheda
NRIGA|2|4|0|Numero progressivo di pagamento
DATAPAG|5|8|0|Data pagamento
IMPONIBILE|4|18|0|Imponibile
PERC|4|6|2|Aliquota
RITENUTA|4|18|0|Ritenuta
COMPENSO|4|18|0|Compenso
NETTO|4|18|0|Compenso netto
NUMVERS|3|5|0|Numero progressivo di versamento collegato
SPESA|4|18|0|Spesa
CTSSNPERC|4|18|0|Contributo 10% percipiente
CTSSNCOMP|4|18|0|Contributo 10% complessivo
1
CODDITTA+TIPOA+CODANAGR+NPROG+NRIGA|

View File

@ -1,3 +1,3 @@
57
1
m770/quadroa2|0|0|240|4|Quadro A2 770|||
m770/quadroa2|0|0|384|4|Quadro A2 770|||

View File

@ -1,23 +1,31 @@
57
19
CODDITTA|3|5|0|Codice ditta della dichiarazione
CODDIP|3|6|0|
27
CODDITTA|3|5|0|Codice ditta
CODDIP|3|6|0|Codice dipendente
NPROG|2|3|0|Numero progressivo del rigo
CONEFF|1|1|0|
RETCON|1|1|0|
SIRPEFRIMB|4|18|0|
VIRPEF|4|18|0|
INTIRPEF|4|18|0|
AIRPEFIV|4|18|0|
AIRPEFINT|4|18|0|
STASSA15|4|18|0|
CONTR16|4|18|0|
CONTRVER|4|18|0|
INTER18|4|18|0|
CONTV19|4|18|0|
INTE20|4|18|0|
SOPRAT21|4|18|0|
M730NLIQ|2|2|0|
CODCAAF|3|5|0|Codice CAAF che ha prestato assistenza
CONEFF|1|1|0|8 conguagli non effettuati
RETCON|1|1|0|9 rettifica conguaglio
SIRPEFRIMB|4|18|0|10 imposta rimborsata
VIRPEF|4|18|0|11 imposta versata
INTIRPEF|4|18|0|12 interessi
AIRPEFIV|4|18|0|13 imposta versata
AIRPEFINT|4|18|0|14 interessi
STASSA15|4|18|0|15 soprattassa Irpef
CONTR16|4|18|0|16 contributo a rimborso
CONTRVER|4|18|0|17 contributo versato
INTER18|4|18|0|18 interessi
CONTV19|4|18|0|19 contributo versato
INTE20|4|18|0|20 interessi
SOPRAT21|4|18|0|21 soprattasse su Cssn
M730NLIQ|2|2|0|22 Modello 730 non liquidabile
CODCAAF|3|5|0|23/24/25 CAAF che ha prestato assistenza
QA2RCB10|4|18|0|10 per rettifica B
QA2RCB11|4|18|0|11 per rettifica B
QA2RCB12|4|18|0|12 per rettifica B
QA2RCB13|4|18|0|13 per rettifica B
QA2RCB14|4|18|0|14 per rettifica B
QA2RCB15|4|18|0|15 per rettifica B
QA2RCB16|4|18|0|16 per rettifica B
QA2RCB17|4|18|0|17 per rettifica B
1
CODDITTA+CODDIP+NPROG|

View File

@ -1,3 +1,3 @@
59
1
m770/quadrob|0|0|470|4|Quadro B 770|||
m770/quadrob|0|0|471|4|Quadro B 770|||

View File

@ -1,45 +1,46 @@
59
41
42
CODDITTA|3|5|0|Codice ditta
CODDIP|3|6|0|Codice dipendente
NPROG|2|4|0|Progressivo
DATAINI|5|8|0|Data inizio rapporto di lavoro
DATAFIN|5|8|0|Data fine rapporto di lavoro
ANNICOMM|2|2|0|Periodo di commisurazione - anni
MESICOMM|2|2|0|Periodo di commisurazione - mesi
ANNICONV|2|2|0|Periodo convenzionale - anni
MESICONV|2|2|0|Periodo convenzionale - mesi
ANNIPARZ|2|2|0|Tempo parziale - anni
MESIPARZ|2|2|0|Tempo parziale - mesi
PERCPARZ|4|6|2|Tempo parziale - percentuale
QUOTAECC|4|18|0|Quota eccedente
MESEEROG|2|2|0|Mese erogazione - 95
TITEROG|1|1|0|Titolo erogazione - 95
PERCABB|4|6|2|Percentuale abbattimento - altre indennita' 95
AMMNETTO|4|18|0|Ammontare netto
MESEEROG2|2|2|0|Mese erogazione - altre indennita' 95
TITEROG2|1|1|0|Titolo erogazione - altre indennita' 95
ABBATT|4|18|0|
AMMNETTO2|4|18|0|Ammontare netto - altre indennita' 95
CONTLAV|4|18|0|Contributi obbligatori a carico del lavoratore
TFR7494|4|18|0|TFR o indennita' equipollente
INDEN7494|4|18|0|Altre indennita'
TIND7494|4|18|0|Totale indennita'
TRID|4|18|0|Totale riduzioni
TFRIND|4|18|0|TFR o indennita' equipollenti per reddito di riferimento
ALIQUOTA|4|6|2|Aliquota
RETRMEDIA|4|18|0|Retribuzione media biennio precedente
ALIQUOTA2|4|6|2|Aliquota
IMPTFR|4|18|0|Imponibile TFR
IMPIND|4|18|0|Imponibile altre indennita'
IMPANNO|4|18|0|Imponibile dell'anno
TOTIMP|4|18|0|Totale reddito imponibile
ROPEACC|4|18|0|Ritenute operate su acconti e anticipazioni erogati dal 74 al 94
IMPDOV|4|18|0|Imposta dovuta
RITECC|4|18|0|Ritenute fiscali operate in eccedenza
QUOTASPET|4|18|0|Quota spettante
INDSPETT|4|18|0|Indennita' spettante
ROPE|4|18|0|Ritenute operate
IMPOCSSN|4|18|0|Imponibile C.S.S.N.
DATAINI|5|8|0|11 Data inizio rapporto di lavoro
DATAFIN|5|8|0|12 Data fine rapporto di lavoro
ANNICOMM|2|2|0|13 Periodo di commisurazione - anni
MESICOMM|2|2|0|13 Periodo di commisurazione - mesi
ANNICONV|2|2|0|14 Periodo convenzionale - anni
MESICONV|2|2|0|14 Periodo convenzionale - mesi
ANNIPARZ|2|2|0|15 Tempo parziale - anni
MESIPARZ|2|2|0|15 Tempo parziale - mesi
PERCPARZ|4|6|2|15 Tempo parziale - percentuale
QUOTAECC|4|18|0|16 Quota eccedente
MESEEROG|2|2|0|17 Mese erogazione
TITEROG|1|1|0|18 Titolo erogazione
PERCABB|4|6|2|19 Percentuale abbattimento
AMMNETTO|4|18|0|20 Ammontare netto
MESEEROG2|2|2|0|21 Mese erogazione
TITEROG2|1|1|0|22 Titolo erogazione
ABBATT|4|18|0|23 Abbattimento
AMMNETTO2|4|18|0|24 Ammontare netto
CONTLAV|4|18|0|25 Contributi obbligatori a carico del lavoratore
TFR7494|4|18|0|26 TFR o indennita' equipollente
INDEN7494|4|18|0|27 Altre indennita'
TIND7494|4|18|0|28 Totale indennita'
TRID|4|18|0|29 Totale riduzioni
TFRIND|4|18|0|30 TFR o indennita' equipollenti per reddito di riferimento
ALIQUOTA|4|6|2|31 Aliquota
RETRMEDIA|4|18|0|32 Retribuzione media biennio precedente
ALIQUOTA2|4|6|2|33 Aliquota
IMPTFR|4|18|0|34 Imponibile TFR
IMPIND|4|18|0|35 Imponibile altre indennita'
IMPANNO|4|18|0|36 Imponibile dell'anno
TOTIMP|4|18|0|37 Totale reddito imponibile
ROPEACC|4|18|0|38 Ritenute operate su acconti e anticipazioni erogati dal 74 al 94
IMPDOV|4|18|0|39 Imposta dovuta
RITECC|4|18|0|40 Ritenute fiscali operate in eccedenza
QUOTASPET|4|18|0|42 Quota spettante
INDSPETT|4|18|0|43 Indennita' spettante
ROPE|4|18|0|44 Ritenute operate
IMPOCSSN|4|18|0|45 Imponibile C.S.S.N.
QB2122TIPO|1|1|0|41 Art.2122 - Tipo
1
CODDITTA+CODDIP+NPROG|

View File

@ -1,3 +1,3 @@
61
1
m770/quadroc|0|0|132|4|Quadro C 770|||
m770/quadroc|0|0|192|4|Quadro C 770|||

View File

@ -1,16 +1,23 @@
61
12
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
CODCAUS|9|2|0|
TOTALE|4|18|0|
CONTSSN|4|18|0|
SOMME|4|18|0|
IMPONIBILE|4|18|0|
RITENUTE|4|18|0|
NETTO|4|18|0|
PERC|4|6|2|
19
CODDITTA|3|5|0|Codice ditta 770
TIPOA|1|1|0|Tipo persona (sempre 'F')
CODANAGR|3|5|0|Codice percipiente
NPROG|2|4|0|Numero progressivo
GENERATA|8|1|0|Riga generata dalle schede
CODCAUS|9|2|0|Codice causale
ALIQUOTA|4|6|2|Aliquota applicata
CAUSALE|1|1|0|11 - Causale quadro C
TASSAZIONE|6|1|0|12 - Tassazione operata
AMMLORDO|4|18|0|13 - Ammontare lordo corrisposto
CONTROBB|4|18|0|14 - Contributi obbligatori
SOMNONSOGG|4|18|0|15 - Somme non soggette a ritenuta
IMPONIBILE|4|18|0|16 - Imponibile
IMPOSTA|4|18|0|17 - Imposta
DETCARFAM|4|18|0|18 - Detrazioni per carichi di famiglia
GGLAVDIP|2|3|0|19 - N. gg. per detrazioni da lavoro dipendente
DETLAVDIP|4|18|0|20 - Detrazioni per lavodo dipendente
TOTDET|4|18|0|21 - Totale detrazioni
RITENUTE|4|18|0|22 - Ritenute operate
1
CODDITTA+TIPOA+CODANAGR+NPROG|

View File

@ -1,3 +1,3 @@
62
1
m770/quadrod|0|0|114|4|Quadro D 770|||
m770/quadrod|0|0|116|4|Quadro D 770|||

View File

@ -1,15 +1,17 @@
62
11
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
CODCAUS|9|2|0|
TOTALE|4|18|0|
SOMME|4|18|0|
IMPONIBILE|4|18|0|
PERC|4|6|2|
IMPORTO|4|18|0|
NETTO|4|18|0|
13
CODDITTA|3|5|0|Codice ditta
TIPOA|1|1|0|Tipo anagrafica (Sempre 'F')
CODANAGR|3|5|0|Codice anagrafica
NPROG|2|4|0|Numero progressivo di riga
CODCAUS|9|2|0|Codice causale
CAUSALE|1|1|0|15 - Causale
TOTALE|4|18|0|16 - Ammontare lordo corrisposto
SOMME|4|18|0|17 - Somme non soggette a ritenuta
IMPONIBILE|4|18|0|19 - Imponibile
PERC|4|6|2|Aliquota
IMPORTO|4|18|0|20 - Ritenute operate
SOMREGCONV|4|18|0|18 - Somme non soggette a ritenuta per reg. conv.
GENERATA|8|1|0|Riga generata dalle schede
1
CODDITTA+TIPOA+CODANAGR+NPROG|

View File

@ -1,3 +1,3 @@
63
1
m770/quadrod1|0|0|132|4|Quadro D1 770|||
m770/quadrod1|0|0|116|4|Quadro D1 770|||

View File

@ -1,16 +1,17 @@
63
12
CODDITTA|3|5|0|0
TIPOA|1|1|0|0
CODANAGR|3|5|0|0
NPROG|2|4|0|0
CODCAUS|9|2|0|0
TOTALE|4|18|0|0
QUOTAPRO|4|18|0|0
SPESEANT|4|18|0|0
IMPONIBILE|4|18|0|0
PERC|4|6|2|2
IMPORTO|4|18|0|0
NETTO|4|18|0|0
13
CODDITTA|3|5|0|Codice ditta
TIPOA|1|1|0|Tipo anagrafica (sempre 'F')
CODANAGR|3|5|0|Codice anagrafica
NPROG|2|4|0|Numero progrssivo riga
CODCAUS|9|2|0|Codice causale
CAUSALE|7|1|0|11 - Causale
TOTALE|4|18|0|12 - Ammontare lordo corrisposto
QUOTAPRO|4|18|0|14 - Quota provvigioni
SPESEANT|4|18|0|13 - Spese anticipate
IMPONIBILE|4|18|0|15 - Imponibile
PERC|4|6|2|Aliquota
IMPORTO|4|18|0|16 - Ritenute operate
GENERATA|8|1|0|Riga generata dalle schede
1
CODDITTA+TIPOA+CODANAGR+NPROG|

View File

@ -1,3 +1,3 @@
64
1
m770/quadroe|0|0|96|4|Quadro E 770|||
m770/quadroe|0|0|97|4|Quadro E 770|||

View File

@ -1,14 +1,15 @@
64
10
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
CODCAUS|9|2|0|
IMPONIBILE|4|18|0|
PERC|4|6|2|
IMPORTO|4|18|0|
NETTO|4|18|0|
SOMME|4|18|0|
11
CODDITTA|3|5|0|Codice ditta
TIPOA|1|1|0|Natura giuridica del percipiente
CODANAGR|3|5|0|Codice anagrafico
NPROG|2|4|0|Numero progressivo di riga
CODCAUS|9|2|0|Codice causale
CAUSALE|7|1|0|11 - Causale quadro
IMPONIBILE|4|18|0|12 - Imponibile corrisposto
PERC|4|6|2|13 - Aliquota
IMPORTO|4|18|0|14 - Ritenute operate
NETTO|4|18|0|15 - Somme corrisposte al netto delle ritenute
SOMME|4|18|0|16 - Somme corrisposte non assoggettate a ritenuta
1
CODDITTA+TIPOA+CODANAGR+NPROG|

View File

@ -1,3 +1,3 @@
65
1
m770/quadroe1|0|0|96|4|Quadro E1 770|||
m770/quadroe1|0|0|97|4|Quadro E1 770|||

View File

@ -1,14 +1,15 @@
65
10
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
CODCAUS|9|2|0|
AMMONTARE|4|18|0|
PERC|4|6|2|
IMPORTO|4|18|0|
NETTO|4|18|0|
SOMME|4|18|0|
11
CODDITTA|3|5|0|Codice ditta
TIPOA|1|1|0|Natura giuridica
CODANAGR|3|5|0|Codice anagrafica
NPROG|2|4|0|Numero progrssivo i riga
CODCAUS|9|2|0|Codice causale
CAUSALE|7|1|0|11 - Causale quadro
SOMME|4|18|0|12 - Somme corrisposte
AMMONTARE|4|18|0|13 - Ammontare complessivo dei premi riscossi
PERC|4|6|2|14 - Aliquota
IMPORTO|4|18|0|15 - Ritenute operate
NETTO|4|18|0|16 - Netti corrisposto
1
CODDITTA+TIPOA+CODANAGR+NPROG|

View File

@ -1,3 +1,3 @@
66
1
m770/quadroe2|0|0|60|4|Quadro E2 770|||
m770/quadroe2|0|0|110|4|Quadro E2 770|||

View File

@ -1,12 +1,13 @@
66
8
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
NPROG|2|4|0|
CODCAUS|9|2|0|
SOGGRIT|4|18|0|
PERC|4|6|2|
ROPE|4|18|0|
9
CODDITTA|3|5|0|Codice ditta
TIPOA|1|1|0|Natura giuridica (F o G)
CODANAGR|3|5|0|Codice anagrafica
NPROG|2|4|0|Numero progressivo di riga
CODCAUS|9|2|0|Codice causale
DENCAUS|1|50|0|11. Denominazione fondo
SOGGRIT|4|18|0|12. Somme soggette a ritenuta
PERC|4|6|2|13. Aliquota
ROPE|4|18|0|14. Ritenute operate
1
CODDITTA+TIPOA+CODANAGR+NPROG|

View File

@ -1,9 +1,9 @@
89
5
CODDITTA|3|5|0|0
CODCAUS|9|2|0|0
COMPENSO|4|18|0|0
IMPONIBILE|4|18|0|0
RITENUTA|4|18|0|0
CODDITTA|3|5|0|Codice ditta
CODCAUS|1|2|0|Codice causale (Vale solo 'C' o 'D')
COMPENSO|4|18|0|2 - Ammontare complessivo
IMPONIBILE|4|18|0|3 - Ammontare somme soggette a ritenuta
RITENUTA|4|18|0|4 - Ritenute operate
1
CODDITTA+CODCAUS|

View File

@ -7,6 +7,5 @@
#define PRC_TIPOA "TIPOA"
#define PRC_CODANAGR "CODANAGR"
#define PRC_FATTBIL "FATTBIL"
#define PRC_FLAGCT "FLAGCT"
#endif

View File

@ -1,8 +1,7 @@
// quadn_t.cpp
#include <relapp.h>
#include <urldefid.h>
#include <tabutil.h>
#include <config.h>
#include "774200.h"
#include "77lib.h"
#include "quadron.h"
@ -13,7 +12,7 @@
#define CODDITTA77 181
#define ANNODIC77 182
class TQuadriNT_application : public TRelation_application
class TQuadriNT_app : public TRelation_application
{
static bool nprog_handler (TMask_field& m, KEY k);
static bool anno_handler (TMask_field& m, KEY k);
@ -22,7 +21,7 @@ class TQuadriNT_application : public TRelation_application
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;
TString16 _maskname;
int _num;
int _pos_quadro; // posizione nell'array dei quadri. Usato in set_comp
TString16 _quadro;
@ -57,58 +56,54 @@ protected:
virtual void init_query_mode(TMask&);
virtual void init_insert_mode(TMask&);
virtual void init_query_insert_mode(TMask&);
void set_data_cong(const TMask& m);
public:
TQuadriNT_application(const char* name, const int num, const char* quadro);
TQuadriNT_app(char quadro);
virtual ~TQuadriNT_app() { }
};
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)
TQuadriNT_app::TQuadriNT_app(char quadro)
: _MaskConCodditta(FALSE), _MaskConAnnoDic(FALSE), _msk(NULL), _rel(NULL)
{
switch (_num)
_quadro << quadro;
_maskname << "77q" << quadro;
_maskname.lower();
switch (quadro)
{
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;
case 'N': _num = LF_QUAN; _pos_quadro = N; break;
case 'P': _num = LF_QUAP; _pos_quadro = P; break;
case 'Q': _num = LF_QUAQ; _pos_quadro = Q; break;
case 'R': _num = LF_QUAR; _pos_quadro = R; break;
case 'S': _num = LF_QUAS; _pos_quadro = S; break;
case 'T': _num = LF_QUAT; _pos_quadro = T; break;
default : fatal_box("Codice quadro errato"); break;
}
}
TQuadriNT_application& app() { return (TQuadriNT_application&)main_app(); }
TQuadriNT_app& app() { return (TQuadriNT_app&)main_app(); }
void TQuadriNT_application::LeggiMask()
void TQuadriNT_app::LeggiMask()
{
_MaskConAnnoDic = _msk->id2pos(ANNODIC77) > 0;
_MaskConCodditta = _msk->id2pos(CODDITTA77) > 0;
}
bool TQuadriNT_application::MaskConAnnoDic() const
bool TQuadriNT_app::MaskConAnnoDic() const
{
return _MaskConAnnoDic;
}
void TQuadriNT_application::on_config_change()
void TQuadriNT_app::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()
bool TQuadriNT_app::user_create()
{
_msk = new TMask(_maskname);
_rel = new TRelation(_num);
@ -138,20 +133,16 @@ bool TQuadriNT_application::user_create()
return TRUE;
}
bool TQuadriNT_application::EsisteUnRec()
bool TQuadriNT_app::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;
qn.put(QN_CODDITTA, _codditta);
int err = qn.read(_isgteq);
bool yes = err == NOERR && qn.get_long(QN_CODDITTA) == _codditta;
return yes;
}
bool TQuadriNT_application::user_destroy()
bool TQuadriNT_app::user_destroy()
{
if (_quadro != "")
if (_registra)
@ -164,55 +155,65 @@ bool TQuadriNT_application::user_destroy()
// 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)
bool TQuadriNT_app::CheckImporti(const TMask& m)
{
TString impost(m.get(QNF_IMPOSTA));
TString compen(m.get(QNF_COMPENSI));
return impost.not_empty() || compen.not_empty();
const real impost(m.get(QNF_IMPOSTA));
const real compen(m.get(QNF_COMPENSI));
return impost != 0.0 || compen != 0.0;
}
int TQuadriNT_application::rewrite(const TMask& m)
void TQuadriNT_app::set_data_cong(const TMask& m)
{
m.autosave(*_rel);
const int err = _rel->rewrite();
const char q = _quadro[0];
if (q == 'P' || q == 'S')
{
const int mese = m.get_int(QPF_MESECON);
((TMask&)m).set(QPF_DATACON, TDate(1, mese, q == 'P' ? 1996 : 1997));
}
}
int TQuadriNT_app::rewrite(const TMask& m)
{
set_data_cong(m);
const int err = TRelation_application::rewrite(m);
_registra = err == NOERR;
return err;
}
int TQuadriNT_application::write(const TMask& m)
int TQuadriNT_app::write(const TMask& m)
{
m.autosave(*_rel);
const int err = _rel->write();
set_data_cong(m);
const int err = TRelation_application::write(m);
_registra = err == NOERR;
return err;
}
bool TQuadriNT_application::remove()
bool TQuadriNT_app::remove()
{
_registra = TRUE;
return TRelation_application::remove();
const bool ok = TRelation_application::remove();
_registra = ok;
return ok;
}
void TQuadriNT_application::init_mask(TMask& m)
void TQuadriNT_app::init_mask(TMask& m)
{
m.set(ANNODIC77, _anno_dic);
}
void TQuadriNT_application::init_query_mode(TMask& m)
void TQuadriNT_app::init_query_mode(TMask& m)
{
init_mask(m);
}
void TQuadriNT_application::init_insert_mode(TMask& m)
void TQuadriNT_app::init_insert_mode(TMask& m)
{
init_mask(m);
}
void TQuadriNT_application::init_query_insert_mode(TMask& m)
void TQuadriNT_app::init_query_insert_mode(TMask& m)
{
init_mask(m);
TMask_field& f = m.field(QNF_NPROG);
f.set(Get_newprog());
init_insert_mode(m);
m.set(QNF_NPROG, Get_newprog());
m.send_key(K_TAB,QNF_NPROG);
}
@ -227,19 +228,23 @@ void TQuadriNT_application::init_query_insert_mode(TMask& m)
///////////////////////////////////////////////////////////
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");
TApplication::check_parameters(argc, argv);
char quadro = 'N';
if (argc > 5)
quadro = toupper(*argv[5]);
else
quadro = toupper(*argv[2]);
TString16 title;
title << "Quadro " << quadro;
TQuadriNT_app a(quadro);
a.run(argc, argv, title);
return 0;
}
bool TQuadriNT_application::anno_handler(TMask_field& f, KEY k)
bool TQuadriNT_app::anno_handler(TMask_field& f, KEY k)
{
TMask& m = f.mask();
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
@ -254,7 +259,7 @@ bool TQuadriNT_application::anno_handler(TMask_field& f, KEY k)
return TRUE;
}
bool TQuadriNT_application::mese_handler(TMask_field& f, KEY k)
bool TQuadriNT_app::mese_handler(TMask_field& f, KEY k)
{
TMask& m = f.mask();
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
@ -267,7 +272,7 @@ bool TQuadriNT_application::mese_handler(TMask_field& f, KEY k)
}
// Per i Quadri Q e T
bool TQuadriNT_application::codreg_handler(TMask_field& f, KEY k)
bool TQuadriNT_app::codreg_handler(TMask_field& f, KEY k)
{
TMask& m = f.mask();
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
@ -280,7 +285,7 @@ bool TQuadriNT_application::codreg_handler(TMask_field& f, KEY k)
}
// Per i Quadri P e S. Codice tributo REQUIRED
bool TQuadriNT_application::codtrib_handler(TMask_field& f, KEY k)
bool TQuadriNT_app::codtrib_handler(TMask_field& f, KEY k)
{
TMask& m = f.mask();
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
@ -292,7 +297,7 @@ bool TQuadriNT_application::codtrib_handler(TMask_field& f, KEY k)
return TRUE;
}
bool TQuadriNT_application::nprog_handler(TMask_field& f, KEY k)
bool TQuadriNT_app::nprog_handler(TMask_field& f, KEY k)
{
if (k == K_TAB)
f.set_dirty();
@ -300,12 +305,12 @@ bool TQuadriNT_application::nprog_handler(TMask_field& f, KEY k)
}
// ritorna nuovo progressivo da utilizzare
long TQuadriNT_application::Get_newprog()
long TQuadriNT_app::Get_newprog()
{
long nprog = 0L;
TLocalisamfile qnr(app()._num);
TLocalisamfile qnr(_num);
qnr.zero();
qnr.put(QN_CODDITTA, (long)app()._codditta);
qnr.put(QN_CODDITTA, _codditta);
TRectype dep(qnr.curr());
for (qnr.read(_isgteq); !qnr.eof(); qnr.next())
{
@ -315,7 +320,7 @@ long TQuadriNT_application::Get_newprog()
return ++nprog;
}
bool TQuadriNT_application::tipo(TMask_field& f , KEY k)
bool TQuadriNT_app::tipo(TMask_field& f , KEY k)
{
/*
if (k == K_SPACE)
@ -332,7 +337,7 @@ bool TQuadriNT_application::tipo(TMask_field& f , KEY k)
return TRUE;
}
bool TQuadriNT_application::luogo(TMask_field& f , KEY k)
bool TQuadriNT_app::luogo(TMask_field& f , KEY k)
{
/*
if (k == K_SPACE)

View File

@ -6,8 +6,8 @@
#define QGP_DATADEL "DATADEL"
#define QGP_NUMQUOTE "NUMQUOTE"
#define QGP_DESCRBENI "DESCRBENI"
#define QGP_UTIL1S "UTIL1S"
#define QGP_UTIL2S "UTIL2S"
#define QGP_UTILI1S "UTILI1S"
#define QGP_UTILI2S "UTILI2S"
#define QGP_ALIQUOTA "ALIQUOTA"
#define QGP_TITOLO "TITOLO"
#define QGP_ROPE "ROPE"

View File

@ -21,6 +21,10 @@
#define SPR_MESEC "MESEC"
#define SPR_ANNOC "ANNOC"
#define SPR_FORCED "FORZATURA"
#define SPR_CAUSQUA "CAUSQUA"
#define SPR_FLAGTS "FLAGTS"
#define SPR_RITOPE "RITOPE"
#define SPR_RITVER "RITVER"
// Li definisco anche cosi' che e' piu' facile da ricordare
#define SCH_CODDITTA "CODDITTA"
@ -41,5 +45,9 @@
#define SCH_MESEC "MESEC"
#define SCH_ANNOC "ANNOC"
#define SCH_FORCED "FORZATURA"
#define SCH_CAUSQUA "CAUSQUA"
#define SCH_FLAGTS "FLAGTS"
#define SCH_RITOPE "RITOPE"
#define SCH_RITVER "RITVER"
#endif