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 LISTBOX ADF_ASSFIS 1 40
BEGIN 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 "0|Non si è avvalso dell'assistenza fiscale"
ITEM "1|Del datore di lavoro" ITEM "1|Del datore di lavoro"
ITEM "2|Del CAAF" 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; return TRUE;
// se rettifica C,D,E,F controllo se esiste un qualsiasi altro record // se rettifica C,D,E,F controllo se esiste un qualsiasi altro record
if (ret == "C" || ret == "D" || ret == "E" || ret == "F") 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; 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) 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)) if (f.to_check(k,TRUE))
{ {
TMask& m = f.mask(); // controllo se rettifica è congrua con altri record
TString16 cod(f.get());
const long codditta = m.get_long(QAF_CODDITTA); const long codditta = m.get_long(QAF_CODDITTA);
const long coddip = m.get_long(F_CODIP); const long coddip = m.get_long(F_CODIP);
const int curprog = m.get_int(QAF_NPROG); 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)) if (QA_cerca_codA(codditta, coddip, curprog, cod, app()._quadro))
return f.error_box("Esiste già un altro quadro per questo dipendente"); return f.error_box("Esiste già un altro quadro per questo dipendente");
// se rettifica A abilito pagina relativa operazioni di conguaglio // controllo se stò immettendo un quadro con senza rettifica
if (cod == "A") // che non ne esista già uno con rettifica C,D,E,F
{ if (cod == "")
m.enable_page(5); if (QA_cerca_codA(codditta, coddip, curprog, cod, app()._quadro))
// controllo se compilato pagina operazioni di conguaglio return f.error_box("Esiste già un quadro con rettifica C,D,E oppure F per questo dipendente");
real ABB19 = m.get_real(F_QABRCB19);
real ABB20 = m.get_real(F_QABRCB20); // per quadro Abis
real ABB21 = m.get_real(F_QABRCB21); if (app().QuadroAB())
real ABB22 = m.get_real(F_QABRCB22); // se rettifica A abilito pagina relativa operazioni di conguaglio
real ABB23 = m.get_real(F_QABRCB23); if (cod == "A")
real ABB24 = m.get_real(F_QABRCB24); {
real ABB25 = m.get_real(F_QABRCB25); m.enable_page(5);
real ABB26 = m.get_real(F_QABRCB26); // controllo se compilato pagina operazioni di conguaglio
real ABB27 = m.get_real(F_QABRCB27); real ABB19 = m.get_real(F_QABRCB19);
real ABB28 = m.get_real(F_QABRCB28); real ABB20 = m.get_real(F_QABRCB20);
real ABB29 = m.get_real(F_QABRCB29); real ABB21 = m.get_real(F_QABRCB21);
real ABBTOT = ZERO; real ABB22 = m.get_real(F_QABRCB22);
ABBTOT += ABB19+ABB20+ABB21+ABB22+ABB23+ABB24; real ABB23 = m.get_real(F_QABRCB23);
ABBTOT += ABB25+ABB26+ABB27+ABB28+ABB29; real ABB24 = m.get_real(F_QABRCB24);
if (ABBTOT == ZERO) real ABB25 = m.get_real(F_QABRCB25);
f.warning_box("Compilare la pagina relativa alle operazioni di conguaglio"); real ABB26 = m.get_real(F_QABRCB26);
} real ABB27 = m.get_real(F_QABRCB27);
else real ABB28 = m.get_real(F_QABRCB28);
m.disable_page(5); 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; return TRUE;
} }
@ -953,7 +995,22 @@ void TQuadroA::init_query_insert_mode(TMask& m)
void TQuadroA::init_modify_mode(TMask& m) void TQuadroA::init_modify_mode(TMask& m)
{ {
if (QuadroA1()) 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()) if (QuadroA3())
{ {
_codditta = m.get_long(QAF_CODDITTA); _codditta = m.get_long(QAF_CODDITTA);
@ -975,6 +1032,20 @@ void TQuadroA::init_insert_mode(TMask& m)
if (QuadroA1()) 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()) if (QuadroA3())
{ {
_codditta = m.get_long(QAF_CODDITTA); _codditta = m.get_long(QAF_CODDITTA);

View File

@ -115,7 +115,7 @@
#define F_QABRCB28 516 #define F_QABRCB28 516
#define F_QABRCB29 517 #define F_QABRCB29 517
// 771200d.uml // 771200d.uml (quadro A1)
#define F_MESEANNO 200 #define F_MESEANNO 200
#define F_IMPRIMB9 201 #define F_IMPRIMB9 201
#define F_IMPVERS10 202 #define F_IMPVERS10 202
@ -132,30 +132,45 @@
#define F_CONNEFF21 213 #define F_CONNEFF21 213
#define F_TIPOCONG22 214 #define F_TIPOCONG22 214
#define F_DATARIC29 215 #define F_DATARIC29 215
#define QA1F_ANNORIF 410
// 771200f.uml // 771200f.uml (quadro A2)
#define F_IIRPEFVER8 250
#define F_IIRPEFVER8 250 #define F_IIRPEFRI9 251
#define F_IIRPEFRI9 251 #define F_PRIRPEF10 252
#define F_PRIRPEF10 252 #define F_AIRPEFINT 253
#define F_AIRPEFINT 253 #define F_STASSA12 254
#define F_STASSA12 254 #define F_CONTR13 255
#define F_CONTR13 255 #define F_CONTR14 256
#define F_CONTR14 256 #define F_PRCSSN15 257
#define F_PRCSSN15 257 #define F_INTER16 258
#define F_INTER16 258 #define F_STASSA17 259
#define F_STASSA17 259 #define F_VEFFCON18 260
#define F_VEFFCON18 260 #define F_SDNLIQ19 261
#define F_SDNLIQ19 261 #define F_RETCON20 262
#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_CODIPQUADRO 300
#define F_BASEOCCUPA 301 #define F_BASEOCCUPA 301
// Campi maschera 771200h.uml // 771200h.uml (quadro A3)
#define F_DIRAPTI 350 #define F_DIRAPTI 350
#define F_NGINC15 351 #define F_NGINC15 351
#define F_REDCOR16 352 #define F_REDCOR16 352
@ -176,36 +191,16 @@
#define F_COGNTRASF 367 #define F_COGNTRASF 367
#define F_NOMETRASF 368 #define F_NOMETRASF 368
// Campi maschera 771200i.uml // 771200i.uml (base occupazionale)
#define F_BSE_CONSBASOCC 400 #define F_BSE_CONSBASOCC 400
#define F_BSE_LAVDIPCIN 401 #define F_BSE_LAVDIPCIN 401
#define F_BSE_DATAINPI 402 #define F_BSE_DATAINPI 402
#define F_BSE_DATAFINPI 403 #define F_BSE_DATAFINPI 403
// // gruppo operazioni di conguaglio (quadri Abis e A2)
// 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
#define G_OPECONG 12 #define G_OPECONG 12
#define F_CODANAGDIPQA 420
#define QAF_ALLEG_A 421 #define QAF_ALLEG_A 421
#define QA2F_ALLEG_A2 422 #define QA2F_ALLEG_A2 422

View File

@ -58,165 +58,134 @@ BEGIN
MESSAGE COPY,5@ MESSAGE COPY,5@
END END
GROUPBOX DLG_NULL 78 3 GROUPBOX DLG_NULL 78 4
BEGIN BEGIN
PROMPT 1 3 "@bASSISTENZA 1995 " PROMPT 1 3 "@bAssistenza 1996"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 4 " 8 Conguagli non effettuati"
END END
STRING QA2F_CNEFF 1 STRING QA2F_CNEFF 1
BEGIN BEGIN
PROMPT 2 4 "8 Conguagli non effettuati " PROMPT STDIMP 4 ""
FIELD LF_QUAA2->CONEFF FIELD LF_QUAA2->CONEFF
FLAGS "U"
HELP "Conguagli non effettuati relativi all'assistenza 1995"
SHEET "Codice|Descrizione@60" SHEET "Codice|Descrizione@60"
INPUT QA2F_CNEFF INPUT QA2F_CNEFF
ITEM " |Niente" ITEM " |Niente"
ITEM "A|Cessazione del rapporto di lavoro" ITEM "A|Cessazione del rapporto di lavoro"
ITEM "B|Decesso" ITEM "B|Aspettativa senza retribuzione"
ITEM "C|Richiesta di minore secondo acconto" ITEM "C|Decesso"
ITEM "D|Retribuzione insufficiente" ITEM "D|Richiesta di minore secondo acconto"
ITEM "E|Situaz. per le quali dovrebbero essere indicati piu' codici" ITEM "E|Retribuzione insufficiente"
ITEM "F|Rimborso non effettuato o rimborso effettuato parzialmente" ITEM "F|Situaz.per le quali dovrebbero essere indicati più codici"
OUTPUT QA2F_CNEFF ITEM "G|Rimborso non effettuato o rimborso effettuato parzialmente"
GROUP G_ALL OUTPUT QA2F_CNEFF
END FLAGS "U"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 " 9 Rettifica conguaglio"
END
STRING QA2F_RETCON 1 STRING QA2F_RETCON 1
BEGIN BEGIN
PROMPT 38 4 "9 Rettifica conguaglio " PROMPT STDIMP 5 ""
FIELD LF_QUAA2->RETCON FIELD LF_QUAA2->RETCON
SHEET "Codice|Descrizione@60" SHEET "Codice|Descrizione@60"
INPUT QA2F_RETCON INPUT QA2F_RETCON
ITEM " | " ITEM " |Niente"
ITEM "A|Rettifica importi da conguagliare... (I num. d'ordine)" ITEM "A|Rettifica importi da conguagliare... (I num. d'ordine)"
ITEM "B|Rettifica importi da conguagliare... (II num. d'ordine)" ITEM "C|Cong. a seguito rett.prec.comunicaz.tardivam.perven..."
ITEM "C|Conguaglio tardivamente effettuato nel mese di luglio" 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 OUTPUT QA2F_RETCON
FLAGS "U" FLAGS "U"
END END
GROUPBOX DLG_NULL 78 4 GROUPBOX DLG_NULL 78 5
BEGIN BEGIN
PROMPT 1 6 "@bSALDO IRPEF PER IL 1994 " PROMPT 1 8 "@bSaldo Irpef per il 1995 "
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 2 7 "10 Imp.ver/tr.IRPEF" PROMPT 2 9 "10 Imposta rimborsata"
GROUP G_730
END END
TEXT DLG_NULL NUMBER F_IIRPEFVER8 LENIMP
BEGIN BEGIN
PROMPT 2 7 "10 Imposta rimbor. " PROMPT STDIMP 9 ""
GROUP G_770
END
NUMBER F_IIRPEFVER8 15
BEGIN
PROMPT 21 7 ""
FIELD LF_QUAA2->SIRPEFRIMB FIELD LF_QUAA2->SIRPEFRIMB
PICTURE "." PICTURE "."
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 41 7 "11 Imp.da rim.IRPEF" PROMPT 2 10 "11 Imposta versata"
GROUP G_730
END END
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "11 Imposta versata "
GROUP G_770
END
NUMBER F_IIRPEFRI9 15 NUMBER F_IIRPEFRI9 LENIMP
BEGIN BEGIN
PROMPT 61 7 "" PROMPT STDIMP 10 ""
FIELD LF_QUAA2->VIRPEF FIELD LF_QUAA2->VIRPEF
PICTURE "." PICTURE "."
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 2 8 "12 Interessi " PROMPT 2 11 "12 Interessi"
GROUP G_770
END END
TEXT DLG_NULL NUMBER F_INTER11 LENIMP
BEGIN BEGIN
PROMPT 2 8 "12 1rata ac.IRPEF95" PROMPT STDIMP 11 ""
GROUP G_730
END
NUMBER F_INTER11 15
BEGIN
PROMPT 21 8 ""
FIELD LF_QUAA2->INTIRPEF FIELD LF_QUAA2->INTIRPEF
PICTURE "." PICTURE "."
END END
GROUPBOX DLG_NULL 78 3 GROUPBOX DLG_NULL 78 4
BEGIN BEGIN
PROMPT 1 10 "@bPRIMA RATA ACCONTO IRPEF PER IL 1995 " PROMPT 1 14 "@bPrima rata acconto Irpef per il 1996"
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 2 11 "13 Imposta versata " PROMPT 2 15 "13 Imposta versata"
GROUP G_770
END END
TEXT DLG_NULL NUMBER F_PRIRPEF10 LENIMP
BEGIN BEGIN
PROMPT 2 11 "13 2rata ac.IRPEF95" PROMPT STDIMP 15 ""
GROUP G_730
END
NUMBER F_PRIRPEF10 15
BEGIN
// PROMPT 2 11 "Imposta versata "
PROMPT 21 11 ""
FIELD LF_QUAA2->AIRPEFIV FIELD LF_QUAA2->AIRPEFIV
PICTURE "." PICTURE "."
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 41 11 "14 Interessi " PROMPT 2 16 "14 Interessi"
GROUP G_770
END END
TEXT DLG_NULL NUMBER F_AIRPEFINT LENIMP
BEGIN BEGIN
PROMPT 41 11 "14 I.v.trat.CSSN " PROMPT STDIMP 16 ""
GROUP G_730
END
NUMBER F_AIRPEFINT 15
BEGIN
PROMPT 61 11 ""
FIELD LF_QUAA2->AIRPEFINT FIELD LF_QUAA2->AIRPEFINT
PICTURE "." PICTURE "."
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 2 13 "15 Soprattasse IRPEF saldo 94 e prima rata acc.95 " PROMPT 2 19 "15 Soprattasse su Irpef saldo 95 e 1°rata acconto 96"
GROUP G_770
END END
TEXT DLG_NULL NUMBER F_STASSA12 LENIMP
BEGIN BEGIN
PROMPT 2 13 "15 Importo da rimborsare CSSN " PROMPT STDIMP 19 ""
GROUP G_730
END
NUMBER F_STASSA12 15
BEGIN
PROMPT 61 13 ""
FIELD LF_QUAA2->STASSA15 FIELD LF_QUAA2->STASSA15
PICTURE "." PICTURE "."
END END
@ -258,120 +227,162 @@ BEGIN
GROUP 5 GROUP 5
END END
GROUPBOX DLG_NULL 78 4 GROUPBOX DLG_NULL 78 5
BEGIN BEGIN
PROMPT 1 4 "@bSALDO C.S.S.N. PER IL 1994 " PROMPT 1 3 "@bSaldo C.s.s.n. per il 1995"
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 2 5 "16 Cont.a rimborso " PROMPT 2 4 "16 Contributo a rimborso"
GROUP G_770
END END
TEXT DLG_NULL NUMBER QA2F_CSSNCRIMB LENIMP
BEGIN BEGIN
PROMPT 2 5 "16 1r.acc.CSSN 95 " PROMPT STDIMP 4 ""
GROUP G_730
END
NUMBER QA2F_CSSNCRIMB 15
BEGIN
PROMPT 21 5 ""
FIELD LF_QUAA2->CONTR16 FIELD LF_QUAA2->CONTR16
PICTURE "." PICTURE "."
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 41 5 "17 Cont. versato " PROMPT 2 5 "17 Contributo versato"
GROUP G_770
END END
NUMBER QA2F_CSSNCVER LENIMP
BEGIN
PROMPT STDIMP 5 ""
FIELD LF_QUAA2->CONTRVER
PICTURE "."
END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 41 5 "17 2r.acc.CSSN 95 " PROMPT 2 6 "18 Interessi"
GROUP G_730
END END
NUMBER QA2F_CSSNCVER 15 NUMBER QA2F_CSSNINT LENIMP
BEGIN BEGIN
// PROMPT 41 5 "Contr. versato " PROMPT STDIMP 6 ""
PROMPT 61 5 ""
FIELD LF_QUAA2->CONTRVER
PICTURE "."
END
NUMBER QA2F_CSSNINT 15
BEGIN
PROMPT 2 6 "18 Interessi "
FIELD LF_QUAA2->INTER18 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 "." 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 END
GROUPBOX DLG_NULL 78 4 GROUPBOX DLG_NULL 78 4
BEGIN 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 END
NUMBER F_CODCAAF 5 NUMBER F_CODCAAF 5
BEGIN BEGIN
PROMPT 2 15 "Codice " PROMPT 2 4 "Codice "
FIELD LF_QUAA2->CODCAAF FIELD LF_QUAA2->CODCAAF
USE %CAF USE %CAF
CHECKTYPE NORMAL CHECKTYPE NORMAL
@ -384,28 +395,188 @@ BEGIN
OUTPUT F_DENCAAF S0 OUTPUT F_DENCAAF S0
OUTPUT F_NISCRA I1 OUTPUT F_NISCRA I1
OUTPUT F_CODFISCAAF S1 OUTPUT F_CODFISCAAF S1
GROUP G_ALL
FLAGS "Z" FLAGS "Z"
END END
STRING F_DENCAAF 50 TEXT DLG_NULL
BEGIN BEGIN
PROMPT 26 15 "" PROMPT 2 6 "23 Codice fiscale"
FLAGS "DU"
END END
STRING F_CODFISCAAF 16 STRING F_CODFISCAAF 16
BEGIN BEGIN
PROMPT 2 16 "23 Cod.fiscale " PROMPT 25 6 ""
FLAGS "D" FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "24 Denominazione"
END 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 NUMBER F_NISCRA 5
BEGIN BEGIN
PROMPT 50 16 "25 N.iscrizione albo " PROMPT 25 8 ""
FLAGS "D" FLAGS "D"
END 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 ENDPAGE
ENDMASK ENDMASK

View File

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

View File

@ -3,7 +3,7 @@ TOOLBAR "" 0 19 0 3
#include <toolbar.h> #include <toolbar.h>
ENDPAGE ENDPAGE
PAGE "Quadro A3" -1 -1 78 18 PAGE "1" -1 -1 78 21
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
@ -61,51 +61,76 @@ BEGIN
FIELD LF_QUAA3->NPROG FIELD LF_QUAA3->NPROG
END END
TEXT DLG_NULL
BEGIN
PROMPT 2 3 " 8 Data inizio rapporto a tempo indeterminato"
END
DATE F_DIRAPTI DATE F_DIRAPTI
BEGIN BEGIN
PROMPT 1 5 "8 Data inizio rapporto a tempo indeterminato " PROMPT STDIMP 3 ""
FIELD LF_QUAA3->DIRAPTI FIELD LF_QUAA3->DIRAPTI
END END
GROUPBOX DLG_NULL 78 4 GROUPBOX DLG_NULL 78 4
BEGIN 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 END
TEXT DLG_NULL
BEGIN
PROMPT 2 6 " 9 Numero giorni in incremento"
END
NUMBER F_NGINC15 3 NUMBER F_NGINC15 3
BEGIN BEGIN
PROMPT 1 8 "9 Num. giorni in incremento " PROMPT STDIMP 6 ""
FIELD LF_QUAA3->NGINC15 FIELD LF_QUAA3->NGINC15
END END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "10 Reddito corrisposto"
END
NUMBER F_REDCOR16 15 NUMBER F_REDCOR16 15
BEGIN BEGIN
PROMPT 1 9 "10 Reddito corrisposto " PROMPT STDIMP 7 ""
FIELD LF_QUAA3->REDCOR16 FIELD LF_QUAA3->REDCOR16
PICTURE "." PICTURE "."
END END
GROUPBOX DLG_NULL 78 4 GROUPBOX DLG_NULL 78 4
BEGIN 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 END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "11 Numero giorni in incremento"
END
NUMBER F_NGINC17 3 NUMBER F_NGINC17 3
BEGIN BEGIN
PROMPT 1 12 "11 Num. giorni in incremento" PROMPT STDIMP 11 ""
FIELD LF_QUAA3->NGINC17 FIELD LF_QUAA3->NGINC17
END END
TEXT DLG_NULL
BEGIN
PROMPT 2 12 "12 Reddito corrisposto"
END
NUMBER F_REDCOR18 15 NUMBER F_REDCOR18 15
BEGIN BEGIN
PROMPT 1 13 "12 Reddito corrisposto " PROMPT STDIMP 12 ""
FIELD LF_QUAA3->REDCOR18 FIELD LF_QUAA3->REDCOR18
PICTURE "." PICTURE "."
END END
ENDPAGE ENDPAGE
PAGE "Societa' trasformata" -1 -1 78 21 PAGE "2" -1 -1 78 21
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
@ -162,7 +187,7 @@ END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 3 "@bSocieta' trasformata " PROMPT 1 3 "@bSocietà trasformata"
END END
STRING F_DENTRASF 40 STRING F_DENTRASF 40
@ -183,40 +208,65 @@ BEGIN
FLAGS "D" FLAGS "D"
END END
TEXT DLG_NULL
BEGIN
PROMPT 2 5 " 8 Data inizio rapporto a tempo indeterminato"
END
DATE F_DIRAPTI_2 DATE F_DIRAPTI_2
BEGIN BEGIN
PROMPT 1 5 "8 Data inizio rapporto a tempo indeterminato " PROMPT STDIMP 5 ""
END END
GROUPBOX DLG_NULL 78 4 GROUPBOX DLG_NULL 78 4
BEGIN 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 END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 " 9 Numero giorni in incremento"
END
NUMBER F_NGINC15_2 3 NUMBER F_NGINC15_2 3
BEGIN BEGIN
PROMPT 1 8 "9 Num. giorni in incremento " PROMPT STDIMP 8 ""
END END
TEXT DLG_NULL
BEGIN
PROMPT 2 9 "10 Reddito corrisposto"
END
NUMBER F_REDCOR16_2 15 NUMBER F_REDCOR16_2 15
BEGIN BEGIN
PROMPT 1 9 "10 Reddito corrisposto " PROMPT STDIMP 9 ""
PICTURE "." PICTURE "."
END END
GROUPBOX DLG_NULL 78 4 GROUPBOX DLG_NULL 78 4
BEGIN 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 END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "11 Numero giorni in incremento"
END
NUMBER F_NGINC17_2 3 NUMBER F_NGINC17_2 3
BEGIN BEGIN
PROMPT 1 12 "11 Num. giorni in incremento" PROMPT STDIMP 13 ""
END END
TEXT DLG_NULL
BEGIN
PROMPT 2 14 "12 Reddito corrisposto"
END
NUMBER F_REDCOR18_2 15 NUMBER F_REDCOR18_2 15
BEGIN BEGIN
PROMPT 1 13 "12 Reddito corrisposto " PROMPT STDIMP 14 ""
PICTURE "." PICTURE "."
END END

View File

@ -2,7 +2,7 @@
TOOLBAR "" 0 20 0 2 TOOLBAR "" 0 20 0 2
BUTTON DLG_SAVEREC 8 2 BUTTON DLG_SAVEREC 8 2
BEGIN BEGIN
PROMPT -16 -1 "" PROMPT -16 -1 "~Registra"
FLAGS "D" FLAGS "D"
MESSAGE EXIT,K_SAVE MESSAGE EXIT,K_SAVE
PICTURE BMP_SAVEREC PICTURE BMP_SAVEREC
@ -22,6 +22,8 @@ BUTTON DLG_DELREC 8 2
BEGIN BEGIN
PROMPT -36 -1 "~Elimina" PROMPT -36 -1 "~Elimina"
MESSAGE EXIT,K_DEL MESSAGE EXIT,K_DEL
PICTURE BMP_DELREC
PICTURE BMP_DELRECDN
FLAGS "D" FLAGS "D"
END END
@ -35,14 +37,17 @@ END
BUTTON DLG_CANCEL 8 2 BUTTON DLG_CANCEL 8 2
BEGIN BEGIN
PROMPT -56 -1 "" PROMPT -56 -1 "~Annulla"
MESSAGE EXIT,K_ESC MESSAGE EXIT,K_ESC
PICTURE BMP_CANCEL
END END
BUTTON DLG_QUIT 8 2 BUTTON DLG_QUIT 8 2
BEGIN BEGIN
PROMPT -66 -1 "" PROMPT -66 -1 "~Fine"
MESSAGE EXIT,K_QUIT MESSAGE EXIT,K_QUIT
PICTURE BMP_QUIT
PICTURE BMP_QUITDN
END END
ENDPAGE ENDPAGE
@ -57,7 +62,7 @@ END
NUMBER QAF_CODDITTA 5 NUMBER QAF_CODDITTA 5
BEGIN BEGIN
PROMPT 3 1 "Ditta " PROMPT 3 1 "Ditta "
FLAGS "GRD" FLAGS "GRDP"
KEY 1 KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
@ -69,7 +74,7 @@ END
STRING QAF_RAGDITTA 50 STRING QAF_RAGDITTA 50
BEGIN BEGIN
PROMPT 20 1 "" PROMPT 20 1 ""
FLAGS "D" FLAGS "DP"
END END
GROUPBOX DLG_NULL 78 5 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" #include "771230.h"
TOOLBAR "" 0 19 0 3
TOOLBAR "" 0 18 0 4
BUTTON F_GENERA 21 2
BEGIN
PROMPT -13 -3 "~Generazione"
END
#include <toolbar.h> #include <toolbar.h>
ENDPAGE 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 BEGIN
PROMPT 1 0 "" PROMPT 1 1 "Percipiente"
END END
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 3 1 "Ditta " PROMPT 4 2 "Ditta "
FLAGS "GRDP" USE LF_NDITTE
KEY 1 INPUT CODDITTA F_CODDITTA
CHECKTYPE REQUIRED OUTPUT F_RAGDITTA RAGSOC
USE LF_NDITTE KEY 1 CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA FLAGS "DG"
OUTPUT F_RAGDITTA RAGSOC FIELD CODDITTA
FIELD LF_QUAD1->CODDITTA KEY 1
END END
STRING F_RAGDITTA 50 STRING F_RAGDITTA 50
BEGIN BEGIN
PROMPT 17 1 "Ragione " PROMPT 24 2 ""
FLAGS "DP" FLAGS "D"
END END
NUMBER F_ANNODIC 4 LIST F_TIPOA 1 17
BEGIN BEGIN
PROMPT 52 3 "Anno dichiarazione " PROMPT 4 3 "Tipo percipiente "
FLAGS "DRP" FIELD TIPOA
END ITEM "F|Persona Fisica"
ITEM "G|Persona Giuridica"
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
KEY 1 KEY 1
END END
LIST F_TIPOAF 1 12
BEGIN
PROMPT 1 9 ""
ITEM "F|Fisica"
ITEM "G|Giuridica"
FLAGS "H"
END
NUMBER F_CODANAGR 5 NUMBER F_CODANAGR 5
BEGIN BEGIN
PROMPT 80 80 "" PROMPT 4 4 "Codice "
FLAGS "D" FIELD CODANAGR
FIELD LF_QUAD1->CODANAGR USE LF_ANAG
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
INPUT TIPOA F_TIPOA SELECT INPUT TIPOA F_TIPOA SELECT
INPUT CODANAGR F_CODANAGRCOM INPUT CODANAGR F_CODANAGR
DISPLAY "Tipo " TIPOA DISPLAY "Codice" CODANAGR
DISPLAY "Codice " CODANAGR DISPLAY "Denominazione@50" RAGSOC
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC OUTPUT F_CODANAGR CODANAGR
OUTPUT F_TIPOA TIPOA OUTPUT F_RAGSOC RAGSOC
OUTPUT F_CODANAGRCOM CODANAGR CHECKTYPE REQUIRED
OUTPUT F_RAGSOCCOM RAGSOC ADD RUN ba4 -1 F
MESSAGE COPY, F_CODANAGR KEY 1
ADD RUN BA4 -1 END
FLAGS "H"
GROUP 1 LIST F_NUMPROG 1 6
BEGIN
PROMPT 0 80 "Numero "
FIELD NPROG
ITEM "1|Riga 1"
FLAGS "D"
KEY 1
END END
STRING F_RAGSOC 50 STRING F_RAGSOC 50
BEGIN BEGIN
PROMPT 25 8 "" PROMPT 24 4 ""
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" FLAGS "D"
GROUP 2 USE LF_ANAG KEY 2
MESSAGE COPY, F_RAGSOC INPUT TIPOA F_TIPOA SELECT
END 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 BEGIN
PROMPT 1 10 "@bNumero " PROMPT 0 6 ""
CHECKTYPE REQUIRED ITEM "Cod.\ncau.@4"
KEY 1 ITEM "Descrizione@35"
FIELD LF_QUAD1->NPROG ITEM "Cau."
USE LF_QUAD1 ITEM "Imponibile\ncorrisposto@15"
INPUT CODDITTA F_CODDITTA SELECT ITEM "Aliquota"
INPUT TIPOA F_TIPOA ITEM "Ritenute\nOperate@15"
INPUT CODANAGR F_CODANAGR ITEM "Somme al netto\nritenute@15"
INPUT NPROG F_NPROG ITEM "Somme non\nsogg. riten.@15"
DISPLAY "N°" NPROG FLAGS "A"
DISPLAY "Tipo" TIPOA USE LF_QUAE KEY NPROG
DISPLAY "Codice@10" CODANAGR INPUT CODDITTA F_CODDITTA
DISPLAY "Causale" CODCAUS INPUT TIPOA F_TIPOA
DISPLAY "Totale@15" TOTALE INPUT CODANAGR F_CODANAGR
DISPLAY "Quota provvigioni" QUOTAPRO END
DISPLAY "Spese anticipate" SPESEANT
DISPLAY "Imponibile@15" IMPONIBILE
DISPLAY "Aliquota" PERC
DISPLAY "Importo@15" IMPORTO
DISPLAY "Netto corrisposto" NETTO
OUTPUT F_TIPOA TIPOA
OUTPUT F_CODANAGR CODANAGR
OUTPUT F_NPROG NPROG
END
ENDPAGE ENDPAGE
ENDMASK 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 // 771231.cpp - Quadri F
// //
#include <config.h> #include <relapp.h>
#include <defmask.h> #include <defmask.h>
#include <msksheet.h> #include <msksheet.h>
#include <progind.h>
#include <recarray.h> #include <recarray.h>
#include <relapp.h>
#include <sort.h>
#include <tabutil.h>
#include "77lib.h" #include "77lib.h"
#include "prospe1.h"
#include "774200.h" #include "774200.h"
#include "771231a.h" // F, F-1 #include "771231a.h" // F, F-1
#include "771232.h" // quadro G #include "771232.h" // quadro G
#include "prospe1.h"
#include "quadrif.h" #include "quadrif.h"
#include "ca7.h" #include "ca7.h"
@ -549,22 +545,13 @@ int quadroF(int argc, char* argv[])
} }
if (quadro == '3') if (quadro == '3')
{ quadro_g(argc,argv);
TQuadroG a(quadro);
a.run(argc, argv, a.taitol());
}
if (quadro == '4') if (quadro == '4')
{ distinta_quadro_g(argc,argv);
TDistintaQuadroG a;
a.run(argc, argv, a.taitol());
}
if (quadro == '5') if (quadro == '5')
{ quadro_g1(argc, argv);
TQuadroG1 a;
a.run(argc, argv, a.taitol());
}
return 0; return 0;
} }

