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

@ -47,7 +47,11 @@ bool QA_cerca_codA(const long codditta, const long coddip, const int curprog, TS
return TRUE;
// se rettifica C,D,E,F controllo se esiste un qualsiasi altro record
if (ret == "C" || ret == "D" || ret == "E" || ret == "F")
return TRUE;
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)
{
{
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))
{
TMask& m = f.mask();
TString16 cod(f.get());
{
// 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,30 +587,62 @@ 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");
// se rettifica A abilito pagina relativa operazioni di conguaglio
if (cod == "A")
{
m.enable_page(5);
// controllo se compilato pagina operazioni di conguaglio
real ABB19 = m.get_real(F_QABRCB19);
real ABB20 = m.get_real(F_QABRCB20);
real ABB21 = m.get_real(F_QABRCB21);
real ABB22 = m.get_real(F_QABRCB22);
real ABB23 = m.get_real(F_QABRCB23);
real ABB24 = m.get_real(F_QABRCB24);
real ABB25 = m.get_real(F_QABRCB25);
real ABB26 = m.get_real(F_QABRCB26);
real ABB27 = m.get_real(F_QABRCB27);
real ABB28 = m.get_real(F_QABRCB28);
real ABB29 = m.get_real(F_QABRCB29);
real ABBTOT = ZERO;
ABBTOT += ABB19+ABB20+ABB21+ABB22+ABB23+ABB24;
ABBTOT += ABB25+ABB26+ABB27+ABB28+ABB29;
if (ABBTOT == ZERO)
f.warning_box("Compilare la pagina relativa alle operazioni di conguaglio");
}
else
m.disable_page(5);
// 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")
{
m.enable_page(5);
// controllo se compilato pagina operazioni di conguaglio
real ABB19 = m.get_real(F_QABRCB19);
real ABB20 = m.get_real(F_QABRCB20);
real ABB21 = m.get_real(F_QABRCB21);
real ABB22 = m.get_real(F_QABRCB22);
real ABB23 = m.get_real(F_QABRCB23);
real ABB24 = m.get_real(F_QABRCB24);
real ABB25 = m.get_real(F_QABRCB25);
real ABB26 = m.get_real(F_QABRCB26);
real ABB27 = m.get_real(F_QABRCB27);
real ABB28 = m.get_real(F_QABRCB28);
real ABB29 = m.get_real(F_QABRCB29);
real ABBTOT = ZERO;
ABBTOT += ABB19+ABB20+ABB21+ABB22+ABB23+ABB24;
ABBTOT += ABB25+ABB26+ABB27+ABB28+ABB29;
if (ABBTOT == ZERO)
f.warning_box("Compilare la pagina relativa alle operazioni di conguaglio");
}
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;
}
@ -953,7 +995,22 @@ void TQuadroA::init_query_insert_mode(TMask& m)
void TQuadroA::init_modify_mode(TMask& m)
{
if (QuadroA1())
m.set(QA1F_ANNORIF, _anno_dic);
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,30 +132,45 @@
#define F_CONNEFF21 213
#define F_TIPOCONG22 214
#define F_DATARIC29 215
#define QA1F_ANNORIF 410
// 771200f.uml
#define F_IIRPEFVER8 250
#define F_IIRPEFRI9 251
#define F_PRIRPEF10 252
#define F_AIRPEFINT 253
#define F_STASSA12 254
#define F_CONTR13 255
#define F_CONTR14 256
#define F_PRCSSN15 257
#define F_INTER16 258
#define F_STASSA17 259
#define F_VEFFCON18 260
#define F_SDNLIQ19 261
#define F_RETCON20 262
// 771200f.uml (quadro A2)
#define F_IIRPEFVER8 250
#define F_IIRPEFRI9 251
#define F_PRIRPEF10 252
#define F_AIRPEFINT 253
#define F_STASSA12 254
#define F_CONTR13 255
#define F_CONTR14 256
#define F_PRCSSN15 257
#define F_INTER16 258
#define F_STASSA17 259
#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"
OUTPUT QA2F_CNEFF
GROUP G_ALL
END
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
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 "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 " |Niente"
ITEM "A|Rettifica importi da conguagliare... (I num. d'ordine)"
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
NUMBER QA2F_CSSNCVER LENIMP
BEGIN
PROMPT STDIMP 5 ""
FIELD LF_QUAA2->CONTRVER
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 41 5 "17 2r.acc.CSSN 95 "
GROUP G_730
PROMPT 2 6 "18 Interessi"
END
NUMBER QA2F_CSSNCVER 15
NUMBER QA2F_CSSNINT LENIMP
BEGIN
// PROMPT 41 5 "Contr. versato "
PROMPT 61 5 ""
FIELD LF_QUAA2->CONTRVER
PICTURE "."
END
NUMBER QA2F_CSSNINT 15
BEGIN
PROMPT 2 6 "18 Interessi "
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
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
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 ""
MESSAGE EXIT,K_ESC
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
INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGDITTA RAGSOC
FIELD LF_QUAD1->CODDITTA
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 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
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
PROMPT 4 4 "Codice "
FIELD CODANAGR
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
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 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
END
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
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
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
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 <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;
}
@ -237,130 +585,6 @@ bool TQuadroG::user_destroy()
if (_registra || _bUsatoDistinta)
_rip.set(_quadro);
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)
@ -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)
@ -406,4 +640,11 @@ bool TQuadroG::mainmsk_handler(TMask& m, KEY k)
m.set_focus_field(f.dlg());
}
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
#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"
@ -276,7 +276,9 @@ BEGIN
PROMPT 63 8 ""
PICTURE "."
FIELD LF_QUAG->P32AR
MESSAGE K_TAB,F_P3TOT
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 != "")
@ -249,7 +252,8 @@ bool TQuadroI::user_create()
_msk->disable(DLG_FINDREC);
break;
case 'W':
_rel = new TRelation (LF_BASEBIS);
_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 = 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);
_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,10 +96,23 @@ 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
@ -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"
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:"
PROMPT 1 4 "Il sottoscritto dichiara di aver compilato i seguenti 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"
END
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 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 15 "Dichiara altresì di aver eseguito i versamenti risultanti dai quadri L,P,Q,"
PROMPT 62 12 "supp.magnetici."
END
TEXT DLG_NULL
NUMBER F_ANNODIC 4
BEGIN
PROMPT 1 16 "S,T e da n. "
PROMPT 1 14 "Dichiara altresì che le ritenute effettuate nel "
FLAGS "RD"
END
NUMBER F_H0NQLAGG 4
NUMBER F_DICRITCER 15
BEGIN
PROMPT 13 16 ""
FIELD LF_BASEBIS->H0NQLAGG
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,173 +351,172 @@ 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
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."
END
PROMPT 26 8 "U"
END
ENDPAGE
ENDMASK

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,420 +69,378 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 1 4 "Il sottoscritto dichiara di aver corrisposto a dipendenti e terzi nell'anno"
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:"
PROMPT 1 4 "Il sottoscritto dichiara di aver compilato i seguenti 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"
END
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 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 15 "Dichiara altresì di aver eseguito i versamenti risultanti dai quadri L,P,Q,"
PROMPT 62 12 "supp.magnetici."
END
TEXT DLG_NULL
NUMBER F_ANNODIC 4
BEGIN
PROMPT 1 16 "S,T e da n. "
PROMPT 1 14 "Dichiara altresì che le ritenute effettuate nel "
FLAGS "RD"
END
NUMBER F_H0NQLAGG 4
NUMBER F_DICRITCER 15
BEGIN
PROMPT 13 16 ""
FIELD LF_BASEBIS->H0NQLAGG
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."
END
PROMPT 26 8 "U"
END
ENDPAGE
ENDMASK

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);
@ -130,7 +128,7 @@ bool TRiporta_quadri::create()
{
TApplication::create();
_riporta = new TRiporti;
_msk = new TMask("774200a");
_msk = new TMask("774200a");
_msk->set_handler(F_CODDITTA, codditta_handler);
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
@ -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)
{
/*
@ -525,6 +692,9 @@ bool TRiporti::set(const TString& quadro, int anno, const long codditta, const l
_codditta = codditta ? codditta : get_firm_770();
_annodic = anno ? anno : anno_770();
_quadro = quadro;
// Filtro magico uguale per tutti
filt.format("CODDITTA=%ld", _codditta);
this_riporti = this;
@ -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(const long dich)
{
TConta_persone conta(LF_QUAC, _codditta);
int err = conta.read_base(dich);
if (err == NOERR)
{
conta.compute();
void TRiporti::calcola_riporti_C(TCursor* cur, 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))
{
char tipoa = cur->curr().get_char(QUC_TIPOA);
long codanagr = cur->curr().get_long(QUC_CODANAGR);
if ( (tipoa != tipoap) || (codanagr != codanagrp) )
percipienti++;
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);
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();
if (!almeno_una_riga)
almeno_una_riga = TRUE;
progn.addstatus(1);
}
long fogli = percipienti / NUM_PERC_C;
if (percipienti % NUM_PERC_C)
fogli++;
base.zero();
if (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)
{
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");
err = conta.read_basebis(0);
if (err == NOERR)
setta_flag_quadri_comp(_codditta, C, 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_D(const long dich)
{
TLocalisamfile base (LF_BASE);
real totale,somme,ritenute;
bool almeno_una_riga = FALSE;
int percipienti;
int fisiche,giuridiche;
TConta_persone conta(LF_QUAD, _codditta);
int err = conta.read_base(dich);
if (err == NOERR)
{
conta.compute();
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))
{
char tipoa = cur->curr().get_char(QUD_TIPOA);
long codanagr = cur->curr().get_long(QUD_CODANAGR);
if ( (tipoa != tipoap) || (codanagr != codanagrp) )
percipienti++;
tipoap = tipoa;
codanagrp = codanagr;
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);
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);
}
const long fogli = fogli_compilati(fisiche,giuridiche,QD_FISICHE_PER_FOGLIO,QD_NOFISICHE_PER_FOGLIO);
base.setkey(1);
base.zero();
if (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)
{
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");
}
else
warning_box("Dichiarazione non presente. Impossibile registrare i riporti");
}
void TRiporti::calcola_riporti_D1(TCursor* cur, const long dich)
void TRiporti::calcola_riporti_Dbis(const long dich)
{
TLocalisamfile base (LF_BASE);
real totale,somme,importo;
bool almeno_una_riga = FALSE;
int percipienti,fisiche,giuridiche;
TConta_persone conta(LF_QUADBIS, _codditta);
int err = conta.read_basebis(dich);
if (err == NOERR)
{
conta.compute();
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))
{
char tipoa = cur->curr().get_char(QD1_TIPOA);
long codanagr = cur->curr().get_long(QD1_CODANAGR);
if ( (tipoa != tipoap) || (codanagr != codanagrp) )
percipienti++;
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);
const TRectype& totale = conta.totale();
TRectype& basebis = conta.basebis().curr();
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();
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,QD1_FISICHE_PER_FOGLIO,QD1_NOFISICHE_PER_FOGLIO);
base.setkey(1);
base.zero();
if (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)
{
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");
}
void TRiporti::calcola_riporti_E(TCursor* cur, const long dich)
void TRiporti::calcola_riporti_D1(const long dich)
{
TLocalisamfile basebis (LF_BASEBIS);
real imponibile,somme,ritenute;
bool almeno_una_riga = FALSE;
int percipienti,fisiche,giuridiche;
TConta_persone conta(LF_QUAD1, _codditta);
int err = conta.read_base(dich);
if (err == NOERR)
{
conta.compute();
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);
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);
}
const long fogli = fogli_compilati(fisiche,giuridiche,QE_FISICHE_PER_FOGLIO,QE_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_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);
}
else
warning_box("Dichiarazione non presente. Impossibile registrare i riporti");
}
void TRiporti::calcola_riporti_E1(TCursor* cur, const long dich)
void TRiporti::calcola_riporti_E(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;
TConta_persone conta(LF_QUAE, _codditta);
int err = conta.read_basebis(dich);
if (err == NOERR)
{
conta.compute();
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);
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();
err = conta.read_basebis(0);
if (err == NOERR)
setta_flag_quadri_comp(_codditta, E, conta.righe() > 0, conta.basebis(), dich);
}
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)
void TRiporti::calcola_riporti_E1(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);
TConta_persone conta(LF_QUAE1, _codditta);
int err = conta.read_basebis(dich);
if (err == NOERR)
{
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());
}
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();
err = conta.read_basebis(0);
if (err == NOERR)
setta_flag_quadri_comp(_codditta, E1, conta.righe() > 0, conta.basebis(), dich);
}
}
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);
void TRiporti::calcola_riporti_E2(const long dich)
{
TConta_persone conta(LF_QUAE2, _codditta);
int err = conta.read_basebis(dich);
if (err == NOERR)
{
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
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;
@ -39,24 +39,24 @@ HIDDEN const char* _campi_I2[CAMPI_IB2] = { BSB_E0NFCOM,BSB_E0NPER,BSB_E0AIMP,BS
BSB_H0CODLAV,BSB_H0COLDIP};
HIDDEN const char* _campi_A [CAMPI_A] = {
QUA_DENARO, QUA_NATURA, QUA_COBBDIP, QUA_COMPNETTI,
QUA_AMMLORDO, QUA_IACOBBCD, QUA_NORIT, QUA_TOTIMP,
QUA_AIENTIPREV, QUA_CCTAMMCONT, QUA_TOTIMP2, QUA_ICTOTIMP,
QUA_DETCC, QUA_DETFC, QUA_DETAF, QUA_DETLD,
QUA_TOTDET, QUA_INCDETFC, QUA_AMRIOT, QUA_AMRIODL,
QUA_ECCRITRIMB, QUA_AMMRITDOV, QUA_ERSPSAN, QUA_PRASSVI,
QUA_CONPRECO, QUA_COBBDIP2, QUA_AMMIMP, QUA_DETIMPOS,
QUA_RITESEG, QUA_SVNASSRI, QUA_AIFCSSN, QUA_CONEFF,
QUA_IMPVERS, QUA_INTERE, QUA_CSSN95CV, QUA_INTERE2,
QUA_CNEFF, QUA_RETCON, QUA_IMPRIMB, QUA_IMPVER,
QUA_IMPVER2, QUA_INTER, QUA_STSIRPEF, QUA_CONRIMB,
QUA_INTER2, QUA_CONVER2, QUA_INTER3, QUA_STSCSSN70, QUA_M730NLIQ,
QUA_CODCAAF, QUA_DETO, QUA_INTIRPEF, QUA_CONVER
QUA_DENARO, QUA_NATURA, QUA_COBBDIP, QUA_COMPNETTI,
QUA_AMMLORDO, QUA_IACOBBCD, QUA_NORIT, QUA_TOTIMP,
QUA_AIENTIPREV, QUA_CCTAMMCONT, QUA_TOTIMP2, QUA_ICTOTIMP,
QUA_DETCC, QUA_DETFC, QUA_DETAF, QUA_DETLD,
QUA_TOTDET, QUA_INCDETFC, QUA_AMRIOT, QUA_AMRIODL,
QUA_ECCRITRIMB, QUA_AMMRITDOV, QUA_ERSPSAN, QUA_PRASSVI,
QUA_CONPRECO, QUA_COBBDIP2, QUA_AMMIMP, QUA_DETIMPOS,
QUA_RITESEG, QUA_SVNASSRI, QUA_AIFCSSN, QUA_CONEFF,
QUA_IMPVERS, QUA_INTERE, QUA_CSSN95CV, QUA_INTERE2,
QUA_CNEFF, QUA_RETCON, QUA_IMPRIMB, QUA_IMPVER,
QUA_IMPVER2, QUA_INTER, QUA_STSIRPEF, QUA_CONRIMB,
QUA_INTER2, QUA_CONVER2, QUA_INTER3, QUA_STSCSSN70, QUA_M730NLIQ,
QUA_CODCAAF, QUA_DETO, QUA_INTIRPEF, QUA_CONVER
};
class TRiporti
class TRiporti : public TObject
{
friend bool filter_func (const TRelation *);
@ -64,9 +64,12 @@ 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);
@ -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);
@ -90,7 +94,7 @@ public:
bool riporta_I_globale(const long dich);
bool riporti_dich(const long dich, const int anno);
bool set(const TString& quadro, int anno=0, const long codditta=0L, const long dichiarante=0L);
void set_compilato(const long codditta, const int posquadro, const bool compilato);
void set_compilato(const long codditta, const int posquadro, const bool compilato);
TRiporti() {}
virtual ~TRiporti() {}

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));
@ -286,28 +285,34 @@ const char* TManutenzione_quadri::make_prompt(int i, stile vivid)
break;
case 18:
__tmp << "Quadro I" ;
break;
case 19:
__tmp << "Quadro L" ;
break;
case 19:
case 20:
__tmp << "Quadro N" ;
break;
case 20:
case 21:
__tmp << "Quadro P" ;
break;
case 21:
case 22:
__tmp << "Quadro Q" ;
break;
case 22:
case 23:
__tmp << "Quadro R" ;
break;
case 23:
case 24:
__tmp << "Quadro S" ;
break;
case 24:
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;
int dlg = 0;
// 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])
{
@ -352,29 +355,6 @@ void TManutenzione_quadri::enphasize(TString& qcomp,TMask& m)
m.field(dlg).set_prompt(prompt);
_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];
}
}
}

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

@ -170,17 +170,31 @@ BEGIN
MESSAGE RUN,771MOD,-7,A|K_TAB,RILEGGI_QUADRI
PICTURE 123
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,75 +244,89 @@ 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 ""
PROMPT 1 16 ""
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
GROUP MENU_MAIN
END
// Fine prima colonna
//
// 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
END
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
END
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++)
{
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);
for (int i = 0; i < ss.items(); i++)
{
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;
}
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);
}
}
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);
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;
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"
};
TRecord_array arr(LF_QUAG1, "NPROG");
arr.renum_key("CODDITTA", _codditta);
arr.read(arr.key());
const char* aliq[15] =
{
"10",
"12.5",
"30",
"10",
"30",
"50",
"10",
"30",
"5",
"30",
"15"
};
int last = arr.last_row();
if (last < 16)
last = 16;
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++)
{
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);
}
if (m.mode() == MODE_MOD)
update_totals(pI);
else
{
// 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();
TSheet_field& ss = (TSheet_field&)m.field(F_PI);
ss.destroy();
for (int i = 0; i < last; i++)
{
TToken_string& row = ss.row(i);
if (arr.exist(i+1))
{
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 (i < 3)
{
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,35 +312,41 @@ 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)
{
if (k == K_ESC)
{
TOperable_field& f = m.focus_field();
m.set_focus_field(f.dlg());
}
TOperable_field& f = m.focus_field();
m.set_focus_field(f.dlg());
}
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

@ -30,22 +30,31 @@ BEGIN
FLAGS "D"
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 "
PROMPT 1 4 "Aliquota "
PICTURE ".2"
NUM_EXPR {(#THIS>=0) && (#THIS<=100)}
NUM_EXPR {(#103>=0) && (#103<=100)}
END
NUMBER 105 15
GROUP DLG_NULL 60 3
BEGIN
PROMPT 1 5 "Ritenuta d'acconto "
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 106 15
NUMBER 105 15
BEGIN
PROMPT 1 6 "Ritenuta d'imposta "
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 2 9 "20/7/1996 "
PICTURE "."
GROUP 1
END
NUMBER 107 15
BEGIN
PROMPT 1 7 "Utili non assoggettati a ritenuta "
BEGIN
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

@ -5,21 +5,22 @@
#include <isam.h>
#include <anagr.h>
#include <tabutil.h>
#include <comuni.h>
#include <comuni.h>
#include <relation.h>
#include "scperc.h"
#include "perc.h"
#include "rver.h"
#include "rpag.h"
#include "quadrol.h"
#include "dipend.h" // per is_erede
#include "77lib.h"
#include "77lib.h"
HIDDEN real __dep;
HIDDEN TString80 __tmp;
HIDDEN const char* _build_key(TVersamento& vers);
HIDDEN long _codditta_770 = 0L; // La ditta corrente 770
HIDDEN real __dep;
HIDDEN TString80 __tmp;
HIDDEN const char* _build_key(TVersamento& vers);
HIDDEN long _codditta_770 = 0L; // La ditta corrente 770
#define QUALIF_EREDE "11"
#define QUALIF_EREDE "11"
//////////////////////////////////////////////////////////////////////////////
// Utility varie
@ -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;
@ -397,10 +398,10 @@ TToken_string get_anag_address(char tip_anag, long cod_anag)
// decodifica indirizzo
if (anag.read() == NOERR)
{
cod_comune_df = anag.get(ANA_COMRF);
cod_comune_re = anag.get(ANA_COMRES);
// indicato domicilio fiscale
cod_comune_df = anag.get(ANA_COMRF);
cod_comune_re = anag.get(ANA_COMRES);
// indicato domicilio fiscale
if (cod_comune_df != "")
{
indirizzo = anag.get(ANA_INDRF);
@ -419,23 +420,23 @@ TToken_string get_anag_address(char tip_anag, long cod_anag)
}
// lettura anagrafica comuni
comuni.setkey(1);
comuni.zero();
comuni.put(COM_COM,cod_comune);
comuni.setkey(1);
comuni.zero();
comuni.put(COM_COM,cod_comune);
// decodifica località e provincia
if (comuni.read() == NOERR)
{
localita = comuni.get(COM_DENCOM);
provincia= comuni.get(COM_PROVCOM);
}
// preparazione token_string
address=localita;
address.add(indirizzo);
address.add(numerociv);
address.add(cap);
address.add(provincia);
// decodifica località e provincia
if (comuni.read() == NOERR)
{
localita = comuni.get(COM_DENCOM);
provincia= comuni.get(COM_PROVCOM);
}
// preparazione token_string
address=localita;
address.add(indirizzo);
address.add(numerociv);
address.add(cap);
address.add(provincia);
}
return address;
@ -526,28 +527,177 @@ 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)
{
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;
}
return found;
// Ritorna numero quadri L aggiuntivi
int num_quadri_L_agg(const long codditta)
{
// 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;
}
// 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)
{
TLocalisamfile base(LF_BASE);
long coddic = 0L;
long coddic = 0L;
base.zero();
base.setkey(1);
@ -675,7 +825,7 @@ bool TPercipiente::elimina_schede()
int TSchedaP::anno_doc() const
{
int anno_doc;
int anno_doc;
anno_doc = _data_doc.year();
return anno_doc;
}
@ -841,8 +991,8 @@ void TVersamento_stampa::set(const long codditta, const char tipoa, const long c
(_tipoa != '\0' && tipoa != _tipoa) || (_codditta != 0 && _codditta != codditta) ||
(_codanagr != 0 && _codanagr != codanagr) )
{
_gia_letti_pag = FALSE;
_importo_versato = ZERO;
_gia_letti_pag = FALSE;
_importo_versato = ZERO;
_importo_versato_residuo = ZERO;
}
@ -894,8 +1044,8 @@ HIDDEN TVersamento __vers;
real TVersamento_stampa::vers_stampa(TLocalisamfile* rpag, const int nriga_pag,
const real& impvers, const real& ritenpag)
{
real vers_stampa = ZERO;
real vers_residuo = ZERO;
real vers_stampa = ZERO;
real vers_residuo = ZERO;
const int numpags = num_pags(rpag);
// se l'importo versato e' minore della ritenuta oppure c'e' solo un

View File

@ -43,10 +43,13 @@
#define QBF_IMPOCSSN 222
#define QBF_RAGDITTA 223
#define QBF_ANADIP_CODDIP 224
#define QBF_QUAB_CODDIP 225
#define QBF_QUAB_CODDIP 225
#define QBF_COGNOME 226
#define QBF_NOME 227
#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"
FIELD LF_QUAB->MESEEROG
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"
FLAGS "U"
VALIDATE REQIF_FUNC 1 QBF_AMMNETTO
WARNING "Inserire il titolo erogazione"
GROUP GROUP_ALL
END
@ -296,23 +300,24 @@ BEGIN
PROMPT COLTFR4 RIGTFR2 ""
PICTURE "."
FLAGS "R"
FIELD LF_QUAB->AMMNETTO
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 COLTFRB0 2
#define COLTFRB1 2
#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 ""
FIELD LF_QUAB->MESEEROG2
NUM_EXPR {(#THIS>=0) && (#THIS<13)}
WARNING "Mese non valido"
PROMPT COLTFRB1 RIGTFRB2 ""
ITEM " | "
FIELD LF_QUAB->MESEEROG2
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"
FLAGS "U"
VALIDATE REQIF_FUNC 1 QBF_AMMNETTO2
WARNING "Inserire il titolo erogazione"
GROUP GROUP_ALL
END
@ -393,7 +401,8 @@ BEGIN
PROMPT COLTFRB4 RIGTFRB2 ""
PICTURE "."
FLAGS "R"
FIELD LF_QUAB->AMMNETTO2
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 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 2 16 "41 Quota spett."
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

@ -1,26 +1,27 @@
// 77qgd.h
#define F_CODDITTA 101
#define F_TIPOA 102
#define F_CODANAGR 103
#define F_NPROG 104
#define F_UTSPETT 105
#define F_UTPAG 106
#define F_ROPE 107
#define F_NUMQUOTE 108
#define F_CODDITTA 101
#define F_TIPOA 102
#define F_CODANAGR 103
#define F_NPROG 104
#define F_UTSPETT 105
#define F_UTPAG 106
#define F_ROPE 107
#define F_NUMQUOTE 108
#define F_RAGSOC 109
#define F_RAGSOCCOM 110
#define F_RAGDITTA 111
#define F_ANNODIC 112
#define F_TIPOAF 113
#define F_CODANAGRPERC 114
#define F_CODANAGRCOM 115
#define F_RAGSOCPER 116
#define F_RAGSOC 109
#define F_RAGSOCCOM 110
#define F_RAGDITTA 111
#define F_ANNODIC 112
#define F_TIPOAF 113
#define F_CODANAGRPERC 114
#define F_CODANAGRCOM 115
#define F_RAGSOCPER 116
#define F_RAGSOC2 117
#define F_RAGSOC2 117
#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

@ -1,20 +1,23 @@
// 77qp.h
#define QPF_NPROG 102
#define QPF_RAGDITTA 103
#define QPF_IMPOSTA 104
#define QPF_INTERDIP 105
#define QPF_INTERDAT 106
#define QPF_TIPOVERS 107
#define QPF_CODTRIB 108
#define QPF_DATAVERS 109
#define QPF_NUMERO 110
#define QPF_SERIE 111
#define QPF_ABI 112
#define QPF_CAB 113
// 77qp.h
#define QPF_NPROG 102
#define QPF_RAGDITTA 103
#define QPF_IMPOSTA 104
#define QPF_INTERDIP 105
#define QPF_INTERDAT 106
#define QPF_TIPOVERS 107
#define QPF_CODTRIB 108
#define QPF_DATAVERS 109
#define QPF_NUMERO 110
#define QPF_SERIE 111
#define QPF_ABI 112
#define QPF_CAB 113
#define QPF_CODDITTA 181
#define QPF_ANNODIC 182
#define QPF_DATACON 120
#define QPF_MESECON 121
#define QPF_CODDITTA 181
#define QPF_ANNODIC 182
#define QPF_CCQUIETANZA 183
#define QPF_CCQUIETANZA 183

View File

@ -4,14 +4,10 @@
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
#define G_CC 9
#define G_ABICAB 7
#define G_DISTINTA 8
#define G_CC 9
PAGE "Quadro P" -1 -1 78 18
@ -43,28 +39,42 @@ BEGIN
PROMPT 52 3 "Anno dichiarazione "
FLAGS "DRP"
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
INPUT NPROG QPF_NPROG
DISPLAY "Num." NPROG
DISPLAY "Imposta versata" IMPOSTA
DISPLAY "Interessi dipendente" INTERDIP
DISPLAY "Interessi datore di lavoro" INTERDAT
DISPLAY "Tipo" TIPOVERS
DISPLAY "Codice tributo" CODTRIB
DISPLAY "Data versamento" DATAVERS
DISPLAY "Serie/ABI" SERIE
DISPLAY "Numero/Bollettino/CAB" NUMERO
DISPLAY "Num." NPROG
DISPLAY "Imposta versata" IMPOSTA
DISPLAY "Interessi dipendente" INTERDIP
DISPLAY "Interessi datore di lavoro" INTERDAT
DISPLAY "Tipo" TIPOVERS
DISPLAY "Codice tributo" CODTRIB
DISPLAY "Data versamento" DATAVERS
DISPLAY "Serie/ABI" SERIE
DISPLAY "Numero/Bollettino/CAB" NUMERO
OUTPUT QPF_NPROG NPROG
CHECKTYPE REQUIRED
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
@ -212,9 +232,10 @@ END
NUMBER QPF_CAB 5
BEGIN
PROMPT 58 14 ""
FIELD LF_QUAP->NUMERO
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

@ -43,16 +43,16 @@ BEGIN
USE LF_QUAQ SELECT (CODDITTA=#QQF_CODDITTA)
INPUT CODDITTA QQF_CODDITTA SELECT
INPUT NPROG QQF_NPROG
DISPLAY "Num." NPROG
DISPLAY "Mese" MESEPAG
DISPLAY "Anno" ANNOPAG
DISPLAY "Contributo versato" CONTVERS
DISPLAY "Contributo rimborsato" CONTRIMB
DISPLAY "Interessi o soprattasse" INTERESSI
DISPLAY "Cod.reg." CODREG
OUTPUT QQF_NPROG NPROG
OUTPUT QQF_CONTRIMB CONTRIMB
OUTPUT QQF_CONTVERS CONTVERS
DISPLAY "Num." NPROG
DISPLAY "Mese" MESEPAG
DISPLAY "Anno" ANNOPAG
DISPLAY "Contributo versato" CONTVERS
DISPLAY "Contributo rimborsato" CONTRIMB
DISPLAY "Interessi o soprattasse" INTERESSI
DISPLAY "Cod.reg." CODREG
OUTPUT QQF_NPROG NPROG
OUTPUT QQF_CONTRIMB CONTRIMB
OUTPUT QQF_CONTVERS CONTVERS
CHECKTYPE REQUIRED
KEY 1
END
@ -76,9 +76,8 @@ LIST QQF_MESERIF 1 12
BEGIN
PROMPT 2 9 ""
FIELD LF_QUAQ->MESEPAG
WARNING "Manca il mese"
ITEM " | "
FLAGS "M"
ITEM "|"
END
TEXT DLG_NULL

View File

@ -1,13 +1,14 @@
// 77qr.h
#define QRF_NPROG 102
#define QRF_RAGDITTA 103
#define QRF_MESERIF 104
#define QRF_ANNORIF 105
#define QRF_IMPOSTA 106
#define QRF_COMPENSI 107
#define QRF_NPROG 102
#define QRF_RAGDITTA 103
#define QRF_MESERIF 104
#define QRF_ANNORIF 105
#define QRF_IMPOSTA 106
#define QRF_COMPENSI 107
#define QRF_TIPO 108
#define QRF_CODDITTA 181
#define QRF_ANNODIC 182
#define QRF_CODDITTA 181
#define QRF_ANNODIC 182

View File

@ -43,16 +43,16 @@ BEGIN
USE LF_QUAR SELECT (CODDITTA=#QRF_CODDITTA)
INPUT CODDITTA QRF_CODDITTA SELECT
INPUT NPROG QRF_NPROG
DISPLAY "Num." NPROG
DISPLAY "Num." NPROG
DISPLAY "Mese" MESERIF
DISPLAY "Anno" ANNORIF
DISPLAY "Imposta rimborsata" IMPRIMB
DISPLAY "Compensi per l'assistenza" COMPENSI
OUTPUT QRF_NPROG NPROG
OUTPUT QRF_COMPENSI COMPENSI
OUTPUT QRF_IMPOSTA IMPRIMB
OUTPUT QRF_ANNORIF ANNORIF
OUTPUT QRF_MESERIF MESERIF
DISPLAY "Imposta rimborsata" IMPRIMB
DISPLAY "Compensi per l'assistenza" COMPENSI
OUTPUT QRF_NPROG NPROG
OUTPUT QRF_COMPENSI COMPENSI
OUTPUT QRF_IMPOSTA IMPRIMB
OUTPUT QRF_ANNORIF ANNORIF
OUTPUT QRF_MESERIF MESERIF
CHECKTYPE REQUIRED
KEY 1
END
@ -93,16 +93,24 @@ BEGIN
CHECKTYPE REQUIRED
FIELD LF_QUAR->ANNORIF
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

@ -1,20 +1,23 @@
// 77qs.h
#define QSF_NPROG 102
#define QSF_RAGDITTA 103
#define QSF_IMPOSTA 104
#define QSF_INTERDIP 105
#define QSF_INTERDAT 106
#define QSF_TIPOVERS 107
#define QSF_CODTRIB 108
#define QSF_DATAVERS 109
#define QSF_NUMERO 110
#define QSF_SERIE 111
#define QSF_ABI 112
#define QSF_CAB 113
#define QSF_NPROG 102
#define QSF_RAGDITTA 103
#define QSF_IMPOSTA 104
#define QSF_INTERDIP 105
#define QSF_INTERDAT 106
#define QSF_TIPOVERS 107
#define QSF_CODTRIB 108
#define QSF_DATAVERS 109
#define QSF_NUMERO 110
#define QSF_SERIE 111
#define QSF_ABI 112
#define QSF_CAB 113
#define QSF_CODDITTA 181
#define QSF_ANNODIC 182
#define QSF_DATACON 120
#define QSF_MESECON 121
#define QSF_CODDITTA 181
#define QSF_ANNODIC 182
#define QSF_CCQUIETANZA 183
#define QSF_CCQUIETANZA 183

View File

@ -6,12 +6,12 @@ TOOLBAR "" 0 20 0 2
ENDPAGE
//
// Lista modifiche
// 2.4.96 Messo CAB di 5. Abi e Cab zerofilled
// 2.4.96 Messo CAB di 5. Abi e Cab zerofilled
//
#define G_ABICAB 7
#define G_DISTINTA 8
#define G_CC 9
#define G_ABICAB 7
#define G_DISTINTA 8
#define G_CC 9
PAGE "Quadro S" -1 -1 78 18
@ -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 "
@ -51,16 +65,16 @@ BEGIN
USE LF_QUAS SELECT (CODDITTA=#QSF_CODDITTA)
INPUT CODDITTA QSF_CODDITTA SELECT
INPUT NPROG QSF_NPROG
DISPLAY "Num." NPROG
DISPLAY "Imposta versata" IMPOSTA
DISPLAY "Interessi dipendente" INTERDIP
DISPLAY "Interessi datore di lavoro" INTERDAT
DISPLAY "Tipo" TIPOVERS
DISPLAY "Codice tributo" CODTRIB
DISPLAY "Data versamento" DATAVERS
DISPLAY "Serie/ABI" SERIE
DISPLAY "Numero/Bollettino/CAB" NUMERO
OUTPUT QSF_NPROG NPROG
DISPLAY "Num." NPROG
DISPLAY "Imposta versata" IMPOSTA
DISPLAY "Interessi dipendente" INTERDIP
DISPLAY "Interessi datore di lavoro" INTERDAT
DISPLAY "Tipo" TIPOVERS
DISPLAY "Codice tributo" CODTRIB
DISPLAY "Data versamento" DATAVERS
DISPLAY "Serie/ABI" SERIE
DISPLAY "Numero/Bollettino/CAB" NUMERO
OUTPUT QSF_NPROG NPROG
CHECKTYPE REQUIRED
KEY 1
END
@ -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

@ -67,14 +67,23 @@
#define BSE_C0NLASS "C0NLASS"
#define BSE_C0ACTOT "C0ACTOT"
#define BSE_C0SNSRIT "C0SNSRIT"
#define BSE_C0ROPE "C0ROPE"
#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,16 +98,15 @@
#define BSE_FLART4 "FLART4"
#define BSE_QSUPPRIC "QSUPPRIC"
#define BSE_DITTACAAF "DITTACAAF"
#define BSE_C0CONTSSN "C0CONTSSN"
#define I8_1 "B0NFCOM"
#define I8_2 "B0NLDIP"
#define I8_3 "B0TFR93"
#define I8_4 "B0AI"
#define I8_5 "B0COLAV"
#define I8_6 "B0TFR7492"
#define I9_7 "B0AI7492"
#define I9_8 "B0IMP"
#define I9_9 "B0TIMP"
#define I9_10 "B0ROP"
#define I8_1 "B0NFCOM"
#define I8_2 "B0NLDIP"
#define I8_3 "B0TFR93"
#define I8_4 "B0AI"
#define I8_5 "B0COLAV"
#define I8_6 "B0TFR7492"
#define I9_7 "B0AI7492"
#define I9_8 "B0IMP"
#define I9_9 "B0TIMP"
#define I9_10 "B0ROP"

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"
@ -10,10 +9,10 @@
#include "77qq.h"
#include "77qp.h"
#define CODDITTA77 181
#define ANNODIC77 182
#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,26 +21,26 @@ 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
int _pos_quadro; // posizione nell'array dei quadri. Usato in set_comp
TString16 _quadro;
TRiporti _rip;
TRelation* _rel;
TMask* _msk;
bool _registra;
int _anno_dic;
bool _MaskConAnnoDic, _MaskConCodditta;
bool MaskConAnnoDic() const;
bool MaskConCodditta() const { return _MaskConCodditta; }
void LeggiMask();
bool EsisteUnRec();
bool QuadroNoR() const { return _num == LF_QUAN || _num == LF_QUAR; }
bool QuadroPoS() const { return _num == LF_QUAP || _num == LF_QUAS; }
bool QuadroQoT() const { return _num == LF_QUAQ || _num == LF_QUAT; }
bool CheckImporti(const TMask& m);
long Get_newprog();
long _codditta;
int _anno_dic;
bool _MaskConAnnoDic, _MaskConCodditta;
bool MaskConAnnoDic() const;
bool MaskConCodditta() const { return _MaskConCodditta; }
void LeggiMask();
bool EsisteUnRec();
bool QuadroNoR() const { return _num == LF_QUAN || _num == LF_QUAR; }
bool QuadroPoS() const { return _num == LF_QUAP || _num == LF_QUAS; }
bool QuadroQoT() const { return _num == LF_QUAQ || _num == LF_QUAT; }
bool CheckImporti(const TMask& m);
long Get_newprog();
long _codditta;
protected:
virtual bool user_create();
@ -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)
{
switch (_num)
TQuadriNT_app::TQuadriNT_app(char quadro)
: _MaskConCodditta(FALSE), _MaskConAnnoDic(FALSE), _msk(NULL), _rel(NULL)
{
_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)
{
m.autosave(*_rel);
const int err = _rel->write();
int TQuadriNT_app::write(const TMask& m)
{
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);
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);
}
@ -226,20 +227,24 @@ void TQuadriNT_application::init_query_insert_mode(TMask& m)
// 773,-2,77qn,72,"Quadro N","N"
///////////////////////////////////////////////////////////
int quadriN_T(int argc, char* argv[])
{
TFilename mask;
int num = 0;
if (argc > 1)
mask = argv[2];
num = atoi(argv[3]);
const char* title = argv[4];
const char* quadro = argv[5];
TQuadriNT_application a(mask, num, quadro);
a.run(argc, argv, title ? title : "Test Relation Application");
{
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,30 +297,30 @@ 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();
f.set_dirty();
return TRUE;
}
// ritorna nuovo progressivo da utilizzare
long TQuadriNT_application::Get_newprog()
long TQuadriNT_app::Get_newprog()
{
long nprog = 0L;
TLocalisamfile qnr(app()._num);
qnr.zero();
qnr.put(QN_CODDITTA, (long)app()._codditta);
TRectype dep(qnr.curr());
for (qnr.read(_isgteq); !qnr.eof(); qnr.next())
{
if (qnr.curr() > dep) break;
nprog = qnr.get_long(QN_NPROG);
}
return ++nprog;
long nprog = 0L;
TLocalisamfile qnr(_num);
qnr.zero();
qnr.put(QN_CODDITTA, _codditta);
TRectype dep(qnr.curr());
for (qnr.read(_isgteq); !qnr.eof(); qnr.next())
{
if (qnr.curr() > dep) break;
nprog = qnr.get_long(QN_NPROG);
}
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

@ -14,6 +14,6 @@
#define QUC_PERC "PERC"
#define QUC_RITENUTE "RITENUTE"
#define QUC_NETTO "NETTO"
#define QUC_CONTSSN "CONTSSN"
#define QUC_CONTSSN "CONTSSN"
#endif

View File

@ -1,14 +1,14 @@
// quadrogp.h
#define QGP_CODDITTA "CODDITTA"
#define QGP_PROSPETTO "PROSPETTO"
#define QGP_SEZIONE "SEZIONE"
#define QGP_NPROG "NPROG"
#define QGP_CODDITTA "CODDITTA"
#define QGP_PROSPETTO "PROSPETTO"
#define QGP_SEZIONE "SEZIONE"
#define QGP_NPROG "NPROG"
#define QGP_DATADEL "DATADEL"
#define QGP_NUMQUOTE "NUMQUOTE"
#define QGP_DESCRBENI "DESCRBENI"
#define QGP_UTIL1S "UTIL1S"
#define QGP_UTIL2S "UTIL2S"
#define QGP_ALIQUOTA "ALIQUOTA"
#define QGP_TITOLO "TITOLO"
#define QGP_ROPE "ROPE"
#define QGP_UTILI1S "UTILI1S"
#define QGP_UTILI2S "UTILI2S"
#define QGP_ALIQUOTA "ALIQUOTA"
#define QGP_TITOLO "TITOLO"
#define QGP_ROPE "ROPE"

View File

@ -20,7 +20,11 @@
#define SPR_TOTRIT "TOTRIT"
#define SPR_MESEC "MESEC"
#define SPR_ANNOC "ANNOC"
#define SPR_FORCED "FORZATURA"
#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"
@ -40,6 +44,10 @@
#define SCH_TOTRIT "TOTRIT"
#define SCH_MESEC "MESEC"
#define SCH_ANNOC "ANNOC"
#define SCH_FORCED "FORZATURA"
#define SCH_FORCED "FORZATURA"
#define SCH_CAUSQUA "CAUSQUA"
#define SCH_FLAGTS "FLAGTS"
#define SCH_RITOPE "RITOPE"
#define SCH_RITVER "RITVER"
#endif