View File

@ -1,23 +1,20 @@
// 771232.cpp - Quadri G // 771232.cpp - Quadri G
#include <relapp.h> #include <relapp.h>
#include <config.h>
#include <msksheet.h> #include <msksheet.h>
#include <sort.h>
#include <tabutil.h>
#include <execp.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 "77lib.h"
#include "774200.h" #include "774200.h"
#include "771234a.h" // G #include "771234a.h" // 771234a.uml
#include "771232.h" #include "771232.h"
#include "quadrog.h"
#include "quadrogp.h"
// Aliquote prospetti 2 (I e II) // Aliquote prospetti 2 (I e II)
HIDDEN const char* aliq[8] = HIDDEN const char* aliq[] =
{ {
"10", "10",
"10", "10",
@ -26,22 +23,71 @@ HIDDEN const char* aliq[8] =
"15", "15",
"15", "15",
"34.40", "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"; HIDDEN const char* DISTINTA_APP = "771mod -6 4";
//771234b.uml
#define AMM_AZ 102 #define AMM_AZ 102
#define NUM_AZ 103 #define NUM_AZ 103
#define AMM_COMP 104 #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 __amm_az = ZERO;
HIDDEN real __num_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) TQuadroG::TQuadroG(const char quadro)
{ {
_registra = _bUsatoDistinta = FALSE; _registra = _bUsatoDistinta = FALSE;
@ -63,51 +109,223 @@ int TQuadroG::read(TMask& m)
int err = TRelation_application::read(m); int err = TRelation_application::read(m);
if (err == NOERR) if (err == NOERR)
{ read_prospetti();
fill_ss(m);
err = read_prospetto_2(m);
}
return err; return err;
} }
int TQuadroG::write(const TMask& m) int TQuadroG::write(const TMask& m)
{ {
//ss2rel(m);
int err = TRelation_application::write(m); int err = TRelation_application::write(m);
_registra = err == NOERR; _registra = err == NOERR;
if (_registra) if (_registra)
err = write_prospetto_2(m); err = write_prospetti();
return err; return err;
} }
int TQuadroG::rewrite(const TMask& m) int TQuadroG::rewrite(const TMask& m)
{ {
//ss2rel(m);
int err = TRelation_application::rewrite(m); int err = TRelation_application::rewrite(m);
_registra = err == NOERR; _registra = err == NOERR;
if (_registra) if (_registra)
err = write_prospetto_2(m,TRUE); err = write_prospetti();
return err; return err;
} }
bool TQuadroG::remove() bool TQuadroG::remove()
{ {
remove_prospetto_2();
_registra = TRelation_application::remove(); _registra = TRelation_application::remove();
remove_prospetti();
return _registra; 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; return NOERR;
} }
int TQuadroG::write_prospetto_2(const TMask& m, bool force) int TQuadroG::remove_prospetti()
{
return NOERR;
}
int TQuadroG::remove_prospetto_2()
{ {
return NOERR; return NOERR;
} }
@ -122,13 +340,14 @@ void TQuadroG::init_query_mode (TMask& m)
m.send_key(K_AUTO_ENTER,0); 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; int i = 0;
TMask& m = f.mask(); TMask& m = f.mask();
switch (ss) short dlg = f.dlg();
switch (dlg)
{ {
case 1: case F_P1_I:
{ {
real tot_numq, tot_amm; real tot_numq, tot_amm;
tot_numq = tot_amm = ZERO; 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); m.set(F_P1_I_TOT2,tot_amm);
} }
break; break;
case 2: case F_P1_II:
{ {
real tot_valult; real tot_valult;
const int items = f.items(); const int items = f.items();
@ -194,6 +413,125 @@ bool TQuadroG::calc_amm(TMask_field& f, KEY k)
return TRUE; 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) bool TQuadroG::exec_distinta(TMask_field& f, KEY k)
{ {
if (k == K_SPACE) if (k == K_SPACE)
@ -218,16 +556,26 @@ bool TQuadroG::user_create()
_msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar _msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar
_msk->set_handler(DLG_DISTINTA, exec_distinta); _msk->set_handler(DLG_DISTINTA, exec_distinta);
_msk->set_handler(mainmsk_handler); _msk->set_handler(mainmsk_handler);
TSheet_field& p1 = (TSheet_field&) _msk->field(F_P1_I); TSheet_field& p1_I = (TSheet_field&) _msk->field(F_P1_I);
p1.set_append(FALSE); p1_I.set_append(FALSE);
p1.set_notify(p1_notify); p1_I.set_notify(p1_notify);
p1.sheet_mask().set_handler(NUM_AZ, calc_amm); p1_I.sheet_mask().set_handler(NUM_AZ, calc_amm);
p1.sheet_mask().set_handler(AMM_AZ, calc_amm); p1_I.sheet_mask().set_handler(AMM_AZ, calc_amm);
TSheet_field& p2 = (TSheet_field&) _msk->field(F_P1_II); TSheet_field& p1_II = (TSheet_field&) _msk->field(F_P1_II);
p2.set_notify(p2_notify); p1_II.set_notify(p2_notify);
p2.set_append(FALSE); p1_II.set_append(FALSE);
//TSheet_field& pIII = (TSheet_field&) _msk->field(F_PIII); TSheet_field& p2_I = (TSheet_field&) _msk->field(F_P2_I);
//pIII.set_notify(pIII_notify); 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; return TRUE;
} }
@ -237,130 +585,6 @@ bool TQuadroG::user_destroy()
if (_registra || _bUsatoDistinta) if (_registra || _bUsatoDistinta)
_rip.set(_quadro); _rip.set(_quadro);
return TRUE; 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) 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: case K_ENTER:
__amm_az = ZERO; __amm_az = ZERO;
__num_az = ZERO; __num_az = ZERO;
update_totals(s, 1); update_totals(s);
break; break;
case K_SPACE: case K_SPACE:
{ {
@ -390,7 +614,7 @@ bool TQuadroG::p2_notify(TSheet_field& s, int r, KEY k)
switch(k) switch(k)
{ {
case K_ENTER: case K_ENTER:
update_totals(s, 2); update_totals(s);
break; break;
default: default:
break; break;
@ -398,6 +622,16 @@ bool TQuadroG::p2_notify(TSheet_field& s, int r, KEY k)
return TRUE; 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) bool TQuadroG::mainmsk_handler(TMask& m, KEY k)
{ {
if (k == K_ESC) if (k == K_ESC)
@ -406,4 +640,11 @@ bool TQuadroG::mainmsk_handler(TMask& m, KEY k)
m.set_focus_field(f.dlg()); m.set_focus_field(f.dlg());
} }
return TRUE; 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 // 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 // 771233.cpp - distinta quadro G
#include <relapp.h>
#include "77lib.h"
#include "774200.h"
#include "771232.h" #include "771232.h"
#include "quadrogd.h" #include "quadrogd.h"
#include "77qgd.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(); } inline TDistintaQuadroG& app() { return (TDistintaQuadroG&) main_app(); }
TDistintaQuadroG::TDistintaQuadroG(): _rel(NULL), _mode(0) TDistintaQuadroG::TDistintaQuadroG(): _rel(NULL)
{ {
_title = "Distinta quadro G"; _title = "Distinta quadro G";
_quadro = "GD"; _quadro = "GD";
@ -198,3 +239,9 @@ void TDistintaQuadroG::init_query_insert_mode(TMask& m)
m.show(-1); // group 1 Ricerca su ANAGR 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 SPREADSHEET F_P2_I 78 12
BEGIN BEGIN
PROMPT 0 7 "" PROMPT 0 7 ""
ITEM "Utili I sem. 1996" ITEM "Utili\nI semestre 1996@16"
ITEM "Utili II sem. 1996" ITEM "Utili\nII semestre 1996@16"
ITEM "Aliquota" ITEM "Aliquota"
ITEM "Titolo ritenuta" ITEM "Titolo ritenuta"
ITEM "Ritenute effettuate" ITEM "Ritenute effettuate"
@ -229,8 +229,8 @@ END
SPREADSHEET F_P2_II 78 12 SPREADSHEET F_P2_II 78 12
BEGIN BEGIN
PROMPT 0 7 "" PROMPT 0 7 ""
ITEM "Utili I sem. 1996" ITEM "Utili\nI semestre 1996@16"
ITEM "Utili II sem. 1996" ITEM "Utili\nII semestre 1996@16"
ITEM "Aliquota" ITEM "Aliquota"
ITEM "Titolo ritenuta" ITEM "Titolo ritenuta"
ITEM "Ritenute effettuate" ITEM "Ritenute effettuate"
@ -276,7 +276,9 @@ BEGIN
PROMPT 63 8 "" PROMPT 63 8 ""
PICTURE "." PICTURE "."
FIELD LF_QUAG->P32AR 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 END
NUMBER F_P32BT 15 NUMBER F_P32BT 15
@ -292,6 +294,8 @@ BEGIN
PROMPT 63 10 "" PROMPT 63 10 ""
PICTURE "." PICTURE "."
FIELD LF_QUAG->P32BR FIELD LF_QUAG->P32BR
NUM_EXPR {#THIS <= #F_P32BT}
WARNING "I recuperi debbono essere minori o uguali agli utili"
MESSAGE K_TAB,F_P3TOT MESSAGE K_TAB,F_P3TOT
END END

View File

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

View File

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

View File

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

View File

@ -1,224 +1,280 @@
// 771300.h // 771300.h
// Campi della maschera del QUADRO I // 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_CODDITTA 101
#define F_B0NLDIP 126 #define F_RAGSOC 102
#define F_B0TFR93 127 #define F_CODDITTAG 103
#define F_B0AI 128 #define F_TIPOQUA1 104
#define F_B0COLAV 129 #define F_TIPOQUA2 105
#define F_B0TFR7492 130 #define F_TIPOQUA 106
#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_A0CRIMPRAS 214 // riepilogo A
#define F_B0CRIMPRAS 215 #define F_A0NFCOM 110
#define F_C0CRIMPRAS 216 #define F_A0NLDIP 111
#define F_D0CRIMPRAS 217 #define F_A0COBB 112
#define F_D1CRIMPRAS 218 #define F_A0NSRIT 113
#define F_E0CRIMPRAS 219 #define F_A0EPREV 114
#define F_E1CRIMPRAS 220 #define F_A0RETPEN 115
#define F_E2CRIMPRAS 221 #define F_A0CTER 116
#define F_F0CRIMPRAS 222 #define F_A0TIMP 117
#define F_F1CRIMPRAS 223 #define F_A0ILOR 118
#define F_F2CRIMPRAS 224 #define F_A0TDET 119
#define F_G0CRIMPRAS 225 #define F_A0RTER 120
#define F_G1CRIMPRAS 226 #define F_A0RDAT 121
#define F_G0UPAG 227 #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 // riepilogo A bis
#define F_A3NFCOM 228 #define F_ABNADLAV 140
#define F_A3NUMPER 229 #define F_ABNACAAF 141
#define F_A3REPT10 230 #define F_ABIR2R 142
#define F_A3REPT12 231 #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 // riepilogo A3
#define F_DATLAV 250 #define F_A3NFCOM 160
#define F_ER92C93 251 #define F_A3NUMPER 161
#define F_ER93C94 252 #define F_A3REPT10 162
#define F_ANNODIC 253 #define F_A3REPT12 163
#define F_H0NQLAGG 254
#define F_NSUPPM 255
// 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 // riepilogo B
#define F_M1 300 #define F_B0NFCOM 170
#define F_M2 301 #define F_B0NLDIP 171
#define F_M3 302 #define F_B0TFR93 172
#define F_M4 303 #define F_B0AI 173
#define F_M5 304 #define F_B0COLAV 174
#define F_M6 305 #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 // riepilogo B1
#define F_QSUPPA1 401 #define F_B1NFCOM 190
#define F_QSUPPA2 402 #define F_B1NPER 191
#define F_QSUPPA3 403 #define F_B1TIND 192
#define F_QSUPPB 404 #define F_B1TIRM 193
#define F_QSUPPB1 405 #define F_B1TICOM 194
#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
#define F_TIPOQUA1 430 // riepilogo C
#define F_TIPOQUA2 431 #define F_C0NFCOM 200
#define F_TIPOQUA 432 #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 // riepilogo D
#define F_A0CRIMPL85 433 #define F_D0NFCOM 220
#define F_A0INCDET 434 #define F_D0NLAUT 221
#define F_B0CRIMPL85 435 #define F_D0ACTOT 222
#define F_C0CONTSSN 436 #define F_D0SNSRIT 223
#define F_D0CRIMPL85 437 #define F_D0ROPE 224
#define F_G0ROPESPET 438 #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" #include "771300.h"
TOOLBAR "" 0 20 0 2 TOOLBAR "" 0 20 0 2
@ -15,7 +14,7 @@ END
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 3 1 "Ditta " PROMPT 3 1 "Ditta "
FLAGS "DGR" FLAGS "DGRP"
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA DISPLAY "Codice" CODDITTA
@ -30,7 +29,7 @@ END
STRING F_RAGSOC 50 STRING F_RAGSOC 50
BEGIN BEGIN
PROMPT 17 1 "Ragione " PROMPT 17 1 "Ragione "
FLAGS "D" FLAGS "DP"
MESSAGE COPY,2@ MESSAGE COPY,2@
END END
@ -47,7 +46,7 @@ END
GROUPBOX DLG_NULL 78 4 GROUPBOX DLG_NULL 78 4
BEGIN 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 END
NUMBER F_M1 15 NUMBER F_M1 15
@ -68,12 +67,12 @@ END
GROUPBOX DLG_NULL 78 6 GROUPBOX DLG_NULL 78 6
BEGIN 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 END
NUMBER F_M3 15 NUMBER F_M3 15
BEGIN 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 FIELD LF_BASEBIS->CRIMPDL
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "R"
@ -81,7 +80,7 @@ END
NUMBER F_M4 15 NUMBER F_M4 15
BEGIN 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 FIELD LF_BASEBIS->CRIMPIVA
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "R"
@ -89,7 +88,7 @@ END
NUMBER F_M5 15 NUMBER F_M5 15
BEGIN 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 FIELD LF_BASEBIS->CRIMPRIT
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "R"
@ -97,10 +96,23 @@ END
NUMBER F_M6 15 NUMBER F_M6 15
BEGIN BEGIN
PROMPT 1 12 "M6 Credito di imposta residuo " PROMPT 1 13 "M6 Credito di imposta residuo "
FIELD LF_BASEBIS->CRIMPRES FIELD LF_BASEBIS->CRIMPRES
PICTURE "." PICTURE "."
FLAGS "D" 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 END
ENDPAGE ENDPAGE
@ -115,14 +127,14 @@ END
NUMBER DLG_NULL 5 NUMBER DLG_NULL 5
BEGIN BEGIN
PROMPT 3 1 "Ditta " PROMPT 3 1 "Ditta "
FLAGS "RDG" FLAGS "RDGP"
GROUP 1 GROUP 1
END END
STRING DLG_NULL 50 STRING DLG_NULL 50
BEGIN BEGIN
PROMPT 17 1 "Ragione " PROMPT 17 1 "Ragione "
FLAGS "D" FLAGS "DP"
GROUP 2 GROUP 2
END END
@ -133,187 +145,198 @@ END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 4 "Il sottoscritto dichiara di aver corrisposto a dipendenti e terzi nell'anno" PROMPT 1 4 "Il sottoscritto dichiara di aver compilato i seguenti quadri"
END
NUMBER F_ANNODIC 4
BEGIN
PROMPT 1 5 ""
FLAGS "RD"
END
TEXT DLG_NULL
BEGIN
PROMPT 7 5 "le somme e i valori e di aver effettuato le ritenute indicate"
END
TEXT DLG_NULL
BEGIN
PROMPT 7 6 "nei quadri:"
END END
#define RA 8 #define RA 6
#define RB 9 #define RB 7
#define RC0 11 #define RC 8
#define RC1 12
#define RD 13
BOOLEAN F_QCOMPA BOOLEAN F_QCOMPA
BEGIN BEGIN
PROMPT 2 RA "A" PROMPT 2 RA "A"
END END
BOOLEAN F_QCOMPA3 BOOLEAN F_QCOMPAB
BEGIN BEGIN
PROMPT 8 RA "A3" PROMPT 8 RA "Ab"
END 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
BOOLEAN F_QCOMPA1 BOOLEAN F_QCOMPA1
BEGIN BEGIN
PROMPT 2 RD "A1" PROMPT 14 RA "A1"
END END
BOOLEAN F_QCOMPA2 BOOLEAN F_QCOMPA2
BEGIN BEGIN
PROMPT 8 RD "A2" PROMPT 20 RA "A2"
END 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 BOOLEAN F_QCOMPN
BEGIN BEGIN
PROMPT 14 RD "N" PROMPT 62 RB "N"
END END
BOOLEAN F_QCOMPP BOOLEAN F_QCOMPP
BEGIN BEGIN
PROMPT 20 RD "P" PROMPT 68 RB "P"
END END
BOOLEAN F_QCOMPQ BOOLEAN F_QCOMPQ
BEGIN BEGIN
PROMPT 26 RD "Q" PROMPT 2 RC "Q"
END END
BOOLEAN F_QCOMPR BOOLEAN F_QCOMPR
BEGIN BEGIN
PROMPT 32 RD "R" PROMPT 8 RC "R"
END END
BOOLEAN F_QCOMPS BOOLEAN F_QCOMPS
BEGIN BEGIN
PROMPT 38 RD "S" PROMPT 14 RC "S"
END END
BOOLEAN F_QCOMPT BOOLEAN F_QCOMPT
BEGIN 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 END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 15 "Dichiara altresì di aver eseguito i versamenti risultanti dai quadri L,P,Q," PROMPT 62 12 "supp.magnetici."
END END
TEXT DLG_NULL NUMBER F_ANNODIC 4
BEGIN BEGIN
PROMPT 1 16 "S,T e da n. " PROMPT 1 14 "Dichiara altresì che le ritenute effettuate nel "
FLAGS "RD"
END END
NUMBER F_H0NQLAGG 4 NUMBER F_DICRITCER 15
BEGIN BEGIN
PROMPT 13 16 "" PROMPT 1 15 "sono state certificate per il seguente importo "
FIELD LF_BASEBIS->H0NQLAGG FIELD LF_BASE->DICRITCER
PICTURE "."
FLAGS "R" FLAGS "R"
//FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 19 16 "quadri aggiuntivi."
END END
ENDPAGE ENDPAGE
@ -328,173 +351,172 @@ END
NUMBER DLG_NULL 5 NUMBER DLG_NULL 5
BEGIN BEGIN
PROMPT 3 1 "Ditta " PROMPT 3 1 "Ditta "
FLAGS "RDG" FLAGS "RDGP"
GROUP 1 GROUP 1
END END
STRING DLG_NULL 50 STRING DLG_NULL 50
BEGIN BEGIN
PROMPT 17 1 "Ragione " PROMPT 17 1 "Ragione "
FLAGS "D" FLAGS "DP"
GROUP 2 GROUP 2
END END
GROUPBOX DLG_NULL 78 10 GROUPBOX DLG_NULL 78 8
BEGIN BEGIN
PROMPT 0 3 "" PROMPT 0 3 ""
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN 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 END
BOOLEAN F_QSUPPA BOOLEAN F_QSUPPA
BEGIN BEGIN
PROMPT 2 6 "A" PROMPT 2 6 "A"
END
BOOLEAN F_QSUPPAB
BEGIN
PROMPT 8 6 "Ab"
END END
BOOLEAN F_QSUPPA1 BOOLEAN F_QSUPPA1
BEGIN BEGIN
PROMPT 8 6 "A1" PROMPT 14 6 "A1"
END END
BOOLEAN F_QSUPPA2 BOOLEAN F_QSUPPA2
BEGIN BEGIN
PROMPT 14 6 "A2" PROMPT 20 6 "A2"
END END
BOOLEAN F_QSUPPA3 BOOLEAN F_QSUPPA3
BEGIN BEGIN
PROMPT 20 6 "A3" PROMPT 26 6 "A3"
END END
BOOLEAN F_QSUPPB BOOLEAN F_QSUPPB
BEGIN BEGIN
PROMPT 26 6 "B" PROMPT 32 6 "B"
END END
BOOLEAN F_QSUPPB1 BOOLEAN F_QSUPPB1
BEGIN BEGIN
PROMPT 32 6 "B1" PROMPT 38 6 "B1"
END END
BOOLEAN F_QSUPPC BOOLEAN F_QSUPPC
BEGIN BEGIN
PROMPT 38 6 "C" PROMPT 44 6 "C"
END END
BOOLEAN F_QSUPPD BOOLEAN F_QSUPPD
BEGIN BEGIN
PROMPT 44 6 "D" PROMPT 50 6 "D"
END END
BOOLEAN F_QSUPPDB
BEGIN
PROMPT 56 6 "Db"
END
BOOLEAN F_QSUPPD1 BOOLEAN F_QSUPPD1
BEGIN BEGIN
PROMPT 50 6 "D1" PROMPT 62 6 "D1"
END END
BOOLEAN F_QSUPPE BOOLEAN F_QSUPPE
BEGIN BEGIN
PROMPT 56 6 "E" PROMPT 68 6 "E"
END END
BOOLEAN F_QSUPPE1 BOOLEAN F_QSUPPE1
BEGIN BEGIN
PROMPT 62 6 "E1" PROMPT 2 7 "E1"
END END
BOOLEAN F_QSUPPE2 BOOLEAN F_QSUPPE2
BEGIN BEGIN
PROMPT 68 6 "E2" PROMPT 8 7 "E2"
END END
BOOLEAN F_QSUPPF BOOLEAN F_QSUPPF
BEGIN BEGIN
PROMPT 2 7 "F" PROMPT 14 7 "F"
END END
BOOLEAN F_QSUPPF1 BOOLEAN F_QSUPPF1
BEGIN BEGIN
PROMPT 8 7 "F1" PROMPT 20 7 "F1"
END END
BOOLEAN F_QSUPPF2 BOOLEAN F_QSUPPF2
BEGIN BEGIN
PROMPT 14 7 "F2" PROMPT 26 7 "F2"
END END
BOOLEAN F_QSUPPG BOOLEAN F_QSUPPG
BEGIN BEGIN
PROMPT 20 7 "G" PROMPT 32 7 "G"
END END
BOOLEAN F_QSUPPG1 BOOLEAN F_QSUPPG1
BEGIN BEGIN
PROMPT 26 7 "G1" PROMPT 38 7 "G1"
END END
BOOLEAN F_QSUPPH BOOLEAN F_QSUPPH
BEGIN BEGIN
PROMPT 32 7 "H" PROMPT 44 7 "H"
END END
BOOLEAN F_QSUPPI BOOLEAN F_QSUPPI
BEGIN BEGIN
PROMPT 38 7 "I" PROMPT 50 7 "I"
END END
BOOLEAN F_QSUPPL BOOLEAN F_QSUPPL
BEGIN BEGIN
PROMPT 44 7 "L" PROMPT 56 7 "L"
END END
BOOLEAN F_QSUPPN BOOLEAN F_QSUPPN
BEGIN BEGIN
PROMPT 50 7 "N" PROMPT 62 7 "N"
END END
BOOLEAN F_QSUPPP BOOLEAN F_QSUPPP
BEGIN BEGIN
PROMPT 56 7 "P" PROMPT 68 7 "P"
END END
BOOLEAN F_QSUPPQ BOOLEAN F_QSUPPQ
BEGIN BEGIN
PROMPT 62 7 "Q" PROMPT 2 8 "Q"
END END
BOOLEAN F_QSUPPR BOOLEAN F_QSUPPR
BEGIN BEGIN
PROMPT 68 7 "R" PROMPT 8 8 "R"
END END
BOOLEAN F_QSUPPS BOOLEAN F_QSUPPS
BEGIN BEGIN
PROMPT 2 8 "S" PROMPT 14 8 "S"
END END
BOOLEAN F_QSUPPT BOOLEAN F_QSUPPT
BEGIN BEGIN
PROMPT 8 8 "T" PROMPT 20 8 "T"
END END
TEXT DLG_NULL BOOLEAN F_QSUPPU
BEGIN BEGIN
PROMPT 1 10 "mediante n. " PROMPT 26 8 "U"
END END
NUMBER F_NSUPPM 4
BEGIN
PROMPT 13 10 ""
FIELD LF_BASEBIS->NSUPPM
END
TEXT DLG_NULL
BEGIN
PROMPT 19 10 "supporti magnetici."
END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -2,41 +2,20 @@
#include "771300.h" #include "771300.h"
TOOLBAR "" 0 20 0 2 TOOLBAR "" 0 20 0 2
#include "toolbar.h"
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
ENDPAGE 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 BEGIN
PROMPT 0 0 "" PROMPT 1 0 ""
FLAGS "R"
END END
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 2 1 "Ditta " PROMPT 3 1 "Ditta "
FLAGS "DGR" FLAGS "DGRP"
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
INPUT CODDITTA F_CODDITTA INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA DISPLAY "Codice" CODDITTA
@ -50,8 +29,8 @@ END
STRING F_RAGSOC 50 STRING F_RAGSOC 50
BEGIN BEGIN
PROMPT 2 2 "Ragione sociale " PROMPT 17 1 "Ragione "
FLAGS "D" FLAGS "DP"
MESSAGE COPY,2@ MESSAGE COPY,2@
END END
@ -62,7 +41,25 @@ BEGIN
FLAGS "D" FLAGS "D"
KEY 1 KEY 1
FIELD LF_BASEBIS->TIPOQUA 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 END
GROUPBOX DLG_NULL 78 15 GROUPBOX DLG_NULL 78 15
@ -72,420 +69,378 @@ END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 4 "Il sottoscritto dichiara di aver corrisposto a dipendenti e terzi nell'anno" PROMPT 1 4 "Il sottoscritto dichiara di aver compilato i seguenti quadri"
END
NUMBER F_ANNODIC 4
BEGIN
PROMPT 1 5 ""
FLAGS "RD"
END
TEXT DLG_NULL
BEGIN
PROMPT 7 5 "le somme e i valori e di aver effettuato le ritenute indicate"
END
TEXT DLG_NULL
BEGIN
PROMPT 7 6 "nei quadri:"
END END
#define RA 8 #define RA 6
#define RB 9 #define RB 7
#define RC0 11 #define RC 8
#define RC1 12
#define RD 13
BOOLEAN F_QCOMPA BOOLEAN F_QCOMPA
BEGIN BEGIN
PROMPT 2 RA "A" PROMPT 2 RA "A"
FIELD LF_BASEBIS->QCOMP[1,1]
END END
BOOLEAN F_QCOMPA3 BOOLEAN F_QCOMPAB
BEGIN BEGIN
PROMPT 8 RA "A3" PROMPT 8 RA "Ab"
FIELD LF_BASEBIS->QCOMP[25,1] END
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
BOOLEAN F_QCOMPA1 BOOLEAN F_QCOMPA1
BEGIN BEGIN
PROMPT 2 RD "A1" PROMPT 14 RA "A1"
FIELD LF_BASEBIS->QCOMP[23,1]
END END
BOOLEAN F_QCOMPA2 BOOLEAN F_QCOMPA2
BEGIN BEGIN
PROMPT 8 RD "A2" PROMPT 20 RA "A2"
FIELD LF_BASEBIS->QCOMP[24,1]
END 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 BOOLEAN F_QCOMPN
BEGIN BEGIN
PROMPT 14 RD "N" PROMPT 62 RB "N"
FIELD LF_BASEBIS->QCOMP[17,1]
END END
BOOLEAN F_QCOMPP BOOLEAN F_QCOMPP
BEGIN BEGIN
PROMPT 20 RD "P" PROMPT 68 RB "P"
FIELD LF_BASEBIS->QCOMP[18,1]
END END
BOOLEAN F_QCOMPQ BOOLEAN F_QCOMPQ
BEGIN BEGIN
PROMPT 26 RD "Q" PROMPT 2 RC "Q"
FIELD LF_BASEBIS->QCOMP[19,1]
END END
BOOLEAN F_QCOMPR BOOLEAN F_QCOMPR
BEGIN BEGIN
PROMPT 32 RD "R" PROMPT 8 RC "R"
FIELD LF_BASEBIS->QCOMP[20,1]
END END
BOOLEAN F_QCOMPS BOOLEAN F_QCOMPS
BEGIN BEGIN
PROMPT 38 RD "S" PROMPT 14 RC "S"
FIELD LF_BASEBIS->QCOMP[21,1]
END END
BOOLEAN F_QCOMPT BOOLEAN F_QCOMPT
BEGIN BEGIN
PROMPT 44 RD "T" PROMPT 20 RC "T"
FIELD LF_BASEBIS->QCOMP[22,1] 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 END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 15 "Dichiara altresì di aver eseguito i versamenti risultanti dai quadri L,P,Q," PROMPT 62 12 "supp.magnetici."
END END
TEXT DLG_NULL NUMBER F_ANNODIC 4
BEGIN BEGIN
PROMPT 1 16 "S,T e da n. " PROMPT 1 14 "Dichiara altresì che le ritenute effettuate nel "
FLAGS "RD"
END END
NUMBER F_H0NQLAGG 4 NUMBER F_DICRITCER 15
BEGIN BEGIN
PROMPT 13 16 "" PROMPT 1 15 "sono state certificate per il seguente importo "
FIELD LF_BASEBIS->H0NQLAGG FIELD LF_BASE->DICRITCER
PICTURE "."
FLAGS "R" FLAGS "R"
//FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 19 16 "quadri aggiuntivi."
END END
ENDPAGE 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 BEGIN
PROMPT 0 0 "" PROMPT 1 0 ""
FLAGS "R"
END END
NUMBER DLG_NULL 5 NUMBER DLG_NULL 5
BEGIN BEGIN
PROMPT 2 1 "Ditta " PROMPT 3 1 "Ditta "
FLAGS "RDG" FLAGS "RDGP"
GROUP 1 GROUP 1
END END
STRING DLG_NULL 50 STRING DLG_NULL 50
BEGIN BEGIN
PROMPT 2 2 "Ragione sociale " PROMPT 17 1 "Ragione "
FLAGS "D" FLAGS "DP"
GROUP 2 GROUP 2
END END
GROUPBOX DLG_NULL 78 10 GROUPBOX DLG_NULL 78 8
BEGIN BEGIN
PROMPT 0 3 "" PROMPT 0 3 ""
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN 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 END
BOOLEAN F_QSUPPA BOOLEAN F_QSUPPA
BEGIN BEGIN
PROMPT 2 6 "A" PROMPT 2 6 "A"
FIELD LF_BASEBIS->QSUPPINV[1,1] END
BOOLEAN F_QSUPPAB
BEGIN
PROMPT 8 6 "Ab"
END END
BOOLEAN F_QSUPPA1 BOOLEAN F_QSUPPA1
BEGIN BEGIN
PROMPT 8 6 "A1" PROMPT 14 6 "A1"
FIELD LF_BASEBIS->QSUPPINV[2,1]
END END
BOOLEAN F_QSUPPA2 BOOLEAN F_QSUPPA2
BEGIN BEGIN
PROMPT 14 6 "A2" PROMPT 20 6 "A2"
FIELD LF_BASEBIS->QSUPPINV[3,1]
END END
BOOLEAN F_QSUPPA3 BOOLEAN F_QSUPPA3
BEGIN BEGIN
PROMPT 20 6 "A3" PROMPT 26 6 "A3"
FIELD LF_BASEBIS->QSUPPINV[4,1]
END END
BOOLEAN F_QSUPPB BOOLEAN F_QSUPPB
BEGIN BEGIN
PROMPT 26 6 "B" PROMPT 32 6 "B"
FIELD LF_BASEBIS->QSUPPINV[5,1]
END END
BOOLEAN F_QSUPPB1 BOOLEAN F_QSUPPB1
BEGIN BEGIN
PROMPT 32 6 "B1" PROMPT 38 6 "B1"
FIELD LF_BASEBIS->QSUPPINV[6,1]
END END
BOOLEAN F_QSUPPC BOOLEAN F_QSUPPC
BEGIN BEGIN
PROMPT 38 6 "C" PROMPT 44 6 "C"
FIELD LF_BASEBIS->QSUPPINV[7,1]
END END
BOOLEAN F_QSUPPD BOOLEAN F_QSUPPD
BEGIN BEGIN
PROMPT 44 6 "D" PROMPT 50 6 "D"
FIELD LF_BASEBIS->QSUPPINV[8,1]
END END
BOOLEAN F_QSUPPDB
BEGIN
PROMPT 56 6 "Db"
END
BOOLEAN F_QSUPPD1 BOOLEAN F_QSUPPD1
BEGIN BEGIN
PROMPT 50 6 "D1" PROMPT 62 6 "D1"
FIELD LF_BASEBIS->QSUPPINV[9,1]
END END
BOOLEAN F_QSUPPE BOOLEAN F_QSUPPE
BEGIN BEGIN
PROMPT 56 6 "E" PROMPT 68 6 "E"
FIELD LF_BASEBIS->QSUPPINV[10,1]
END END
BOOLEAN F_QSUPPE1 BOOLEAN F_QSUPPE1
BEGIN BEGIN
PROMPT 62 6 "E1" PROMPT 2 7 "E1"
FIELD LF_BASEBIS->QSUPPINV[11,1]
END END
BOOLEAN F_QSUPPE2 BOOLEAN F_QSUPPE2
BEGIN BEGIN
PROMPT 68 6 "E2" PROMPT 8 7 "E2"
FIELD LF_BASEBIS->QSUPPINV[12,1]
END END
BOOLEAN F_QSUPPF BOOLEAN F_QSUPPF
BEGIN BEGIN
PROMPT 2 7 "F" PROMPT 14 7 "F"
FIELD LF_BASEBIS->QSUPPINV[13,1]
END END
BOOLEAN F_QSUPPF1 BOOLEAN F_QSUPPF1
BEGIN BEGIN
PROMPT 8 7 "F1" PROMPT 20 7 "F1"
FIELD LF_BASEBIS->QSUPPINV[14,1]
END END
BOOLEAN F_QSUPPF2 BOOLEAN F_QSUPPF2
BEGIN BEGIN
PROMPT 14 7 "F2" PROMPT 26 7 "F2"
FIELD LF_BASEBIS->QSUPPINV[15,1]
END END
BOOLEAN F_QSUPPG BOOLEAN F_QSUPPG
BEGIN BEGIN
PROMPT 20 7 "G" PROMPT 32 7 "G"
FIELD LF_BASEBIS->QSUPPINV[16,1]
END END
BOOLEAN F_QSUPPG1 BOOLEAN F_QSUPPG1
BEGIN BEGIN
PROMPT 26 7 "G1" PROMPT 38 7 "G1"
FIELD LF_BASEBIS->QSUPPINV[17,1]
END END
BOOLEAN F_QSUPPH BOOLEAN F_QSUPPH
BEGIN BEGIN
PROMPT 32 7 "H" PROMPT 44 7 "H"
FIELD LF_BASEBIS->QSUPPINV[18,1]
END END
BOOLEAN F_QSUPPI BOOLEAN F_QSUPPI
BEGIN BEGIN
PROMPT 38 7 "I" PROMPT 50 7 "I"
FIELD LF_BASEBIS->QSUPPINV[19,1]
END END
BOOLEAN F_QSUPPL BOOLEAN F_QSUPPL
BEGIN BEGIN
PROMPT 44 7 "L" PROMPT 56 7 "L"
FIELD LF_BASEBIS->QSUPPINV[20,1]
END END
BOOLEAN F_QSUPPN BOOLEAN F_QSUPPN
BEGIN BEGIN
PROMPT 50 7 "N" PROMPT 62 7 "N"
FIELD LF_BASEBIS->QSUPPINV[21,1]
END END
BOOLEAN F_QSUPPP BOOLEAN F_QSUPPP
BEGIN BEGIN
PROMPT 56 7 "P" PROMPT 68 7 "P"
FIELD LF_BASEBIS->QSUPPINV[22,1]
END END
BOOLEAN F_QSUPPQ BOOLEAN F_QSUPPQ
BEGIN BEGIN
PROMPT 62 7 "Q" PROMPT 2 8 "Q"
FIELD LF_BASEBIS->QSUPPINV[23,1]
END END
BOOLEAN F_QSUPPR BOOLEAN F_QSUPPR
BEGIN BEGIN
PROMPT 68 7 "R" PROMPT 8 8 "R"
FIELD LF_BASEBIS->QSUPPINV[24,1]
END END
BOOLEAN F_QSUPPS BOOLEAN F_QSUPPS
BEGIN BEGIN
PROMPT 2 8 "S" PROMPT 14 8 "S"
FIELD LF_BASEBIS->QSUPPINV[25,1]
END END
BOOLEAN F_QSUPPT BOOLEAN F_QSUPPT
BEGIN BEGIN
PROMPT 8 8 "T" PROMPT 20 8 "T"
FIELD LF_BASEBIS->QSUPPINV[26,1]
END END
TEXT DLG_NULL BOOLEAN F_QSUPPU
BEGIN BEGIN
PROMPT 1 10 "mediante n. " PROMPT 26 8 "U"
END END
NUMBER F_NSUPPM 4
BEGIN
PROMPT 13 10 ""
FIELD LF_BASEBIS->NSUPPM
END
TEXT DLG_NULL
BEGIN
PROMPT 19 10 "supporti magnetici."
END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

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

View File

@ -18,7 +18,6 @@
// //
#include <applicat.h> #include <applicat.h>
#include <mask.h> #include <mask.h>
#include <printapp.h>
#include <progind.h> #include <progind.h>
#include <relation.h> #include <relation.h>
#include <tabutil.h> #include <tabutil.h>
@ -26,6 +25,8 @@
#include <config.h> #include <config.h>
#include <urldefid.h> #include <urldefid.h>
#include <recarray.h> #include <recarray.h>
#include <xvtility.h>
#include "774200.h" #include "774200.h"
#include "quadroa.h" #include "quadroa.h"
#include "quadroa3.h" #include "quadroa3.h"
@ -56,18 +57,15 @@ HIDDEN TRiporti* this_riporti = NULL;
HIDDEN TString80 __tmp; HIDDEN TString80 __tmp;
// Costanti usate per il calcolo dei fogli compilati // Costanti usate per il calcolo dei fogli compilati
HIDDEN const int QE2_FISICHE_PER_FOGLIO = 16; const int QC_PERCIPIENTI_PER_FOGLIO = 27;
HIDDEN const int QE2_NOFISICHE_PER_FOGLIO = 9; const int QD_PERCIPIENTI_PER_FOGLIO = 22;
HIDDEN const int QGD_FISICHE_PER_FOGLIO = 5; const int QDB_PERCIPIENTI_PER_FOGLIO = 22;
HIDDEN const int QGD_NOFISICHE_PER_FOGLIO = 6; const int QD1_PERCIPIENTI_PER_FOGLIO = 27;
HIDDEN const int QD1_FISICHE_PER_FOGLIO = 24; const int QE_PERCIPIENTI_PER_FOGLIO = 27;
HIDDEN const int QD1_NOFISICHE_PER_FOGLIO = 8; const int QE1_PERCIPIENTI_PER_FOGLIO = 25;
HIDDEN const int QD_FISICHE_PER_FOGLIO = 18; const int QE2_PERCIPIENTI_PER_FOGLIO = 13;
HIDDEN const int QD_NOFISICHE_PER_FOGLIO = 6; const int QGD_FISICHE_PER_FOGLIO = 5;
HIDDEN const int QE_FISICHE_PER_FOGLIO = 26; const int QGD_NOFISICHE_PER_FOGLIO = 6;
HIDDEN const int QE_NOFISICHE_PER_FOGLIO = 8;
HIDDEN const int QE1_PERCIPIENTI_PER_FOGLIO = 25;
HIDDEN const int QE1_RIGHE_PROSPETTO = 17;
HIDDEN long fogli_compilati(const long fisiche, const long nofisiche, const int fisiche_x_foglio, const int nofisiche_x_foglio); 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); HIDDEN const char* build_fill_string(TString& qcomp);
@ -130,7 +128,7 @@ bool TRiporta_quadri::create()
{ {
TApplication::create(); TApplication::create();
_riporta = new TRiporti; _riporta = new TRiporti;
_msk = new TMask("774200a"); _msk = new TMask("774200a");
_msk->set_handler(F_CODDITTA, codditta_handler); _msk->set_handler(F_CODDITTA, codditta_handler);
dispatch_e_menu (BAR_ITEM(1)); dispatch_e_menu (BAR_ITEM(1));
return TRUE; return TRUE;
@ -153,13 +151,182 @@ int riporti_dich(int argc, char* argv[])
const char* build_fill_string(TString& qcomp) const char* build_fill_string(TString& qcomp)
{ {
// NB cambiare qui il numero dei quadri // 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(); const int agg = NUM_QUADRI - qcomp.len();
__tmp.cut(agg); __tmp.cut(agg);
__tmp.fill(' ', agg); __tmp.fill(' ', agg);
return __tmp; 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) 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(); _codditta = codditta ? codditta : get_firm_770();
_annodic = anno ? anno : anno_770(); _annodic = anno ? anno : anno_770();
_quadro = quadro; _quadro = quadro;
// Filtro magico uguale per tutti
filt.format("CODDITTA=%ld", _codditta);
this_riporti = this; this_riporti = this;
@ -594,56 +764,37 @@ bool TRiporti::set(const TString& quadro, int anno, const long codditta, const l
if (quadro == "C" || quadro == "*") if (quadro == "C" || quadro == "*")
{ {
rel = new TRelation (LF_QUAC); calcola_riporti_C(dichiarante);
filt.format("CODDITTA=%ld", _codditta);
cur = new TCursor(rel,filt,1);
calcola_riporti_C (cur, dichiarante);
delete cur; delete rel;
} }
if (quadro == "D" || quadro == "*") if (quadro == "D" || quadro == "*")
{ {
rel = new TRelation (LF_QUAD); calcola_riporti_D(dichiarante);
filt.format("CODDITTA=%ld", _codditta); }
cur = new TCursor(rel,filt,1);
calcola_riporti_D (cur, dichiarante); if (quadro == "DB" || quadro == "*")
delete cur; delete rel; {
calcola_riporti_Dbis(dichiarante);
} }
if (quadro == "D1" || quadro == "*") if (quadro == "D1" || quadro == "*")
{ {
rel = new TRelation (LF_QUAD1); calcola_riporti_D1(dichiarante);
filt.format("CODDITTA=%ld", _codditta);
cur = new TCursor(rel,filt,1);
calcola_riporti_D1 (cur, dichiarante);
delete cur; delete rel;
} }
if (quadro == "E" || quadro == "*") if (quadro == "E" || quadro == "*")
{ {
rel = new TRelation (LF_QUAE); calcola_riporti_E(dichiarante);
filt.format("CODDITTA=%ld", _codditta);
cur = new TCursor(rel,filt,1);
calcola_riporti_E (cur, dichiarante);
delete cur; delete rel;
} }
if (quadro == "E1" || quadro == "*") if (quadro == "E1" || quadro == "*")
{ {
rel = new TRelation (LF_QUAE1); calcola_riporti_E1(dichiarante);
filt.format("CODDITTA=%ld", _codditta);
cur = new TCursor(rel,filt,1);
calcola_riporti_E1 (cur, dichiarante);
delete cur; delete rel;
} }
if (quadro == "E2" || quadro == "*") if (quadro == "E2" || quadro == "*")
{ {
rel = new TRelation (LF_QUAE2); calcola_riporti_E2(dichiarante);
filt.format("CODDITTA=%ld", _codditta);
cur = new TCursor(rel,filt,1);
calcola_riporti_E2 (cur, dichiarante);
delete cur; delete rel;
} }
if (quadro == "F" || quadro == "*") 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"); 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) const TRectype& totale = conta.totale();
{ TRectype& base = conta.base().curr();
TLocalisamfile base (LF_BASE); base.put(BSE_C0NFCOM, conta.fogli_compilati(QC_PERCIPIENTI_PER_FOGLIO));
real totale,somme,ritenute,rTotCSSN; base.put(BSE_C0NLASS, conta.persone_distinte());
bool almeno_una_riga = FALSE; base.put(BSE_C0ACTOT, totale.get("AMMLORDO"));
long percipienti=0L; base.put(BSE_C0CONTSSN, totale.get("CONTROBB"));
base.put(BSE_C0SNSRIT, totale.get("SOMNONSOGG"));
totale = ZERO; base.put(BSE_C0TOTIMP, totale.get("IMPONIBILE"));
somme = ZERO; base.put(BSE_C0ROPE, totale.get("IMPOSTA"));
ritenute = ZERO; base.put(BSE_C0TOTDET, totale.get("TOTDET"));
rTotCSSN = ZERO; base.put(BSE_C0RITOPE, totale.get("RITENUTE"));
conta.base().rewrite();
(*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);
if (!almeno_una_riga) err = conta.read_basebis(0);
almeno_una_riga = TRUE; if (err == NOERR)
setta_flag_quadri_comp(_codditta, C, conta.righe() > 0, conta.basebis(), dich);
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");
} }
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); TConta_persone conta(LF_QUAD, _codditta);
real totale,somme,ritenute; int err = conta.read_base(dich);
bool almeno_una_riga = FALSE; if (err == NOERR)
int percipienti; {
int fisiche,giuridiche; conta.compute();
percipienti = 0; const TRectype& totale = conta.totale();
fisiche = 0; TRectype& base = conta.base().curr();
giuridiche = 0;
base.put(BSE_D0NFCOM, conta.fogli_compilati(QD_PERCIPIENTI_PER_FOGLIO));
totale = ZERO; base.put(BSE_D0NLAUT, conta.persone_distinte());
somme = ZERO; base.put(BSE_D0ACTOT, totale.get("TOTALE"));
ritenute = ZERO; base.put(BSE_D0SNSRIT, totale.get("SOMME"));
base.put(BSE_D0NSRITRC, totale.get("SOMREGCONV"));
(*cur) = 0L; base.put(BSE_D0ROPE, totale.get("IMPORTO"));
conta.base().rewrite();
TRecnotype items = cur->items();
// if (items == 0L) return; err = conta.read_basebis(0);
TString scritta(60); if (err == NOERR)
scritta.format("Calcolo riporti del quadro D per la ditta %ld", _codditta); setta_flag_quadri_comp(_codditta, D, conta.righe() > 0, conta.basebis(), dich);
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 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); TConta_persone conta(LF_QUADBIS, _codditta);
real totale,somme,importo; int err = conta.read_basebis(dich);
bool almeno_una_riga = FALSE; if (err == NOERR)
int percipienti,fisiche,giuridiche; {
conta.compute();
percipienti = 0; const TRectype& totale = conta.totale();
fisiche = 0; TRectype& basebis = conta.basebis().curr();
giuridiche = 0;
basebis.put(BSE_DBAMMCOR, totale.get("TOTALE"));
totale = ZERO; basebis.put(BSE_DBNSRIT, totale.get("SOMME"));
somme = ZERO; basebis.put(BSE_DBNSRITRC, totale.get("IMPONIBILE"));
importo = ZERO; basebis.put(BSE_DBRITOPE, totale.get("IMPORTO"));
conta.basebis().rewrite();
(*cur) = 0L;
err = conta.read_basebis(0);
TRecnotype items = cur->items(); if (err == NOERR)
TString scritta(60); setta_flag_quadri_comp(_codditta, DB, conta.righe() > 0, conta.basebis(), dich);
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 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); TConta_persone conta(LF_QUAD1, _codditta);
real imponibile,somme,ritenute; int err = conta.read_base(dich);
bool almeno_una_riga = FALSE; if (err == NOERR)
int percipienti,fisiche,giuridiche; {
conta.compute();
percipienti = 0; const TRectype& totale = conta.totale();
fisiche = 0; TRectype& base = conta.base().curr();
giuridiche = 0; base.put(BSE_D1NFCOM, conta.fogli_compilati(QD1_PERCIPIENTI_PER_FOGLIO));
base.put(BSE_D1NPER, conta.persone_distinte());
imponibile = ZERO; base.put(BSE_D1TACOR, totale.get("TOTALE"));
somme = ZERO; base.put(BSE_D1SNSRIT, totale.get("SPESEANT"));
ritenute = ZERO; base.put(BSE_D1ROPE, totale.get("IMPORTO"));
conta.base().rewrite();
(*cur) = 0L;
err = conta.read_basebis(0);
TRecnotype items = cur->items(); if (err == NOERR)
// if (items == 0L) return; setta_flag_quadri_comp(_codditta, D1, conta.righe() > 0, conta.basebis(), dich);
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 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); TConta_persone conta(LF_QUAE, _codditta);
TRelation* relp; int err = conta.read_basebis(dich);
TCursor* curp; if (err == NOERR)
TString16 filt; {
real ammontare,somme,ritenute; conta.compute();
real comp,impo,rite;
bool almeno_una_riga = FALSE;
int percipienti,righep;
percipienti = 0; const TRectype& totale = conta.totale();
righep = 0; TRectype& base = conta.basebis().curr();
base.put(BSB_E0NFCOM, conta.fogli_compilati(QE_PERCIPIENTI_PER_FOGLIO));
ammontare = ZERO; base.put(BSB_E0NPER, conta.persone_distinte());
somme = ZERO; base.put(BSB_E0AIMP, totale.get(QUE_IMPONIBILE));
ritenute = ZERO; base.put(BSB_E0SNSRIT, totale.get(QUE_SOMME));
base.put(BSB_E0ROPE, totale.get(QUE_IMPORTO));
comp = ZERO; conta.basebis().rewrite();
impo = ZERO;
rite = ZERO; err = conta.read_basebis(0);
if (err == NOERR)
(*cur) = 0L; setta_flag_quadri_comp(_codditta, E, conta.righe() > 0, conta.basebis(), dich);
TRecnotype items = cur->items();
// if (items == 0L) return;
TString scritta(60);
scritta.format("Calcolo riporti del quadro E1 per la ditta %ld", _codditta);
TProgind progn(items, scritta, FALSE, TRUE);
char tipoap = 'Z';
long codanagrp = -1;
for (int i = 0; i < items; i++, ++(*cur))
{
char tipoa = cur->curr().get_char(QE1_TIPOA);
long codanagr = cur->curr().get_long(QE1_CODANAGR);
if ( (tipoa != tipoap) || (codanagr != codanagrp) )
percipienti++;
tipoap = tipoa;
codanagrp = codanagr;
ammontare += cur->curr().get_real(QE1_AMMONTARE);
somme += cur->curr().get_real(QE1_SOMME);
ritenute += cur->curr().get_real(QE1_IMPORTO);
if (!almeno_una_riga)
almeno_una_riga = TRUE;
progn.addstatus(1);
} }
relp = new TRelation (LF_PROSPE1);
filt.format("CODDITTA=%ld", _codditta);
curp = new TCursor(relp,filt,1);
(*curp) = 0L;
TRecnotype itemp = curp->items();
scritta.format("Calcolo riporti del prospetto del quadro E1 per la ditta %ld", _codditta);
TProgind prognp(itemp, scritta, FALSE, TRUE);
for (int j = 0; j < itemp; j++, ++(*curp))
{
righep++;
comp += curp->curr().get_real(PRE_COMPENSO);
impo += curp->curr().get_real(PRE_IMPONIBILE);
rite += curp->curr().get_real(PRE_RITENUTA);
if (!almeno_una_riga)
almeno_una_riga = TRUE;
prognp.addstatus(1);
}
delete curp;
delete relp;
const long fogli = fogli_compilati(percipienti,righep,QE1_PERCIPIENTI_PER_FOGLIO,QE1_RIGHE_PROSPETTO);
basebis.setkey(1);
basebis.zero();
if (dich)
{
basebis.put("TIPOQUA", COD_QUA_I_DIC);
basebis.put(BSB_CODDITTA, dich);
}
else
basebis.put(BSB_CODDITTA, _codditta);
if (basebis.read(_isequal, _lock) == NOERR)
{
basebis.put(BSB_E1NFCOM, fogli);
basebis.put(BSB_E1NPER, (long)percipienti);
basebis.put(BSB_E1SCOR, somme);
basebis.put(BSB_E1BCOM, ammontare );
basebis.put(BSB_E1ROPE, ritenute );
basebis.put(BSB_E1ACOM, comp);
basebis.put(BSB_E1BCOM2, impo);
basebis.put(BSB_E1ROPE2, rite);
basebis.rewrite();
setta_flag_quadri_comp(_codditta, E1, almeno_una_riga,basebis,dich);
}
else
warning_box("Dichiarazione non presente. Impossibile registrare i riporti");
} }
void TRiporti::calcola_riporti_E2(TCursor* cur, const long dich) void TRiporti::calcola_riporti_E1(const long dich)
{ {
TLocalisamfile basebis (LF_BASEBIS); TConta_persone conta(LF_QUAE1, _codditta);
long fisiche, no_fisiche; int err = conta.read_basebis(dich);
long fogli_comp; if (err == NOERR)
real soggrit, rope; {
real comp,impo,rite; TLocalisamfile prosp_e1(LF_PROSPE1);
bool almeno_una_riga = FALSE; prosp_e1.put(PRE_CODDITTA, _codditta);
double percipienti; TRectype tot_prosp(LF_PROSPE1); // Totale delle due righe di prospetto
for (int err = prosp_e1.read(_isgteq); err == NOERR; err = prosp_e1.next())
fisiche = no_fisiche = fogli_comp = 0L; {
percipienti = 0.00; if (prosp_e1.get_long(PRE_CODDITTA) != _codditta)
break;
soggrit = ZERO; char caus = prosp_e1.get_char(PRE_CODCAUS);
rope = ZERO; if (caus == 'C' || caus == 'D') // Ignora causali dell'anno scorso
conta.sum(tot_prosp, prosp_e1.curr());
comp = ZERO; }
impo = ZERO;
rite = ZERO; conta.compute();
const TRectype& totale = conta.totale();
(*cur) = 0L; TRectype& base = conta.basebis().curr();
base.put(BSB_E1NFCOM, conta.fogli_compilati(QE1_PERCIPIENTI_PER_FOGLIO));
TRecnotype items = cur->items(); base.put(BSB_E1NPER, conta.persone_distinte());
TString scritta(60); base.put(BSB_E1BCOM, totale.get(QE1_AMMONTARE));
scritta.format("Calcolo riporti del quadro E2 per la ditta %ld", _codditta); base.put(BSB_E1SCOR, totale.get(QE1_SOMME));
base.put(BSB_E1ROPE, totale.get(QE1_IMPORTO));
TProgind progn(items, scritta, FALSE, TRUE); base.put(BSB_E1ACOM, tot_prosp.get(PRE_COMPENSO));
base.put(BSB_E1BCOM2, tot_prosp.get(PRE_IMPONIBILE));
char tipoap = 'Z'; base.put(BSB_E1ROPE2, tot_prosp.get(PRE_RITENUTA));
long codanagrp = -1; conta.basebis().rewrite();
for (int i = 0; i < items; i++, ++(*cur)) err = conta.read_basebis(0);
{ if (err == NOERR)
const char tipoa = cur->curr().get_char(QE2_TIPOA); setta_flag_quadri_comp(_codditta, E1, conta.righe() > 0, conta.basebis(), dich);
const long codanagr = cur->curr().get_long(QE2_CODANAGR);
if ( (tipoa != tipoap) || (codanagr != codanagrp) )
percipienti++;
tipoap = tipoa;
codanagrp = codanagr;
if (tipoa == 'F')
fisiche++;
else
no_fisiche++;
soggrit += cur->curr().get_real(QE2_SOGGRIT);
rope += cur->curr().get_real(QE2_ROPE);
if (!almeno_una_riga)
almeno_una_riga = TRUE;
progn.addstatus(1);
} }
}
fogli_comp = fogli_compilati(fisiche,no_fisiche,QE2_FISICHE_PER_FOGLIO,QE2_NOFISICHE_PER_FOGLIO); void TRiporti::calcola_riporti_E2(const long dich)
{
basebis.setkey(1); TConta_persone conta(LF_QUAE2, _codditta);
basebis.zero(); int err = conta.read_basebis(dich);
if (dich) if (err == NOERR)
{ {
basebis.put("TIPOQUA", COD_QUA_I_DIC); conta.compute();
basebis.put(BSB_CODDITTA, dich); 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) void TRiporti::calcola_riporti_F(TCursor* cur, const long dich)

View File

@ -10,7 +10,7 @@
bool filter_func (const TRelation *); 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_IB1 = 61;
const int CAMPI_IB2 = 50; 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}; BSB_H0CODLAV,BSB_H0COLDIP};
HIDDEN const char* _campi_A [CAMPI_A] = { HIDDEN const char* _campi_A [CAMPI_A] = {
QUA_DENARO, QUA_NATURA, QUA_COBBDIP, QUA_COMPNETTI, QUA_DENARO, QUA_NATURA, QUA_COBBDIP, QUA_COMPNETTI,
QUA_AMMLORDO, QUA_IACOBBCD, QUA_NORIT, QUA_TOTIMP, QUA_AMMLORDO, QUA_IACOBBCD, QUA_NORIT, QUA_TOTIMP,
QUA_AIENTIPREV, QUA_CCTAMMCONT, QUA_TOTIMP2, QUA_ICTOTIMP, QUA_AIENTIPREV, QUA_CCTAMMCONT, QUA_TOTIMP2, QUA_ICTOTIMP,
QUA_DETCC, QUA_DETFC, QUA_DETAF, QUA_DETLD, QUA_DETCC, QUA_DETFC, QUA_DETAF, QUA_DETLD,
QUA_TOTDET, QUA_INCDETFC, QUA_AMRIOT, QUA_AMRIODL, QUA_TOTDET, QUA_INCDETFC, QUA_AMRIOT, QUA_AMRIODL,
QUA_ECCRITRIMB, QUA_AMMRITDOV, QUA_ERSPSAN, QUA_PRASSVI, QUA_ECCRITRIMB, QUA_AMMRITDOV, QUA_ERSPSAN, QUA_PRASSVI,
QUA_CONPRECO, QUA_COBBDIP2, QUA_AMMIMP, QUA_DETIMPOS, QUA_CONPRECO, QUA_COBBDIP2, QUA_AMMIMP, QUA_DETIMPOS,
QUA_RITESEG, QUA_SVNASSRI, QUA_AIFCSSN, QUA_CONEFF, QUA_RITESEG, QUA_SVNASSRI, QUA_AIFCSSN, QUA_CONEFF,
QUA_IMPVERS, QUA_INTERE, QUA_CSSN95CV, QUA_INTERE2, QUA_IMPVERS, QUA_INTERE, QUA_CSSN95CV, QUA_INTERE2,
QUA_CNEFF, QUA_RETCON, QUA_IMPRIMB, QUA_IMPVER, QUA_CNEFF, QUA_RETCON, QUA_IMPRIMB, QUA_IMPVER,
QUA_IMPVER2, QUA_INTER, QUA_STSIRPEF, QUA_CONRIMB, QUA_IMPVER2, QUA_INTER, QUA_STSIRPEF, QUA_CONRIMB,
QUA_INTER2, QUA_CONVER2, QUA_INTER3, QUA_STSCSSN70, QUA_M730NLIQ, QUA_INTER2, QUA_CONVER2, QUA_INTER3, QUA_STSCSSN70, QUA_M730NLIQ,
QUA_CODCAAF, QUA_DETO, QUA_INTIRPEF, QUA_CONVER QUA_CODCAAF, QUA_DETO, QUA_INTIRPEF, QUA_CONVER
}; };
class TRiporti class TRiporti : public TObject
{ {
friend bool filter_func (const TRelation *); friend bool filter_func (const TRelation *);
@ -64,9 +64,12 @@ class TRiporti
int _annodic; int _annodic;
TString16 _quadro; TString16 _quadro;
protected:
void setta_flag_quadri_comp (const long codditta, const int posquadro, const bool aur, TLocalisamfile& basebis, const long dich=0L); 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 // 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 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_A (TCursor* cur, const long dich=0L);
void calcola_riporti_A1(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_B (TCursor* cur, const long dich=0L);
void calcola_riporti_B1(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_H (TCursor* cur, const long dich=0L);
void calcola_riporti_C (TCursor* cur, const long dich=0L); void calcola_riporti_C (const long dich=0L);
void calcola_riporti_D (TCursor* cur, const long dich=0L); void calcola_riporti_D (const long dich=0L);
void calcola_riporti_D1(TCursor* cur, const long dich=0L); void calcola_riporti_Dbis(const long dich=0L);
void calcola_riporti_E (TCursor* cur, const long dich=0L); void calcola_riporti_D1(const long dich=0L);
void calcola_riporti_E1(TCursor* cur, const long dich=0L); void calcola_riporti_E (const long dich=0L);
void calcola_riporti_E2(TCursor* cur, 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_F (TCursor* cur, const long dich=0L);
void calcola_riporti_F1(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); void calcola_riporti_F2(TCursor* cur, const long dich=0L);
@ -90,7 +94,7 @@ public:
bool riporta_I_globale(const long dich); bool riporta_I_globale(const long dich);
bool riporti_dich(const long dich, const int anno); 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); 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() {} TRiporti() {}
virtual ~TRiporti() {} virtual ~TRiporti() {}

View File

@ -24,8 +24,7 @@
#include "../ba/ba4600.h" #include "../ba/ba4600.h"
HIDDEN TString80 __tmp; HIDDEN TString80 __tmp;
HIDDEN const int NUM_QUADRI = 26; HIDDEN const int NUM_QUADRI = 29;
HIDDEN const int QUADRO_L = 27;
typedef enum { grassetto=0, sottolineato, piano } stile; typedef enum { grassetto=0, sottolineato, piano } stile;
@ -196,7 +195,7 @@ bool TManutenzione_quadri::create()
_rel->add(LF_BASEBIS, "CODDITTA=CODDITTA"); _rel->add(LF_BASEBIS, "CODDITTA=CODDITTA");
// inizializza stato precedente quadri per ottimizzazione enphasize // inizializza stato precedente quadri per ottimizzazione enphasize
_qcomp_prev.spaces(NUM_QUADRI+1); _qcomp_prev.spaces(NUM_QUADRI);
load_mask(0); load_mask(0);
dispatch_e_menu (BAR_ITEM(1)); dispatch_e_menu (BAR_ITEM(1));
@ -286,28 +285,34 @@ const char* TManutenzione_quadri::make_prompt(int i, stile vivid)
break; break;
case 18: case 18:
__tmp << "Quadro I" ; __tmp << "Quadro I" ;
break;
case 19:
__tmp << "Quadro L" ;
break; break;
case 19: case 20:
__tmp << "Quadro N" ; __tmp << "Quadro N" ;
break; break;
case 20: case 21:
__tmp << "Quadro P" ; __tmp << "Quadro P" ;
break; break;
case 21: case 22:
__tmp << "Quadro Q" ; __tmp << "Quadro Q" ;
break; break;
case 22: case 23:
__tmp << "Quadro R" ; __tmp << "Quadro R" ;
break; break;
case 23: case 24:
__tmp << "Quadro S" ; __tmp << "Quadro S" ;
break; break;
case 24: case 25:
__tmp << "Quadro T" ; __tmp << "Quadro T" ;
break; break;
case QUADRO_L: case 26:
__tmp << "Quadro L" ; __tmp << "Quadro Abis";
break; break;
case 27:
__tmp << "Quadro Dbis";
break;
default: default:
break; break;
} }
@ -322,7 +327,8 @@ void TManutenzione_quadri::inibith(TString& qric, TMask& m)
int start_dlg = DLG_STOPREC_A; int start_dlg = DLG_STOPREC_A;
int dlg; 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') if (qric[i] == 'X')
{ {
dlg = start_dlg + (i * 2); dlg = start_dlg + (i * 2);
@ -330,7 +336,6 @@ void TManutenzione_quadri::inibith(TString& qric, TMask& m)
} }
} }
//
// Metto in grassetto i quadri gia' compilati // Metto in grassetto i quadri gia' compilati
// ma solo quelli variati dal ciclo precedente // ma solo quelli variati dal ciclo precedente
// Il quadro L non ha il flag di compilato sul base. // 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; int start_dlg = DLG_NULL_A;
const char* prompt; const char* prompt;
const int L = 19; int dlg = 0;
int dlg = 0;
char qcompL;
// quadri fino al quadro L non compreso // quadri fino al quadro U non compreso
for (int i = 0; i < L; i++) for (int i = 0; i < (NUM_QUADRI-1); i++)
{ {
if (qcomp[i] != _qcomp_prev[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); m.field(dlg).set_prompt(prompt);
_qcomp_prev[i] = qcomp[i]; _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_RAGDITTA 102
#define F_ANNODIC 103 #define F_ANNODIC 103
#define DLG_NULL_A 104 #define DLG_MANUTENZ 110
#define DLG_STOPREC_A 105 #define DLG_NULL_A 111
#define DLG_NULL_A1 106 #define DLG_STOPREC_A 112
#define DLG_STOPREC_A1 107 #define DLG_NULL_A1 113
#define DLG_NULL_A2 108 #define DLG_STOPREC_A1 114
#define DLG_STOPREC_A2 109 #define DLG_NULL_A2 115
#define DLG_NULL_A3 110 #define DLG_STOPREC_A2 116
#define DLG_STOPREC_A3 111 #define DLG_NULL_A3 117
#define DLG_NULL_B 112 #define DLG_STOPREC_A3 118
#define DLG_STOPREC_B 113 #define DLG_NULL_B 119
#define DLG_NULL_B1 114 #define DLG_STOPREC_B 120
#define DLG_STOPREC_B1 115 #define DLG_NULL_B1 121
#define DLG_NULL_C 116 #define DLG_STOPREC_B1 122
#define DLG_STOPREC_C 117 #define DLG_NULL_C 123
#define DLG_NULL_D 118 #define DLG_STOPREC_C 124
#define DLG_STOPREC_D 119 #define DLG_NULL_D 125
#define DLG_NULL_D1 120 #define DLG_STOPREC_D 126
#define DLG_STOPREC_D1 121 #define DLG_NULL_D1 127
#define DLG_NULL_E 122 #define DLG_STOPREC_D1 128
#define DLG_STOPREC_E 123 #define DLG_NULL_E 129
#define DLG_NULL_E1 124 #define DLG_STOPREC_E 130
#define DLG_STOPREC_E1 125 #define DLG_NULL_E1 131
#define DLG_NULL_E2 126 #define DLG_STOPREC_E1 132
#define DLG_STOPREC_E2 127 #define DLG_NULL_E2 133
#define DLG_NULL_F 128 #define DLG_STOPREC_E2 134
#define DLG_STOPREC_F 129 #define DLG_NULL_F 135
#define DLG_NULL_F1 130 #define DLG_STOPREC_F 136
#define DLG_STOPREC_F1 131 #define DLG_NULL_F1 137
#define DLG_NULL_F2 132 #define DLG_STOPREC_F1 138
#define DLG_STOPREC_F2 133 #define DLG_NULL_F2 139
#define DLG_NULL_G 134 #define DLG_STOPREC_F2 140
#define DLG_STOPREC_G 135 #define DLG_NULL_G 141
#define DLG_NULL_G1 136 #define DLG_STOPREC_G 142
#define DLG_STOPREC_G1 137 #define DLG_NULL_G1 143
#define DLG_NULL_H 138 #define DLG_STOPREC_G1 144
#define DLG_STOPREC_H 139 #define DLG_NULL_H 145
#define DLG_NULL_I 140 #define DLG_STOPREC_H 146
#define DLG_STOPREC_I 141 #define DLG_NULL_I 147
#define DLG_NULL_L 142 #define DLG_STOPREC_I 148
#define DLG_STOPREC_L 143 #define DLG_NULL_L 149
#define DLG_NULL_N 144 #define DLG_STOPREC_L 150
#define DLG_STOPREC_N 145 #define DLG_NULL_N 151
#define DLG_NULL_P 146 #define DLG_STOPREC_N 152
#define DLG_STOPREC_P 147 #define DLG_NULL_P 153
#define DLG_NULL_Q 148 #define DLG_STOPREC_P 154
#define DLG_STOPREC_Q 149 #define DLG_NULL_Q 155
#define DLG_NULL_R 150 #define DLG_STOPREC_Q 156
#define DLG_STOPREC_R 151 #define DLG_NULL_R 157
#define DLG_NULL_S 152 #define DLG_STOPREC_R 158
#define DLG_STOPREC_S 153 #define DLG_NULL_S 159
#define DLG_NULL_T 154 #define DLG_STOPREC_S 160
#define DLG_STOPREC_T 155 #define DLG_NULL_T 161
#define DLG_MANUTENZ 156 #define DLG_STOPREC_T 162
#define DLG_NULL_DICH 157 #define DLG_NULL_AB 163
#define DLG_STOPREC_DICH 158 #define DLG_STOPREC_AB 164
#define DLG_NULL_RAPP 159 #define DLG_NULL_DB 165
#define DLG_STOPREC_RAPP 160 #define DLG_STOPREC_DB 166
#define DLG_NULL_SCRIT 161 #define DLG_NULL_U 167
#define DLG_STOPREC_SCRIT 162 #define DLG_STOPREC_U 168
#define DLG_NULL_CAAF 163
#define DLG_STOPREC_CAAF 164 #define DLG_NULL_DICH 200
#define DLG_NULL_DIRET 165 #define DLG_STOPREC_DICH 201
#define DLG_STOPREC_DIRET 166 #define DLG_NULL_RAPP 202
#define DLG_NULL_CONC 167 #define DLG_STOPREC_RAPP 203
#define DLG_STOPREC_CONC 168 #define DLG_NULL_SCRIT 204
#define DLG_NULL_DIC0 169 #define DLG_STOPREC_SCRIT 205
#define DLG_STOPREC_DIC0 170 #define DLG_NULL_CAAF 206
#define DLG_NULL_DIC1 171 #define DLG_STOPREC_CAAF 207
#define DLG_STOPREC_DIC1 172 #define DLG_NULL_DIRET 208
#define DLG_NULL_SOCTRA 173 #define DLG_STOPREC_DIRET 209
#define DLG_STOPREC_SOCTRA 174 #define DLG_NULL_CONC 210
#define DLG_CANCEL_MENU 175 #define DLG_STOPREC_CONC 211
#define DLG_NULL_DG 176 #define DLG_NULL_DIC0 212
#define DLG_STOPREC_DG 177 #define DLG_STOPREC_DIC0 213
#define DLG_MANUTENZ_SOCI 178 #define DLG_NULL_DIC1 214
#define DLG_NULL_SOCI 179 #define DLG_STOPREC_DIC1 215
#define DLG_NULL_ST 180 #define DLG_NULL_SOCTRA 216
#define DLG_STOPREC_ST 181 #define DLG_STOPREC_SOCTRA 217
#define DLG_STOPREC_AD 182 #define DLG_CANCEL_MENU 218
#define DLG_NULL_ST0 183 #define DLG_NULL_DG 219
#define DLG_STOPREC_ST0 184 #define DLG_STOPREC_DG 220
#define DLG_NULL_ST1 185 #define DLG_MANUTENZ_SOCI 221
#define DLG_STOPREC_ST1 186 #define DLG_NULL_SOCI 222
#define DLG_CANCEL_MENU_ST 187 #define DLG_NULL_ST 223
#define DLG_NULL_ST2 188 #define DLG_STOPREC_ST 224
#define DLG_STOPREC_ST2 189 #define DLG_STOPREC_AD 225
#define DLG_NULL_ST3 190 #define DLG_NULL_ST0 226
#define DLG_STOPREC_ST3 191 #define DLG_STOPREC_ST0 227
#define DLG_NULL_SD 192 #define DLG_NULL_ST1 228
#define DLG_STOPREC_SD 193 #define DLG_STOPREC_ST1 229
#define DLG_NULL_SD0 194 #define DLG_CANCEL_MENU_ST 230
#define DLG_STOPREC_SD0 195 #define DLG_NULL_ST2 231
#define DLG_NULL_SD1 196 #define DLG_STOPREC_ST2 232
#define DLG_STOPREC_SD1 197 #define DLG_NULL_ST3 233
#define DLG_NULL_SD2 198 #define DLG_STOPREC_ST3 234
#define DLG_STOPREC_SD2 199 #define DLG_NULL_SD 235
#define DLG_CANCEL_MENU_SD 200 #define DLG_STOPREC_SD 236
#define DLG_STOPREC_IR 201 #define DLG_NULL_SD0 237
#define RILEGGI_QUADRI 202 #define DLG_STOPREC_SD0 238
#define DLG_NULL_STQD 203 #define DLG_NULL_SD1 239
#define DLG_STOPREC_STQD 204 #define DLG_STOPREC_SD1 240
#define T_BASE 205 #define DLG_NULL_SD2 241
#define B_BASE 206 #define DLG_STOPREC_SD2 242
#define T_LAGG 207 #define DLG_CANCEL_MENU_SD 243
#define B_LAGG 208 #define DLG_STOPREC_IR 244
#define T_NAGG 209 #define RILEGGI_QUADRI 245
#define B_NAGG 210 #define DLG_NULL_STQD 246
#define T_ALLSOC 211 #define DLG_STOPREC_STQD 247
#define B_ALLSOC 212 #define T_BASE 248
#define T_ALLG 213 #define B_BASE 249
#define B_ALLG 214 #define T_LAGG 250
#define T_BUST 215 #define B_LAGG 251
#define B_BUST 216 #define T_NAGG 252
#define T_A 217 #define B_NAGG 253
#define B_A 218 #define T_ALLSOC 254
#define T_A1 219 #define B_ALLSOC 255
#define B_A1 220 #define T_ALLG 256
#define T_A2 221 #define B_ALLG 257
#define B_A2 222 #define T_BUST 258
#define T_A3 223 #define B_BUST 259
#define B_A3 224 #define T_A 260
#define T_B 225 #define B_A 261
#define B_B 226 #define T_A1 262
#define T_B1 227 #define B_A1 263
#define B_B1 228 #define T_A2 264
#define T_C 229 #define B_A2 265
#define B_C 230 #define T_A3 266
#define T_D 231 #define B_A3 267
#define B_D 232 #define T_B 268
#define T_D1 233 #define B_B 269
#define B_D1 234 #define T_B1 270
#define T_E 235 #define B_B1 271
#define B_E 236 #define T_C 272
#define T_E1 237 #define B_C 273
#define B_E1 238 #define T_D 274
#define T_E2 239 #define B_D 275
#define B_E2 240 #define T_D1 276
#define T_F 241 #define B_D1 277
#define B_F 242 #define T_E 278
#define T_F1 243 #define B_E 279
#define B_F1 244 #define T_E1 280
#define T_F2 245 #define B_E1 281
#define B_F2 246 #define T_E2 282
#define T_G 247 #define B_E2 283
#define B_G 248 #define T_F 284
#define T_G1 249 #define B_F 285
#define B_G1 250 #define T_F1 286
#define T_H 251 #define B_F1 287
#define B_H 252 #define T_F2 288
#define DLG_STOPREC_SP 253 #define B_F2 289
#define DLG_CANCEL_MENUSTQ 254 #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 #endif

View File

@ -170,17 +170,31 @@ BEGIN
MESSAGE RUN,771MOD,-7,A|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-7,A|K_TAB,RILEGGI_QUADRI
PICTURE 123 PICTURE 123
GROUP MENU_MAIN 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 END
TEXT DLG_NULL_A1 TEXT DLG_NULL_A1
BEGIN BEGIN
PROMPT 5 11 "Quadro A1" PROMPT 5 12 "Quadro A1"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_A1 1 1 BUTTON DLG_STOPREC_A1 1 1
BEGIN BEGIN
PROMPT 1 11 "" PROMPT 1 12 ""
MESSAGE RUN,771MOD,-7,1|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-7,1|K_TAB,RILEGGI_QUADRI
PICTURE 123 PICTURE 123
GROUP MENU_MAIN GROUP MENU_MAIN
@ -188,13 +202,13 @@ END
TEXT DLG_NULL_A2 TEXT DLG_NULL_A2
BEGIN BEGIN
PROMPT 5 12 "Quadro A2" PROMPT 5 13 "Quadro A2"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_A2 1 1 BUTTON DLG_STOPREC_A2 1 1
BEGIN BEGIN
PROMPT 1 12 "" PROMPT 1 13 ""
MESSAGE RUN,771MOD,-7,2|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-7,2|K_TAB,RILEGGI_QUADRI
PICTURE 123 PICTURE 123
GROUP MENU_MAIN GROUP MENU_MAIN
@ -202,13 +216,13 @@ END
TEXT DLG_NULL_A3 TEXT DLG_NULL_A3
BEGIN BEGIN
PROMPT 5 13 "Quadro A3" PROMPT 5 14 "Quadro A3"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_A3 1 1 BUTTON DLG_STOPREC_A3 1 1
BEGIN BEGIN
PROMPT 1 13 "" PROMPT 1 14 ""
MESSAGE RUN,771MOD,-7,3|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-7,3|K_TAB,RILEGGI_QUADRI
PICTURE 123 PICTURE 123
GROUP MENU_MAIN GROUP MENU_MAIN
@ -216,13 +230,13 @@ END
TEXT DLG_NULL_B TEXT DLG_NULL_B
BEGIN BEGIN
PROMPT 5 14 "Quadro B" PROMPT 5 15 "Quadro B"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_B 1 1 BUTTON DLG_STOPREC_B 1 1
BEGIN BEGIN
PROMPT 1 14 "" PROMPT 1 15 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,773mod,-4,77qb,59,"Quadro B","B"|K_TAB,RILEGGI_QUADRI MESSAGE RUN,773mod,-4,77qb,59,"Quadro B","B"|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
@ -230,75 +244,89 @@ END
TEXT DLG_NULL_B1 TEXT DLG_NULL_B1
BEGIN BEGIN
PROMPT 5 15 "Quadro B-1" PROMPT 5 16 "Quadro B1"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_B1 1 1 BUTTON DLG_STOPREC_B1 1 1
BEGIN BEGIN
PROMPT 1 15 "" PROMPT 1 16 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,773mod,-4,77qb1,60,"Quadro B1","B1"|K_TAB,RILEGGI_QUADRI MESSAGE RUN,773mod,-4,77qb1,60,"Quadro B1","B1"|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
END 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 // Fine prima colonna
// //
// Seconda 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 TEXT DLG_NULL_D
BEGIN BEGIN
PROMPT 24 10 "Quadro D " PROMPT 24 11 "Quadro D "
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_D 1 1 BUTTON DLG_STOPREC_D 1 1
BEGIN BEGIN
PROMPT 20 10 "" PROMPT 20 11 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-5,D|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-5,D|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
END 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 TEXT DLG_NULL_D1
BEGIN BEGIN
PROMPT 24 11 "Quadro D-1 " PROMPT 24 13 "Quadro D1 "
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_D1 1 1 BUTTON DLG_STOPREC_D1 1 1
BEGIN BEGIN
PROMPT 20 11 "" PROMPT 20 13 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-5,1|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-5,D1|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
END END
TEXT DLG_NULL_E TEXT DLG_NULL_E
BEGIN BEGIN
PROMPT 24 12 "Quadro E " PROMPT 24 14 "Quadro E "
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_E 1 1 BUTTON DLG_STOPREC_E 1 1
BEGIN BEGIN
PROMPT 20 12 "" PROMPT 20 14 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-5,E|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-5,E|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
@ -306,41 +334,45 @@ END
TEXT DLG_NULL_E1 TEXT DLG_NULL_E1
BEGIN BEGIN
PROMPT 24 13 "Quadro E-1 " PROMPT 24 15 "Quadro E1 "
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_E1 1 1 BUTTON DLG_STOPREC_E1 1 1
BEGIN BEGIN
PROMPT 20 13 "" PROMPT 20 15 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-5,2|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-5,E1|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
END END
TEXT DLG_NULL_E2 TEXT DLG_NULL_E2
BEGIN BEGIN
PROMPT 24 14 "Quadro E-2" PROMPT 24 16 "Quadro E2"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_E2 1 1 BUTTON DLG_STOPREC_E2 1 1
BEGIN BEGIN
PROMPT 20 14 "" PROMPT 20 16 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-5,3|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-5,E2|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
END END
// Fine seconda colonna
// Terza colonna
TEXT DLG_NULL_F TEXT DLG_NULL_F
BEGIN BEGIN
PROMPT 24 15 "Quadro F" PROMPT 43 10 "Quadro F"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_F 1 1 BUTTON DLG_STOPREC_F 1 1
BEGIN BEGIN
PROMPT 20 15 "" PROMPT 39 10 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-6,0|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-6,0|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
@ -348,30 +380,27 @@ END
TEXT DLG_NULL_F1 TEXT DLG_NULL_F1
BEGIN BEGIN
PROMPT 24 16 "Quadro F-1" PROMPT 43 11 "Quadro F1"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_F1 1 1 BUTTON DLG_STOPREC_F1 1 1
BEGIN BEGIN
PROMPT 20 16 "" PROMPT 39 11 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-6,1|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-6,1|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
END END
// Fine seconda colonna
// Terza colonna
TEXT DLG_NULL_F2 TEXT DLG_NULL_F2
BEGIN BEGIN
PROMPT 43 10 "Quadro F-2" PROMPT 43 12 "Quadro F2"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_F2 1 1 BUTTON DLG_STOPREC_F2 1 1
BEGIN BEGIN
PROMPT 39 10 "" PROMPT 39 12 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-6,2|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-6,2|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
@ -379,13 +408,13 @@ END
TEXT DLG_NULL_G TEXT DLG_NULL_G
BEGIN BEGIN
PROMPT 43 11 "Quadro G" PROMPT 43 13 "Quadro G"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_G 1 1 BUTTON DLG_STOPREC_G 1 1
BEGIN BEGIN
PROMPT 39 11 "" PROMPT 39 13 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-6,3|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-6,3|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
@ -393,13 +422,13 @@ END
TEXT DLG_NULL_G1 TEXT DLG_NULL_G1
BEGIN BEGIN
PROMPT 43 12 "Quadro G-1" PROMPT 43 14 "Quadro G1"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_G1 1 1 BUTTON DLG_STOPREC_G1 1 1
BEGIN BEGIN
PROMPT 39 12 "" PROMPT 39 14 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-6,5|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-6,5|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
@ -407,13 +436,13 @@ END
TEXT DLG_NULL_H TEXT DLG_NULL_H
BEGIN BEGIN
PROMPT 43 13 "Quadro H " PROMPT 43 15 "Quadro H "
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_H 1 1 BUTTON DLG_STOPREC_H 1 1
BEGIN BEGIN
PROMPT 39 13 "" PROMPT 39 15 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-1|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
@ -421,28 +450,32 @@ END
TEXT DLG_NULL_I TEXT DLG_NULL_I
BEGIN BEGIN
PROMPT 43 14 "Quadro I " PROMPT 43 16 "Quadro I "
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_I 1 1 BUTTON DLG_STOPREC_I 1 1
BEGIN BEGIN
PROMPT 39 14 "" PROMPT 39 16 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-2,I|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-2,I|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
END END
// Fine terza colonna
// QUARTA colonna
TEXT DLG_NULL_L TEXT DLG_NULL_L
BEGIN BEGIN
PROMPT 43 15 "Quadro L " PROMPT 62 10 "Quadro L "
GROUP MENU_MAIN GROUP MENU_MAIN
END END
// Forza l'esecuzione di leggi_quadri() // Forza l'esecuzione di leggi_quadri()
BUTTON DLG_STOPREC_L 1 1 BUTTON DLG_STOPREC_L 1 1
BEGIN BEGIN
PROMPT 39 15 "" PROMPT 58 10 ""
PICTURE 123 PICTURE 123
MESSAGE RUN,771MOD,-3|K_TAB,RILEGGI_QUADRI MESSAGE RUN,771MOD,-3|K_TAB,RILEGGI_QUADRI
GROUP MENU_MAIN GROUP MENU_MAIN
@ -450,87 +483,84 @@ END
TEXT DLG_NULL_N TEXT DLG_NULL_N
BEGIN BEGIN
PROMPT 43 16 "Quadro N" PROMPT 62 11 "Quadro N"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_N 1 1 BUTTON DLG_STOPREC_N 1 1
BEGIN BEGIN
PROMPT 39 16 "" PROMPT 58 11 ""
PICTURE 123 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 GROUP MENU_MAIN
END END
// Fine terza colonna
// QUARTA colonna
TEXT DLG_NULL_P TEXT DLG_NULL_P
BEGIN BEGIN
PROMPT 62 10 "Quadro P" PROMPT 62 12 "Quadro P"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_P 1 1 BUTTON DLG_STOPREC_P 1 1
BEGIN BEGIN
PROMPT 58 10 "" PROMPT 58 12 ""
PICTURE 123 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 GROUP MENU_MAIN
END END
TEXT DLG_NULL_Q TEXT DLG_NULL_Q
BEGIN BEGIN
PROMPT 62 11 "Quadro Q" PROMPT 62 13 "Quadro Q"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_Q 1 1 BUTTON DLG_STOPREC_Q 1 1
BEGIN BEGIN
PROMPT 58 11 "" PROMPT 58 13 ""
MESSAGE RUN,773mod,-2,77qq,74,"Quadro Q","Q"|K_TAB,RILEGGI_QUADRI MESSAGE RUN,773mod,-2,Q|K_TAB,RILEGGI_QUADRI
PICTURE 123 PICTURE 123
GROUP MENU_MAIN GROUP MENU_MAIN
END END
TEXT DLG_NULL_R TEXT DLG_NULL_R
BEGIN BEGIN
PROMPT 62 12 "Quadro R" PROMPT 62 14 "Quadro R"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_R 1 1 BUTTON DLG_STOPREC_R 1 1
BEGIN BEGIN
PROMPT 58 12 "" PROMPT 58 14 ""
PICTURE 123 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 GROUP MENU_MAIN
END END
TEXT DLG_NULL_S TEXT DLG_NULL_S
BEGIN BEGIN
PROMPT 62 13 "Quadro S" PROMPT 62 15 "Quadro S"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_S 1 1 BUTTON DLG_STOPREC_S 1 1
BEGIN BEGIN
PROMPT 58 13 "" PROMPT 58 15 ""
PICTURE 123 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 GROUP MENU_MAIN
END END
TEXT DLG_NULL_T TEXT DLG_NULL_T
BEGIN BEGIN
PROMPT 62 14 "Quadro T" PROMPT 62 16 "Quadro T"
GROUP MENU_MAIN GROUP MENU_MAIN
END END
BUTTON DLG_STOPREC_T 1 1 BUTTON DLG_STOPREC_T 1 1
BEGIN BEGIN
PROMPT 58 14 "" PROMPT 58 16 ""
PICTURE 123 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 GROUP MENU_MAIN
END END
// Fine QUARTA colonna // 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 // 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 <defmask.h>
#include <msksheet.h>
#include <relapp.h>
#include <recarray.h>
#include "quadrog1.h" #include "quadrog1.h"
#include "77lib.h"
#include "774200.h" #include "774200.h"
#include "77g1a.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() TQuadroG1::TQuadroG1()
{ {
@ -23,18 +54,92 @@ TQuadroG1::TQuadroG1()
_title = "Quadro G1"; _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) void TQuadroG1::init_insert_mode (TMask& m)
{ {
fill_arr(m); fill_arr(m);
} }
void TQuadroG1::init_modify_mode (TMask& m)
{
}
int TQuadroG1::read(TMask& m) int TQuadroG1::read(TMask& m)
{ {
int err = TRelation_application::read(m); int err = TRelation_application::read(m);
@ -45,205 +150,158 @@ int TQuadroG1::read(TMask& m)
void TQuadroG1::init_query_mode (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.field(F_CODDITTA).check();
} }
m.send_key(K_AUTO_ENTER,0); 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() bool TQuadroG1::user_create()
{ {
_msk = new TMask("77g1a"); _msk = new TMask("77g1a");
_rel = new TRelation(LF_QUAG1); _rel = new TRelation(LF_QUAG1);
_codditta = get_firm_770(); _codditta = get_firm_770();
_msk->disable(DLG_CANCEL); // disabilito Annulla nella toolbar _msk->disable(DLG_CANCEL); // disabilito Annulla nella toolbar
_msk->disable(DLG_NEWREC); // disabilito Nuovo nella toolbar _msk->disable(DLG_NEWREC); // disabilito Nuovo nella toolbar
_msk->disable(DLG_DELREC); // disabilito Elimina nella toolbar _msk->disable(DLG_DELREC); // disabilito Elimina nella toolbar
_msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar _msk->disable(DLG_FINDREC); // disabilito Ricerca nella toolbar
_msk->set_handler(mainmsk_handler); _msk->set_handler(mainmsk_handler);
TSheet_field& p1 = (TSheet_field&) _msk->field(F_PI); TSheet_field& prosp = (TSheet_field&)_msk->field(F_PI);
p1.set_notify(p1_notify); prosp.set_notify(prosp_notify);
TMask& sm = prosp.sheet_mask();
sm.set_handler(103, aliquota_handler);
return TRUE; return TRUE;
} }
bool TQuadroG1::user_destroy() bool TQuadroG1::user_destroy()
{ {
delete _rel; delete _msk; delete _rel;
delete _msk;
if (_registra) if (_registra)
_rip.set(_quadro); {
TRiporti rip;
rip.set(_quadro);
}
return TRUE; return TRUE;
} }
void TQuadroG1::arr2rel(const TMask& m) void TQuadroG1::arr2rel(const TMask& m)
{ {
TToken_string p3a; TRecord_array arr(LF_QUAG1, "NPROG");
TToken_string p3b; arr.renum_key("CODDITTA", _codditta);
TToken_string p3c;
TToken_string p3d;
TToken_string p3e;
TToken_string p3f;
TRectype& r = _rel->curr();
int dlg; dlg = 0;
// Prospetto 3 - Prospetto delle ritenute int last_saved = 0;
TSheet_field& pI = (TSheet_field&)m.field(F_PI); TSheet_field& ss = (TSheet_field&)m.field(F_PI);
for (int i = 0; i < RIGHE_PI; i++) for (int i = 0; i < ss.items(); i++)
{ {
TToken_string& r = pI.row(i); TToken_string& row = ss.row(i);
TString ut94 (r.get(1)); // Salto data delibera che e' fisso real tot;
TString imp (r.get()); const real utili1s = row.get(0); tot += utili1s;
TString ali (r.get()); const real utili2s = row.get(); tot += utili2s;
TString racc (r.get()); const real aliquota = row.get();
TString rimp (r.get()); const real racc1s = row.get(); tot += racc1s;
TString utnsogg (r.get()); const real racc2s = row.get(); tot += racc2s;
p3a.add(ut94); const real rimp1s = row.get(); tot += rimp1s;
p3b.add(imp); const real rimp2s = row.get(); tot += rimp2s;
p3c.add(ali); if (i == 0 || tot > 0.0)
p3d.add(racc); {
p3e.add(rimp); if (i < 2)
p3f.add(utnsogg); 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); arr.rewrite();
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);
} }
void TQuadroG1::fill_arr(TMask& m) void TQuadroG1::fill_arr(TMask& m)
{ {
TRectype& r = _rel->curr(); TRecord_array arr(LF_QUAG1, "NPROG");
TToken_string p3a(r.get(QG1_P12)); arr.renum_key("CODDITTA", _codditta);
TToken_string p3b(r.get(QG1_P13)); arr.read(arr.key());
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"
};
const char* aliq[15] = int last = arr.last_row();
{ if (last < 16)
"10", last = 16;
"12.5",
"30",
"10",
"30",
"50",
"10",
"30",
"5",
"30",
"15"
};
TSheet_field& pI = (TSheet_field&)m.field(F_PI); TSheet_field& ss = (TSheet_field&)m.field(F_PI);
const int COL_ALIQ = 3; ss.destroy();
int ind_aliq = 0; for (int i = 0; i < last; i++)
for (int i = 1; i <= RIGHE_PI; i++) {
{ TToken_string& row = ss.row(i);
TRectype& r = _rel->curr(); if (arr.exist(i+1))
TToken_string& row = pI.row(i-1); {
row.add(date_delib[i-1]); const TRectype& r = arr.row(i+1);
row.add(p3a.get(i-1)); row.add(r.get("UTILI1S"), 0);
row.add(p3b.get(i-1)); row.add(r.get("UTILI2S"), 1);
row.add(p3c.get(i-1)); if (i > 2)
row.add(p3d.get(i-1)); row.add(r.get("ALIQUOTA"), 2);
row.add(p3e.get(i-1)); if (i == 0)
row.add(p3f.get(i-1)); {
row.add(aliq[ind_aliq++], 3); row.add(r.get("RACCVER1S"), 3);
pI.disable_cell(i-1, COL_ALIQ); row.add(r.get("RACCVER2S"), 4);
} }
if (i != 2)
if (m.mode() == MODE_MOD) {
update_totals(pI); row.add(r.get("RIMPVER1S"), 5);
else row.add(r.get("RIMPVER2S"), 6);
{ }
// Aggiungo la riga per i totali }
TToken_string& row = pI.row(i-1);
row.add("Totali", 0); if (i < 3)
pI.disable_cell(i-1, -1); {
pI.force_update(); const char* const ali = i == 0 ? "10.00" : (i == 1 ? "12.50" : "");
row.add(ali, 2);
ss.disable_cell(i, 2);
if (i == 2)
{
ss.disable_cell(i, 5);
ss.disable_cell(i, 6);
}
}
if (i > 0)
{
ss.disable_cell(i, 3);
ss.disable_cell(i, 4);
}
} }
} }
int TQuadroG1::write(const TMask& m) int TQuadroG1::write(const TMask& m)
{ {
arr2rel(m);
int err = TRelation_application::write(m); int err = TRelation_application::write(m);
if (err == NOERR)
arr2rel(m);
_registra = err == NOERR; _registra = err == NOERR;
return err; return err;
} }
int TQuadroG1::rewrite(const TMask& m) int TQuadroG1::rewrite(const TMask& m)
{ {
arr2rel(m);
int err = TRelation_application::rewrite(m); int err = TRelation_application::rewrite(m);
if (err == NOERR)
arr2rel(m);
_registra = err == NOERR; _registra = err == NOERR;
return err; return err;
} }
@ -254,35 +312,41 @@ bool TQuadroG1::remove()
return _registra; 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) switch(k)
{ {
case K_ENTER: case K_CTRL+K_INS:
update_totals(s); s.disable_cell(r, 3);
s.disable_cell(r, 4);
break; break;
case K_SPACE: case K_DEL:
break; ok = r > 2;
// 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
break; break;
default: default:
break; break;
} }
return TRUE; return ok;
} }
bool TQuadroG1::mainmsk_handler(TMask& m, KEY k) bool TQuadroG1::mainmsk_handler(TMask& m, KEY k)
{ {
if (k == K_ESC) if (k == K_ESC)
{ {
TOperable_field& f = m.focus_field(); TOperable_field& f = m.focus_field();
m.set_focus_field(f.dlg()); m.set_focus_field(f.dlg());
} }
return TRUE; 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" FLAGS "D"
MESSAGE COPY,2@ MESSAGE COPY,2@
END END
LIST DLG_NULL 1
BEGIN
PROMPT 80 80 "Numero riga"
FIELD NPROG
ITEM "1|1"
FLAGS "D"
KEY 1
END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 1 3 "@bProspetto degli utili e delle ritenute" PROMPT 1 3 "@bUtili dei titoli esteri distribuiti nell'anno 1996"
END END
SPREADSHEET F_PI 0 13 SPREADSHEET F_PI 0 13
BEGIN BEGIN
PROMPT 0 4 "" PROMPT 0 4 ""
ITEM "Anni@21" ITEM "Utili nel I\nsemestre 1996@15"
ITEM "Utili corr. nel 1995" ITEM "Utili nel II\nsemestre 1996@15"
ITEM "Importo"
ITEM "Aliquota" ITEM "Aliquota"
ITEM "Rit.acconto" ITEM "Rit. acc.\n20/7/1996@15"
ITEM "Rit.imposta" ITEM "Rit. acc.\n20/1/1997@15"
ITEM "Utili non assog.a ritenuta" ITEM "Rit. imp.\n20/7/1996@15"
ITEM "Rit. imp.\n20/1/1997@15"
END END
ENDPAGE ENDPAGE

View File

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

View File

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

View File

@ -5,21 +5,22 @@
#include <isam.h> #include <isam.h>
#include <anagr.h> #include <anagr.h>
#include <tabutil.h> #include <tabutil.h>
#include <comuni.h> #include <comuni.h>
#include <relation.h>
#include "scperc.h" #include "scperc.h"
#include "perc.h" #include "perc.h"
#include "rver.h" #include "rver.h"
#include "rpag.h" #include "rpag.h"
#include "quadrol.h" #include "quadrol.h"
#include "dipend.h" // per is_erede #include "dipend.h" // per is_erede
#include "77lib.h" #include "77lib.h"
HIDDEN real __dep; HIDDEN real __dep;
HIDDEN TString80 __tmp; HIDDEN TString80 __tmp;
HIDDEN const char* _build_key(TVersamento& vers); HIDDEN const char* _build_key(TVersamento& vers);
HIDDEN long _codditta_770 = 0L; // La ditta corrente 770 HIDDEN long _codditta_770 = 0L; // La ditta corrente 770
#define QUALIF_EREDE "11" #define QUALIF_EREDE "11"
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// Utility varie // Utility varie
@ -102,7 +103,7 @@ const char* get_desc_cau(const char* codcau)
// L'unica differenza con round(-3) e' il comportamento // L'unica differenza con round(-3) e' il comportamento
// alle 500 lire. // alle 500 lire.
// //
real& round_770(const real& importo) const real& round_770(const real& importo)
{ {
__dep = ZERO; __dep = ZERO;
__dep = importo / 1000.00; __dep = importo / 1000.00;
@ -397,10 +398,10 @@ TToken_string get_anag_address(char tip_anag, long cod_anag)
// decodifica indirizzo // decodifica indirizzo
if (anag.read() == NOERR) if (anag.read() == NOERR)
{ {
cod_comune_df = anag.get(ANA_COMRF); cod_comune_df = anag.get(ANA_COMRF);
cod_comune_re = anag.get(ANA_COMRES); cod_comune_re = anag.get(ANA_COMRES);
// indicato domicilio fiscale // indicato domicilio fiscale
if (cod_comune_df != "") if (cod_comune_df != "")
{ {
indirizzo = anag.get(ANA_INDRF); indirizzo = anag.get(ANA_INDRF);
@ -419,23 +420,23 @@ TToken_string get_anag_address(char tip_anag, long cod_anag)
} }
// lettura anagrafica comuni // lettura anagrafica comuni
comuni.setkey(1); comuni.setkey(1);
comuni.zero(); comuni.zero();
comuni.put(COM_COM,cod_comune); comuni.put(COM_COM,cod_comune);
// decodifica località e provincia // decodifica località e provincia
if (comuni.read() == NOERR) if (comuni.read() == NOERR)
{ {
localita = comuni.get(COM_DENCOM); localita = comuni.get(COM_DENCOM);
provincia= comuni.get(COM_PROVCOM); provincia= comuni.get(COM_PROVCOM);
} }
// preparazione token_string // preparazione token_string
address=localita; address=localita;
address.add(indirizzo); address.add(indirizzo);
address.add(numerociv); address.add(numerociv);
address.add(cap); address.add(cap);
address.add(provincia); address.add(provincia);
} }
return address; return address;
@ -526,28 +527,177 @@ bool enter_dichiar_770(long codditta, int anno_dic, bool sogg_dich)
return TRUE; return TRUE;
} }
// 20.12.95 flag di quadro compilato legato all'anno dich. // Ritorna numero quadri L aggiuntivi
bool esiste_record_L(const long codditta, const int annodic) int num_quadri_L_agg(const long codditta)
{ {
TLocalisamfile qual(LF_QUAL); // numero righe su modulo base
bool found = FALSE; const int rbase = 15;
qual.zero();
qual.put(QUL_CODDITTA, (long)codditta); // numero righe su modulo aggiuntivo
for (qual.read(); !qual.eof(); qual.next()) const int ragg = 27;
{
const long cod = qual.get_long(QUL_CODDITTA); // filtro per cursori
if (cod != codditta) break; TString filt;
const int adic = qual.get_int(QUL_QLAP); filt.format("CODDITTA=%ld", codditta);
found = adic == annodic;
if (found) break; // istanza relazione per cursore
} TRelation* rl;
return found; 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) long sogg_estinto(const long codditta)
{ {
TLocalisamfile base(LF_BASE); TLocalisamfile base(LF_BASE);
long coddic = 0L; long coddic = 0L;
base.zero(); base.zero();
base.setkey(1); base.setkey(1);
@ -675,7 +825,7 @@ bool TPercipiente::elimina_schede()
int TSchedaP::anno_doc() const int TSchedaP::anno_doc() const
{ {
int anno_doc; int anno_doc;
anno_doc = _data_doc.year(); anno_doc = _data_doc.year();
return anno_doc; 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) || (_tipoa != '\0' && tipoa != _tipoa) || (_codditta != 0 && _codditta != codditta) ||
(_codanagr != 0 && _codanagr != codanagr) ) (_codanagr != 0 && _codanagr != codanagr) )
{ {
_gia_letti_pag = FALSE; _gia_letti_pag = FALSE;
_importo_versato = ZERO; _importo_versato = ZERO;
_importo_versato_residuo = ZERO; _importo_versato_residuo = ZERO;
} }
@ -894,8 +1044,8 @@ HIDDEN TVersamento __vers;
real TVersamento_stampa::vers_stampa(TLocalisamfile* rpag, const int nriga_pag, real TVersamento_stampa::vers_stampa(TLocalisamfile* rpag, const int nriga_pag,
const real& impvers, const real& ritenpag) const real& impvers, const real& ritenpag)
{ {
real vers_stampa = ZERO; real vers_stampa = ZERO;
real vers_residuo = ZERO; real vers_residuo = ZERO;
const int numpags = num_pags(rpag); const int numpags = num_pags(rpag);
// se l'importo versato e' minore della ritenuta oppure c'e' solo un // 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_IMPOCSSN 222
#define QBF_RAGDITTA 223 #define QBF_RAGDITTA 223
#define QBF_ANADIP_CODDIP 224 #define QBF_ANADIP_CODDIP 224
#define QBF_QUAB_CODDIP 225 #define QBF_QUAB_CODDIP 225
#define QBF_COGNOME 226 #define QBF_COGNOME 226
#define QBF_NOME 227 #define QBF_NOME 227
#define QBF_CODDIP_ANAG 228
#define QBF_CODDIP_QB 229
#define F_QB2122TIPO 230
#define GROUP_EREDE 2 #define GROUP_EREDE 2
#define GROUP_DIPDEC 3 #define GROUP_DIPDEC 3
@ -58,9 +61,6 @@
#define QBG_ANADIP 1 #define QBG_ANADIP 1
#define QBG_QUADROB 2 #define QBG_QUADROB 2
#define QBF_CODDIP_ANAG 228
#define QBF_CODDIP_QB 229
#define CODDITTA77 181 #define CODDITTA77 181
#define ANNODIC77 182 #define ANNODIC77 182

View File

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

View File

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

View File

@ -1,26 +1,27 @@
// 77qgd.h // 77qgd.h
#define F_CODDITTA 101 #define F_CODDITTA 101
#define F_TIPOA 102 #define F_TIPOA 102
#define F_CODANAGR 103 #define F_CODANAGR 103
#define F_NPROG 104 #define F_NPROG 104
#define F_UTSPETT 105 #define F_UTSPETT 105
#define F_UTPAG 106 #define F_UTPAG 106
#define F_ROPE 107 #define F_ROPE 107
#define F_NUMQUOTE 108 #define F_NUMQUOTE 108
#define F_RAGSOC 109 #define F_RAGSOC 109
#define F_RAGSOCCOM 110 #define F_RAGSOCCOM 110
#define F_RAGDITTA 111 #define F_RAGDITTA 111
#define F_ANNODIC 112 #define F_ANNODIC 112
#define F_TIPOAF 113 #define F_TIPOAF 113
#define F_CODANAGRPERC 114 #define F_CODANAGRPERC 114
#define F_CODANAGRCOM 115 #define F_CODANAGRCOM 115
#define F_RAGSOCPER 116 #define F_RAGSOCPER 116
#define F_RAGSOC2 117 #define F_RAGSOC2 117
#define F_CODANAGR2 118 #define F_CODANAGR2 118
#define F_ROPESPET 119 #define F_ROPESPET 119
#define DLG_GENERA 400

View File

@ -2,7 +2,57 @@
#include "77qgd.h" #include "77qgd.h"
TOOLBAR "" 0 20 0 2 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 ENDPAGE
// //
@ -57,13 +107,14 @@ LIST F_TIPOA 1 12
BEGIN BEGIN
PROMPT 2 7 "" PROMPT 2 7 ""
ITEM "F|Fisica" ITEM "F|Fisica"
MESSAGE COPY,F_TIPOAF // MESSAGE COPY,F_TIPOAF
ITEM "G|Giuridica" ITEM "G|Giuridica"
MESSAGE COPY,F_TIPOAF // MESSAGE COPY,F_TIPOAF
FIELD LF_QUAGD->TIPOA FIELD LF_QUAGD->TIPOA
KEY 1 KEY 1
END END
/*
LIST F_TIPOAF 1 12 LIST F_TIPOAF 1 12
BEGIN BEGIN
PROMPT 7 "" PROMPT 7 ""
@ -71,6 +122,7 @@ BEGIN
ITEM "G|Giuridica" ITEM "G|Giuridica"
FLAGS "H" FLAGS "H"
END END
*/
NUMBER F_CODANAGR 5 NUMBER F_CODANAGR 5
BEGIN BEGIN

View File

@ -1,20 +1,23 @@
// 77qp.h // 77qp.h
#define QPF_NPROG 102 #define QPF_NPROG 102
#define QPF_RAGDITTA 103 #define QPF_RAGDITTA 103
#define QPF_IMPOSTA 104 #define QPF_IMPOSTA 104
#define QPF_INTERDIP 105 #define QPF_INTERDIP 105
#define QPF_INTERDAT 106 #define QPF_INTERDAT 106
#define QPF_TIPOVERS 107 #define QPF_TIPOVERS 107
#define QPF_CODTRIB 108 #define QPF_CODTRIB 108
#define QPF_DATAVERS 109 #define QPF_DATAVERS 109
#define QPF_NUMERO 110 #define QPF_NUMERO 110
#define QPF_SERIE 111 #define QPF_SERIE 111
#define QPF_ABI 112 #define QPF_ABI 112
#define QPF_CAB 113 #define QPF_CAB 113
#define QPF_CODDITTA 181 #define QPF_DATACON 120
#define QPF_ANNODIC 182 #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 TOOLBAR "" 0 20 0 2
#include <toolbar.h> #include <toolbar.h>
ENDPAGE ENDPAGE
//
// Lista modifiche
// 2.4.96 Messo CAB di 5. Abi e Cab zerofilled
//
#define G_ABICAB 7 #define G_ABICAB 7
#define G_DISTINTA 8 #define G_DISTINTA 8
#define G_CC 9 #define G_CC 9
PAGE "Quadro P" -1 -1 78 18 PAGE "Quadro P" -1 -1 78 18
@ -43,28 +39,42 @@ BEGIN
PROMPT 52 3 "Anno dichiarazione " PROMPT 52 3 "Anno dichiarazione "
FLAGS "DRP" FLAGS "DRP"
END END
NUMBER QPF_NPROG 4 NUMBER QPF_NPROG 4
BEGIN BEGIN
PROMPT 1 5 "Numero " PROMPT 2 5 "Numero "
FIELD LF_QUAP->NPROG FIELD LF_QUAP->NPROG
USE LF_QUAP SELECT (CODDITTA=#QPF_CODDITTA) USE LF_QUAP SELECT (CODDITTA=#QPF_CODDITTA)
INPUT CODDITTA QPF_CODDITTA SELECT INPUT CODDITTA QPF_CODDITTA SELECT
INPUT NPROG QPF_NPROG INPUT NPROG QPF_NPROG
DISPLAY "Num." NPROG DISPLAY "Num." NPROG
DISPLAY "Imposta versata" IMPOSTA DISPLAY "Imposta versata" IMPOSTA
DISPLAY "Interessi dipendente" INTERDIP DISPLAY "Interessi dipendente" INTERDIP
DISPLAY "Interessi datore di lavoro" INTERDAT DISPLAY "Interessi datore di lavoro" INTERDAT
DISPLAY "Tipo" TIPOVERS DISPLAY "Tipo" TIPOVERS
DISPLAY "Codice tributo" CODTRIB DISPLAY "Codice tributo" CODTRIB
DISPLAY "Data versamento" DATAVERS DISPLAY "Data versamento" DATAVERS
DISPLAY "Serie/ABI" SERIE DISPLAY "Serie/ABI" SERIE
DISPLAY "Numero/Bollettino/CAB" NUMERO DISPLAY "Numero/Bollettino/CAB" NUMERO
OUTPUT QPF_NPROG NPROG OUTPUT QPF_NPROG NPROG
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
KEY 1 KEY 1
END 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 TEXT DLG_NULL
BEGIN BEGIN
PROMPT 2 7 "Imposta o soprattassa" PROMPT 2 7 "Imposta o soprattassa"
@ -81,6 +91,8 @@ BEGIN
FIELD LF_QUAP->IMPOSTA FIELD LF_QUAP->IMPOSTA
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "R"
CHECKTYPE REQUIRED
WARNING "Manca l-immposta o soppratassa versata"
END END
TEXT DLG_NULL TEXT DLG_NULL
@ -119,7 +131,7 @@ BEGIN
FLAGS "R" FLAGS "R"
END END
GROUPBOX DLG_NULL 0 6 GROUPBOX DLG_NULL 78 6
BEGIN BEGIN
PROMPT 1 10 "" PROMPT 1 10 ""
END END
@ -174,7 +186,7 @@ BEGIN
PROMPT 23 14 "" PROMPT 23 14 ""
FIELD LF_QUAP->SERIE FIELD LF_QUAP->SERIE
WARNING "Manca la serie" WARNING "Manca la serie"
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS CHECKTYPE REQUIRED
GROUP G_DISTINTA GROUP G_DISTINTA
END END
@ -182,7 +194,7 @@ STRING QPF_NUMERO 11
BEGIN BEGIN
PROMPT 58 14 "" PROMPT 58 14 ""
WARNING "Manca il numero" WARNING "Manca il numero"
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS CHECKTYPE REQUIRED
FIELD LF_QUAP->NUMERO FIELD LF_QUAP->NUMERO
GROUP G_DISTINTA GROUP G_DISTINTA
END END
@ -197,8 +209,16 @@ NUMBER QPF_ABI 5
BEGIN BEGIN
PROMPT 23 14 "" PROMPT 23 14 ""
FIELD LF_QUAP->SERIE 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" WARNING "Manca il codice ABI"
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
FLAGS "Z" FLAGS "Z"
GROUP G_ABICAB GROUP G_ABICAB
END END
@ -212,9 +232,10 @@ END
NUMBER QPF_CAB 5 NUMBER QPF_CAB 5
BEGIN BEGIN
PROMPT 58 14 "" PROMPT 58 14 ""
FIELD LF_QUAP->NUMERO FIELD LF_QUAP->NUMERO
COPY ALL QPF_ABI
WARNING "Manca il codice CAB" WARNING "Manca il codice CAB"
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS CHECKTYPE REQUIRED
FLAGS "Z" FLAGS "Z"
GROUP G_ABICAB GROUP G_ABICAB
END END
@ -223,7 +244,7 @@ STRING QPF_CCQUIETANZA 11
BEGIN BEGIN
PROMPT 58 14 "" PROMPT 58 14 ""
WARNING "Manca il numero quietanza" WARNING "Manca il numero quietanza"
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS CHECKTYPE REQUIRED
FIELD LF_QUAP->NUMERO FIELD LF_QUAP->NUMERO
GROUP G_CC GROUP G_CC
END END

View File

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

View File

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

View File

@ -43,16 +43,16 @@ BEGIN
USE LF_QUAR SELECT (CODDITTA=#QRF_CODDITTA) USE LF_QUAR SELECT (CODDITTA=#QRF_CODDITTA)
INPUT CODDITTA QRF_CODDITTA SELECT INPUT CODDITTA QRF_CODDITTA SELECT
INPUT NPROG QRF_NPROG INPUT NPROG QRF_NPROG
DISPLAY "Num." NPROG DISPLAY "Num." NPROG
DISPLAY "Mese" MESERIF DISPLAY "Mese" MESERIF
DISPLAY "Anno" ANNORIF DISPLAY "Anno" ANNORIF
DISPLAY "Imposta rimborsata" IMPRIMB DISPLAY "Imposta rimborsata" IMPRIMB
DISPLAY "Compensi per l'assistenza" COMPENSI DISPLAY "Compensi per l'assistenza" COMPENSI
OUTPUT QRF_NPROG NPROG OUTPUT QRF_NPROG NPROG
OUTPUT QRF_COMPENSI COMPENSI OUTPUT QRF_COMPENSI COMPENSI
OUTPUT QRF_IMPOSTA IMPRIMB OUTPUT QRF_IMPOSTA IMPRIMB
OUTPUT QRF_ANNORIF ANNORIF OUTPUT QRF_ANNORIF ANNORIF
OUTPUT QRF_MESERIF MESERIF OUTPUT QRF_MESERIF MESERIF
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
KEY 1 KEY 1
END END
@ -93,16 +93,24 @@ BEGIN
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
FIELD LF_QUAR->ANNORIF FIELD LF_QUAR->ANNORIF
VALIDATE FIXLEN_FUNC 4 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 END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 29 8 "Imposta rimborsata " PROMPT 29 9 "Imposta rimborsata "
END END
NUMBER QRF_IMPOSTA 15 NUMBER QRF_IMPOSTA 15
BEGIN BEGIN
PROMPT 29 9 "" PROMPT 29 10 ""
FIELD LF_QUAR->IMPRIMB FIELD LF_QUAR->IMPRIMB
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "R"
@ -110,12 +118,12 @@ END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
PROMPT 50 8 "Compensi per l'assistenza " PROMPT 50 9 "Compensi per l'assistenza "
END END
NUMBER QRF_COMPENSI 15 NUMBER QRF_COMPENSI 15
BEGIN BEGIN
PROMPT 50 9 "" PROMPT 50 10 ""
FIELD LF_QUAR->COMPENSI FIELD LF_QUAR->COMPENSI
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "R"

View File

@ -1,20 +1,23 @@
// 77qs.h // 77qs.h
#define QSF_NPROG 102 #define QSF_NPROG 102
#define QSF_RAGDITTA 103 #define QSF_RAGDITTA 103
#define QSF_IMPOSTA 104 #define QSF_IMPOSTA 104
#define QSF_INTERDIP 105 #define QSF_INTERDIP 105
#define QSF_INTERDAT 106 #define QSF_INTERDAT 106
#define QSF_TIPOVERS 107 #define QSF_TIPOVERS 107
#define QSF_CODTRIB 108 #define QSF_CODTRIB 108
#define QSF_DATAVERS 109 #define QSF_DATAVERS 109
#define QSF_NUMERO 110 #define QSF_NUMERO 110
#define QSF_SERIE 111 #define QSF_SERIE 111
#define QSF_ABI 112 #define QSF_ABI 112
#define QSF_CAB 113 #define QSF_CAB 113
#define QSF_CODDITTA 181 #define QSF_DATACON 120
#define QSF_ANNODIC 182 #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 ENDPAGE
// //
// Lista modifiche // 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_ABICAB 7
#define G_DISTINTA 8 #define G_DISTINTA 8
#define G_CC 9 #define G_CC 9
PAGE "Quadro S" -1 -1 78 18 PAGE "Quadro S" -1 -1 78 18
@ -44,6 +44,20 @@ BEGIN
FLAGS "DRP" FLAGS "DRP"
END 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 NUMBER QSF_NPROG 4
BEGIN BEGIN
PROMPT 1 5 "Numero " PROMPT 1 5 "Numero "
@ -51,16 +65,16 @@ BEGIN
USE LF_QUAS SELECT (CODDITTA=#QSF_CODDITTA) USE LF_QUAS SELECT (CODDITTA=#QSF_CODDITTA)
INPUT CODDITTA QSF_CODDITTA SELECT INPUT CODDITTA QSF_CODDITTA SELECT
INPUT NPROG QSF_NPROG INPUT NPROG QSF_NPROG
DISPLAY "Num." NPROG DISPLAY "Num." NPROG
DISPLAY "Imposta versata" IMPOSTA DISPLAY "Imposta versata" IMPOSTA
DISPLAY "Interessi dipendente" INTERDIP DISPLAY "Interessi dipendente" INTERDIP
DISPLAY "Interessi datore di lavoro" INTERDAT DISPLAY "Interessi datore di lavoro" INTERDAT
DISPLAY "Tipo" TIPOVERS DISPLAY "Tipo" TIPOVERS
DISPLAY "Codice tributo" CODTRIB DISPLAY "Codice tributo" CODTRIB
DISPLAY "Data versamento" DATAVERS DISPLAY "Data versamento" DATAVERS
DISPLAY "Serie/ABI" SERIE DISPLAY "Serie/ABI" SERIE
DISPLAY "Numero/Bollettino/CAB" NUMERO DISPLAY "Numero/Bollettino/CAB" NUMERO
OUTPUT QSF_NPROG NPROG OUTPUT QSF_NPROG NPROG
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
KEY 1 KEY 1
END END
@ -81,6 +95,8 @@ BEGIN
FIELD LF_QUAS->IMPOSTA FIELD LF_QUAS->IMPOSTA
PICTURE "." PICTURE "."
FLAGS "R" FLAGS "R"
CHECKTYPE REQUIRED
WARNING "Manca l'imposta o soprattassa"
END END
TEXT DLG_NULL TEXT DLG_NULL
@ -119,7 +135,7 @@ BEGIN
FLAGS "R" FLAGS "R"
END END
GROUPBOX DLG_NULL 0 6 GROUPBOX DLG_NULL 78 6
BEGIN BEGIN
PROMPT 1 10 "" PROMPT 1 10 ""
END END
@ -187,7 +203,7 @@ BEGIN
FIELD LF_QUAS->SERIE FIELD LF_QUAS->SERIE
GROUP G_DISTINTA GROUP G_DISTINTA
WARNING "Manca la serie" WARNING "Manca la serie"
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS CHECKTYPE REQUIRED
END END
STRING QSF_NUMERO 11 STRING QSF_NUMERO 11
@ -195,7 +211,7 @@ BEGIN
PROMPT 58 14 "" PROMPT 58 14 ""
FIELD LF_QUAS->NUMERO FIELD LF_QUAS->NUMERO
WARNING "Manca il numero" WARNING "Manca il numero"
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS CHECKTYPE REQUIRED
GROUP G_DISTINTA GROUP G_DISTINTA
END END
@ -204,7 +220,15 @@ BEGIN
PROMPT 23 14 "" PROMPT 23 14 ""
FIELD LF_QUAS->SERIE FIELD LF_QUAS->SERIE
WARNING "Manca il codice ABI" 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" FLAGS "Z"
GROUP G_ABICAB GROUP G_ABICAB
END END
@ -212,10 +236,11 @@ END
NUMBER QSF_CAB 5 NUMBER QSF_CAB 5
BEGIN BEGIN
PROMPT 58 14 "" PROMPT 58 14 ""
FIELD LF_QUAS->NUMERO
WARNING "Manca il codice CAB"
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS
FLAGS "Z" FLAGS "Z"
FIELD LF_QUAS->NUMERO
COPY ALL QSF_ABI
CHECKTYPE REQUIRED
WARNING "Manca il codice CAB"
GROUP G_ABICAB GROUP G_ABICAB
END END
@ -224,7 +249,7 @@ BEGIN
PROMPT 58 14 "" PROMPT 58 14 ""
FIELD LF_QUAS->NUMERO FIELD LF_QUAS->NUMERO
WARNING "Manca il numero quietanza" WARNING "Manca il numero quietanza"
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS CHECKTYPE REQUIRED
GROUP G_CC GROUP G_CC
END END

View File

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

View File

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

View File

@ -1,3 +1,3 @@
38 38
1 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 38
5 4
CODDITTA|3|5|0| CODDITTA|3|5|0|
TIPOA|1|1|0| TIPOA|1|1|0|
CODANAGR|3|5|0| CODANAGR|3|5|0|
FATTBIL|4|18|2| FATTBIL|4|18|2|
FLAGCT|8|1|0|
1 1
CODDITTA+TIPOA+CODANAGR| CODDITTA+TIPOA+CODANAGR|

View File

@ -1,3 +1,3 @@
39 39
1 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 39
16 20
CODDITTA|3|5|0| CODDITTA|3|5|0|Codice ditta
TIPOA|1|1|0| TIPOA|1|1|0|Tipo percipiente
CODANAGR|3|5|0| CODANAGR|3|5|0|Codice percipiente
NPROG|2|4|0| NPROG|2|4|0|Numero progressivo di scheda
CODCAUS|9|2|0| CODCAUS|9|2|0|Codice causale
DATADOC|5|8|0| DATADOC|5|8|0|Data documento
NUMDOC|1|7|0| NUMDOC|1|7|0|Numero documento
COMPENSO|4|18|2| COMPENSO|4|18|2|Compenso documento
SPESE|4|18|2| SPESE|4|18|2|Spese documento
IVA|4|18|2| IVA|4|18|2|Iva documento
TOTALE|4|18|2| TOTALE|4|18|2|Totale documento
FORZATURA|8|1|0| FORZATURA|8|1|0|Flag di forzatura controlli
TOTRIT|4|18|2| TOTRIT|4|18|2|Totale ritenute (collegamento contabilità)
RITSOC|4|18|0| RITSOC|4|18|0|Ritenute sociali (collegamento contabilità)
MESEC|2|2|0| MESEC|2|2|0|Mese competenza
ANNOC|2|4|0| 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 2
CODDITTA+TIPOA+CODANAGR+NPROG| CODDITTA+TIPOA+CODANAGR+NPROG|
CODDITTA+TIPOA+CODANAGR+DATADOC+NPROG| CODDITTA+TIPOA+CODANAGR+DATADOC+NPROG|

View File

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

View File

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

View File

@ -1,3 +1,3 @@
57 57
1 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 57
19 27
CODDITTA|3|5|0|Codice ditta della dichiarazione CODDITTA|3|5|0|Codice ditta
CODDIP|3|6|0| CODDIP|3|6|0|Codice dipendente
NPROG|2|3|0|Numero progressivo del rigo NPROG|2|3|0|Numero progressivo del rigo
CONEFF|1|1|0| CONEFF|1|1|0|8 conguagli non effettuati
RETCON|1|1|0| RETCON|1|1|0|9 rettifica conguaglio
SIRPEFRIMB|4|18|0| SIRPEFRIMB|4|18|0|10 imposta rimborsata
VIRPEF|4|18|0| VIRPEF|4|18|0|11 imposta versata
INTIRPEF|4|18|0| INTIRPEF|4|18|0|12 interessi
AIRPEFIV|4|18|0| AIRPEFIV|4|18|0|13 imposta versata
AIRPEFINT|4|18|0| AIRPEFINT|4|18|0|14 interessi
STASSA15|4|18|0| STASSA15|4|18|0|15 soprattassa Irpef
CONTR16|4|18|0| CONTR16|4|18|0|16 contributo a rimborso
CONTRVER|4|18|0| CONTRVER|4|18|0|17 contributo versato
INTER18|4|18|0| INTER18|4|18|0|18 interessi
CONTV19|4|18|0| CONTV19|4|18|0|19 contributo versato
INTE20|4|18|0| INTE20|4|18|0|20 interessi
SOPRAT21|4|18|0| SOPRAT21|4|18|0|21 soprattasse su Cssn
M730NLIQ|2|2|0| M730NLIQ|2|2|0|22 Modello 730 non liquidabile
CODCAAF|3|5|0|Codice CAAF che ha prestato assistenza 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 1
CODDITTA+CODDIP+NPROG| CODDITTA+CODDIP+NPROG|

View File

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

View File

@ -1,3 +1,3 @@
61 61
1 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 61
12 19
CODDITTA|3|5|0| CODDITTA|3|5|0|Codice ditta 770
TIPOA|1|1|0| TIPOA|1|1|0|Tipo persona (sempre 'F')
CODANAGR|3|5|0| CODANAGR|3|5|0|Codice percipiente
NPROG|2|4|0| NPROG|2|4|0|Numero progressivo
CODCAUS|9|2|0| GENERATA|8|1|0|Riga generata dalle schede
TOTALE|4|18|0| CODCAUS|9|2|0|Codice causale
CONTSSN|4|18|0| ALIQUOTA|4|6|2|Aliquota applicata
SOMME|4|18|0| CAUSALE|1|1|0|11 - Causale quadro C
IMPONIBILE|4|18|0| TASSAZIONE|6|1|0|12 - Tassazione operata
RITENUTE|4|18|0| AMMLORDO|4|18|0|13 - Ammontare lordo corrisposto
NETTO|4|18|0| CONTROBB|4|18|0|14 - Contributi obbligatori
PERC|4|6|2| 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 1
CODDITTA+TIPOA+CODANAGR+NPROG| CODDITTA+TIPOA+CODANAGR+NPROG|

View File

@ -1,3 +1,3 @@
62 62
1 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 62
11 13
CODDITTA|3|5|0| CODDITTA|3|5|0|Codice ditta
TIPOA|1|1|0| TIPOA|1|1|0|Tipo anagrafica (Sempre 'F')
CODANAGR|3|5|0| CODANAGR|3|5|0|Codice anagrafica
NPROG|2|4|0| NPROG|2|4|0|Numero progressivo di riga
CODCAUS|9|2|0| CODCAUS|9|2|0|Codice causale
TOTALE|4|18|0| CAUSALE|1|1|0|15 - Causale
SOMME|4|18|0| TOTALE|4|18|0|16 - Ammontare lordo corrisposto
IMPONIBILE|4|18|0| SOMME|4|18|0|17 - Somme non soggette a ritenuta
PERC|4|6|2| IMPONIBILE|4|18|0|19 - Imponibile
IMPORTO|4|18|0| PERC|4|6|2|Aliquota
NETTO|4|18|0| 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 1
CODDITTA+TIPOA+CODANAGR+NPROG| CODDITTA+TIPOA+CODANAGR+NPROG|

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,8 +1,7 @@
// quadn_t.cpp // quadn_t.cpp
#include <relapp.h> #include <relapp.h>
#include <urldefid.h>
#include <tabutil.h>
#include <config.h> #include <config.h>
#include "774200.h" #include "774200.h"
#include "77lib.h" #include "77lib.h"
#include "quadron.h" #include "quadron.h"
@ -10,10 +9,10 @@
#include "77qq.h" #include "77qq.h"
#include "77qp.h" #include "77qp.h"
#define CODDITTA77 181 #define CODDITTA77 181
#define ANNODIC77 182 #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 nprog_handler (TMask_field& m, KEY k);
static bool anno_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 codtrib_handler (TMask_field& f, KEY k);
static bool tipo (TMask_field& f , KEY k); static bool tipo (TMask_field& f , KEY k);
static bool luogo (TMask_field& f , KEY k); static bool luogo (TMask_field& f , KEY k);
const char* _maskname; TString16 _maskname;
int _num; 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; TString16 _quadro;
TRiporti _rip; TRiporti _rip;
TRelation* _rel; TRelation* _rel;
TMask* _msk; TMask* _msk;
bool _registra; bool _registra;
int _anno_dic; int _anno_dic;
bool _MaskConAnnoDic, _MaskConCodditta; bool _MaskConAnnoDic, _MaskConCodditta;
bool MaskConAnnoDic() const; bool MaskConAnnoDic() const;
bool MaskConCodditta() const { return _MaskConCodditta; } bool MaskConCodditta() const { return _MaskConCodditta; }
void LeggiMask(); void LeggiMask();
bool EsisteUnRec(); bool EsisteUnRec();
bool QuadroNoR() const { return _num == LF_QUAN || _num == LF_QUAR; } bool QuadroNoR() const { return _num == LF_QUAN || _num == LF_QUAR; }
bool QuadroPoS() const { return _num == LF_QUAP || _num == LF_QUAS; } bool QuadroPoS() const { return _num == LF_QUAP || _num == LF_QUAS; }
bool QuadroQoT() const { return _num == LF_QUAQ || _num == LF_QUAT; } bool QuadroQoT() const { return _num == LF_QUAQ || _num == LF_QUAT; }
bool CheckImporti(const TMask& m); bool CheckImporti(const TMask& m);
long Get_newprog(); long Get_newprog();
long _codditta; long _codditta;
protected: protected:
virtual bool user_create(); virtual bool user_create();
@ -57,58 +56,54 @@ protected:
virtual void init_query_mode(TMask&); virtual void init_query_mode(TMask&);
virtual void init_insert_mode(TMask&); virtual void init_insert_mode(TMask&);
virtual void init_query_insert_mode(TMask&); virtual void init_query_insert_mode(TMask&);
void set_data_cong(const TMask& m);
public: 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) TQuadriNT_app::TQuadriNT_app(char quadro)
: _maskname(name), _num(num), : _MaskConCodditta(FALSE), _MaskConAnnoDic(FALSE), _msk(NULL), _rel(NULL)
_MaskConCodditta(FALSE), _MaskConAnnoDic(FALSE), {
_msk(NULL), _rel(NULL), _quadro(quadro) _quadro << quadro;
{
switch (_num) _maskname << "77q" << quadro;
_maskname.lower();
switch (quadro)
{ {
case LF_QUAN: case 'N': _num = LF_QUAN; _pos_quadro = N; break;
_pos_quadro = N; case 'P': _num = LF_QUAP; _pos_quadro = P; break;
break; case 'Q': _num = LF_QUAQ; _pos_quadro = Q; break;
case LF_QUAR: case 'R': _num = LF_QUAR; _pos_quadro = R; break;
_pos_quadro = R; case 'S': _num = LF_QUAS; _pos_quadro = S; break;
break; case 'T': _num = LF_QUAT; _pos_quadro = T; break;
case LF_QUAP: default : fatal_box("Codice quadro errato"); break;
_pos_quadro = P;
break;
case LF_QUAQ:
_pos_quadro = Q;
break;
case LF_QUAS:
_pos_quadro = S;
break;
case LF_QUAT:
_pos_quadro = T;
break;
} }
} }
TQuadriNT_application& app() { return (TQuadriNT_application&)main_app(); } TQuadriNT_app& app() { return (TQuadriNT_app&)main_app(); }
void TQuadriNT_application::LeggiMask() void TQuadriNT_app::LeggiMask()
{ {
_MaskConAnnoDic = _msk->id2pos(ANNODIC77) > 0; _MaskConAnnoDic = _msk->id2pos(ANNODIC77) > 0;
_MaskConCodditta = _msk->id2pos(CODDITTA77) > 0; _MaskConCodditta = _msk->id2pos(CODDITTA77) > 0;
} }
bool TQuadriNT_application::MaskConAnnoDic() const bool TQuadriNT_app::MaskConAnnoDic() const
{ {
return _MaskConAnnoDic; return _MaskConAnnoDic;
} }
void TQuadriNT_application::on_config_change() void TQuadriNT_app::on_config_change()
{ {
TConfig conf(CONFIG_STUDIO); TConfig conf(CONFIG_STUDIO);
_anno_dic = (int)conf.get_long(ANNO_SEL, NULL, -1, TDate(TODAY).year()); _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); _msk = new TMask(_maskname);
_rel = new TRelation(_num); _rel = new TRelation(_num);
@ -138,20 +133,16 @@ bool TQuadriNT_application::user_create()
return TRUE; return TRUE;
} }
bool TQuadriNT_application::EsisteUnRec() bool TQuadriNT_app::EsisteUnRec()
{ {
TLocalisamfile qn(_num); TLocalisamfile qn(_num);
qn.zero(); qn.put(QN_CODDITTA, _codditta);
qn.put(QN_CODDITTA, (long)app()._codditta); int err = qn.read(_isgteq);
TRectype dep(qn.curr()); bool yes = err == NOERR && qn.get_long(QN_CODDITTA) == _codditta;
qn.read(_isgteq); return yes;
if (qn.curr() > dep || qn.eof())
return FALSE;
else
return TRUE;
} }
bool TQuadriNT_application::user_destroy() bool TQuadriNT_app::user_destroy()
{ {
if (_quadro != "") if (_quadro != "")
if (_registra) if (_registra)
@ -164,55 +155,65 @@ bool TQuadriNT_application::user_destroy()
// Controlla che ci siano o l'imposta o i compensi // Controlla che ci siano o l'imposta o i compensi
// NB che siano uguali QNF_IMPOSTA anche nei corrispondenti campi dei // NB che siano uguali QNF_IMPOSTA anche nei corrispondenti campi dei
// quadri Q, R e T (107 e 106) // 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)); const real impost(m.get(QNF_IMPOSTA));
TString compen(m.get(QNF_COMPENSI)); const real compen(m.get(QNF_COMPENSI));
return impost.not_empty() || compen.not_empty(); 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 char q = _quadro[0];
const int err = _rel->rewrite(); 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; _registra = err == NOERR;
return err; return err;
} }
int TQuadriNT_application::write(const TMask& m) int TQuadriNT_app::write(const TMask& m)
{ {
m.autosave(*_rel); set_data_cong(m);
const int err = _rel->write(); const int err = TRelation_application::write(m);
_registra = err == NOERR; _registra = err == NOERR;
return err; return err;
} }
bool TQuadriNT_application::remove() bool TQuadriNT_app::remove()
{ {
_registra = TRUE; const bool ok = TRelation_application::remove();
return 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); m.set(ANNODIC77, _anno_dic);
} }
void TQuadriNT_application::init_query_mode(TMask& m) void TQuadriNT_app::init_query_mode(TMask& m)
{ {
init_mask(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); init_insert_mode(m);
TMask_field& f = m.field(QNF_NPROG); m.set(QNF_NPROG, Get_newprog());
f.set(Get_newprog());
m.send_key(K_TAB,QNF_NPROG); 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" // 773,-2,77qn,72,"Quadro N","N"
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
int quadriN_T(int argc, char* argv[]) int quadriN_T(int argc, char* argv[])
{ {
TFilename mask; TApplication::check_parameters(argc, argv);
int num = 0;
if (argc > 1) char quadro = 'N';
mask = argv[2]; if (argc > 5)
num = atoi(argv[3]); quadro = toupper(*argv[5]);
const char* title = argv[4]; else
const char* quadro = argv[5]; quadro = toupper(*argv[2]);
TQuadriNT_application a(mask, num, quadro);
a.run(argc, argv, title ? title : "Test Relation Application"); TString16 title;
title << "Quadro " << quadro;
TQuadriNT_app a(quadro);
a.run(argc, argv, title);
return 0; 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(); TMask& m = f.mask();
if (k == K_ENTER && (modifica(m) || inserimento(m)) ) if (k == K_ENTER && (modifica(m) || inserimento(m)) )
@ -254,7 +259,7 @@ bool TQuadriNT_application::anno_handler(TMask_field& f, KEY k)
return TRUE; 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(); TMask& m = f.mask();
if (k == K_ENTER && (modifica(m) || inserimento(m)) ) 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 // 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(); TMask& m = f.mask();
if (k == K_ENTER && (modifica(m) || inserimento(m)) ) 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 // 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(); TMask& m = f.mask();
if (k == K_ENTER && (modifica(m) || inserimento(m)) ) if (k == K_ENTER && (modifica(m) || inserimento(m)) )
@ -292,30 +297,30 @@ bool TQuadriNT_application::codtrib_handler(TMask_field& f, KEY k)
return TRUE; 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) if (k == K_TAB)
f.set_dirty(); f.set_dirty();
return TRUE; return TRUE;
} }
// ritorna nuovo progressivo da utilizzare // ritorna nuovo progressivo da utilizzare
long TQuadriNT_application::Get_newprog() long TQuadriNT_app::Get_newprog()
{ {
long nprog = 0L; long nprog = 0L;
TLocalisamfile qnr(app()._num); TLocalisamfile qnr(_num);
qnr.zero(); qnr.zero();
qnr.put(QN_CODDITTA, (long)app()._codditta); qnr.put(QN_CODDITTA, _codditta);
TRectype dep(qnr.curr()); TRectype dep(qnr.curr());
for (qnr.read(_isgteq); !qnr.eof(); qnr.next()) for (qnr.read(_isgteq); !qnr.eof(); qnr.next())
{ {
if (qnr.curr() > dep) break; if (qnr.curr() > dep) break;
nprog = qnr.get_long(QN_NPROG); nprog = qnr.get_long(QN_NPROG);
} }
return ++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) if (k == K_SPACE)
@ -332,7 +337,7 @@ bool TQuadriNT_application::tipo(TMask_field& f , KEY k)
return TRUE; return TRUE;
} }
bool TQuadriNT_application::luogo(TMask_field& f , KEY k) bool TQuadriNT_app::luogo(TMask_field& f , KEY k)
{ {
/* /*
if (k == K_SPACE) if (k == K_SPACE)

View File

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

View File

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

View File

@ -20,7 +20,11 @@
#define SPR_TOTRIT "TOTRIT" #define SPR_TOTRIT "TOTRIT"
#define SPR_MESEC "MESEC" #define SPR_MESEC "MESEC"
#define SPR_ANNOC "ANNOC" #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 // Li definisco anche cosi' che e' piu' facile da ricordare
#define SCH_CODDITTA "CODDITTA" #define SCH_CODDITTA "CODDITTA"
@ -40,6 +44,10 @@
#define SCH_TOTRIT "TOTRIT" #define SCH_TOTRIT "TOTRIT"
#define SCH_MESEC "MESEC" #define SCH_MESEC "MESEC"
#define SCH_ANNOC "ANNOC" #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 #endif