From 00b955bd64b7f840c393816d7173ca3279959b7e Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 11 Oct 1996 14:24:28 +0000 Subject: [PATCH] Corrette stampe dei quadri B e H git-svn-id: svn://10.65.10.50/trunk@3759 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- m770/77qb.frm | 12 +- m770/77stba.cpp | 520 +++++++++++++++++++++++------------------------ m770/77stq.cpp | 90 ++++---- m770/77stq.h | 45 ++-- m770/77stqab.cpp | 19 +- m770/77stqab.h | 1 + 6 files changed, 355 insertions(+), 332 deletions(-) diff --git a/m770/77qb.frm b/m770/77qb.frm index bc824dd71..93aad6131 100755 --- a/m770/77qb.frm +++ b/m770/77qb.frm @@ -356,6 +356,7 @@ BEGIN PROMPT 22 7 "" PICTURE "###.###.###^^^" FIELD ABBATT + MESSAGE ADD,FL->23 END NUMERO 24 @@ -424,7 +425,7 @@ END NUMERO 31 BEGIN KEY "ALIQUOTA" - PROMPT 28 9 "" + PROMPT 27 9 "" PICTURE "##@,@@" FIELD ALIQUOTA END @@ -449,7 +450,7 @@ NUMERO 34 BEGIN KEY "IMPONIBILE T.F.R." PROMPT 57 9 "" - PICTURE "#.###.###.###^^^" + PICTURE "###.###.###^^^" FIELD IMPTFR MESSAGE ADD,FL->34 END @@ -561,6 +562,13 @@ BEGIN PICTURE "#.###.###.###^^^" END +NUMERO 23 +BEGIN + KEY "ABBATTIMENTO" + PROMPT 22 3 "" + PICTURE "###.###.###^^^" +END + NUMERO 24 BEGIN KEY "AMMONTARE NETTO" diff --git a/m770/77stba.cpp b/m770/77stba.cpp index 88436557e..c84a4317d 100755 --- a/m770/77stba.cpp +++ b/m770/77stba.cpp @@ -111,15 +111,15 @@ void TBase1::stampa_soci(TPrinter& pr) sComuneNa.cut(28); sProvNa=c->file(LF_COMUNI).get("PROVCOM"); // fut.field(0).set(sRagsoc); - sRagsoc:=fut.field(0).get(); + sRagsoc=fut.field(0).get(); if (sRagsoc.len() > 30 && sRagsoc[30] != ' ') { - sCognome=sRagsoc.left(30); - sCognome.trim(); - sNome=sRagsoc.mid(30,0); - sNome.trim(); - sRagsoc = sCognome; - sRagsoc << " " << sNome; + sCognome=sRagsoc.left(30); + sCognome.trim(); + sNome=sRagsoc.mid(30,0); + sNome.trim(); + sRagsoc = sCognome; + sRagsoc << " " << sNome; } rg.put(sRagsoc,fut.field(0).x()-1); fut.field(1).set(sSesso); @@ -246,23 +246,23 @@ int TBase3::stampa_L(TPrinter& pr,const int iChiaveL) while (!finito) { body.update(); - const int body_righe = body.height(); - for (int i = 0; i < body_righe; i++) - { - TPrintrow& rr=body.row(i); - pr.print(rr); - rr.reset(); - _RigaCorr++; - } - if (usa_progind()) - progind()->addstatus(1); - righe++; - ++cur; - codit=cur.file().get_long("CODDITTA"); - bool buono=codit==_codditta; + const int body_righe = body.height(); + for (int i = 0; i < body_righe; i++) + { + TPrintrow& rr=body.row(i); + pr.print(rr); + rr.reset(); + _RigaCorr++; + } + if (usa_progind()) + progind()->addstatus(1); + righe++; + ++cur; + codit=cur.file().get_long("CODDITTA"); + bool buono=codit==_codditta; // Guarda se e' necessario stampare l'aggiuntivo - _bAggiuntivoL = buono && righe>14; - finito=righe>14 || codit!=_codditta; + _bAggiuntivoL = buono && righe>14; + finito=righe>14 || codit!=_codditta; } return righe; } @@ -471,10 +471,10 @@ TRigaPS::TRigaPS(const TLocalisamfile& qt) _rImp = rec.get_real("IMPOSTA"); _rIntDip = rec.get_real("INTERDIP"); _rIntDat = rec.get_real("INTERDAT"); - _sTipoV = rec.get("TIPOVERS"); - _sCodTrib= rec.get("CODTRIB"); - _sSerie = rec.get("SERIE"); - _sNumero = rec.get("NUMERO"); + _sTipoV = rec.get("TIPOVERS"); + _sCodTrib= rec.get("CODTRIB"); + _sSerie = rec.get("SERIE"); + _sNumero = rec.get("NUMERO"); } int TRighePS::fill(const long codditta,TLocalisamfile& ps) @@ -549,25 +549,25 @@ void TBase4::fill_riga_QT(TPrint_section& sec,const int num) TForm_item& fi = sec.find_field(i); if (num < _righeQT.items()) { - const TRigaQT& rN = _righeQT[num]; - if (i==start) - sVal=rN.sMesePag(); - else if (i==start+1) - sVal=rN.sAnnoPag(); - else if (i==start+2) - sVal=rN.ContVers(fi.picture()); - else if (i==start+3) - sVal=rN.ContRimb(fi.picture()); - else if (i==start+4) - sVal=rN.Interessi(fi.picture()); - else if (i==start+5) - sVal=rN.CodReg(); - } - else - sVal=""; - fi.set(sVal); - TPrintrow& row=sec.row(0); - row.put(sVal,fi.x()-1); + const TRigaQT& rN = _righeQT[num]; + if (i==start) + sVal=rN.sMesePag(); + else if (i==start+1) + sVal=rN.sAnnoPag(); + else if (i==start+2) + sVal=rN.ContVers(fi.picture()); + else if (i==start+3) + sVal=rN.ContRimb(fi.picture()); + else if (i==start+4) + sVal=rN.Interessi(fi.picture()); + else if (i==start+5) + sVal=rN.CodReg(); + } + else + sVal=""; + fi.set(sVal); + TPrintrow& row=sec.row(0); + row.put(sVal,fi.x()-1); } } @@ -586,11 +586,11 @@ void TBase4::stampa_Q(TPrinter& pr) { // Stampa la parte sinistra (primi 4 campi) fill_riga_QT(body,riga); - TPrintrow& rr=body.row(0); - pr.print(rr); - rr.reset(); - riga++; - _RigaCorr++; + TPrintrow& rr=body.row(0); + pr.print(rr); + rr.reset(); + riga++; + _RigaCorr++; if (usa_progind()) progind()->addstatus(1); FinitaSezione=riga>_RIGHE_Q-1; @@ -614,11 +614,11 @@ void TBase4::stampa_T(TPrinter& pr) { // Stampa la parte sinistra (primi 4 campi) fill_riga_QT(body,riga); - TPrintrow& rr=body.row(0); - pr.print(rr); - rr.reset(); - riga++; - _RigaCorr++; + TPrintrow& rr=body.row(0); + pr.print(rr); + rr.reset(); + riga++; + _RigaCorr++; if (usa_progind()) progind()->addstatus(1); FinitaSezione=riga>_RIGHE_T-1; @@ -634,32 +634,32 @@ void TBase4::fill_riga_PS(TPrint_section& sec,const int num) TForm_item& fi = sec.find_field(i); if (num < _righePS.items()) { - const TRigaPS& rN = _righePS[num]; - if (i==start) - sVal=rN.sImposta(fi.picture()); - else if (i==start+1) - sVal=rN.sIntDip(fi.picture()); - else if (i==start+2) - sVal=rN.sIntDat(fi.picture()); - else if (i==start+3) - sVal=rN.sTipoVers(); - else if (i==start+4) - sVal=rN.sCodTrib(); - else if (i==start+5) + const TRigaPS& rN = _righePS[num]; + if (i==start) + sVal=rN.sImposta(fi.picture()); + else if (i==start+1) + sVal=rN.sIntDip(fi.picture()); + else if (i==start+2) + sVal=rN.sIntDat(fi.picture()); + else if (i==start+3) + sVal=rN.sTipoVers(); + else if (i==start+4) + sVal=rN.sCodTrib(); + else if (i==start+5) { - sDep=rN.sDataVers(); - sVal.picture(fi.picture(),sDep); - } - else if (i==start+6) - sVal=rN.sSerie(); - else if (i==start+7) - sVal=rN.sNumero(); - } - else - sVal=""; - fi.set(sVal); - TPrintrow& row=sec.row(0); - row.put(sVal,fi.x()-1); + sDep=rN.sDataVers(); + sVal.picture(fi.picture(),sDep); + } + else if (i==start+6) + sVal=rN.sSerie(); + else if (i==start+7) + sVal=rN.sNumero(); + } + else + sVal=""; + fi.set(sVal); + TPrintrow& row=sec.row(0); + row.put(sVal,fi.x()-1); } } @@ -679,11 +679,11 @@ void TBase4::stampa_P(TPrinter& pr) { // Stampa la parte sinistra (primi 4 campi) fill_riga_PS(body,riga); - TPrintrow& rr=body.row(0); - pr.print(rr); - rr.reset(); - riga++; - _RigaCorr++; + TPrintrow& rr=body.row(0); + pr.print(rr); + rr.reset(); + riga++; + _RigaCorr++; if (usa_progind()) progind()->addstatus(1); FinitaSezione=riga>_RIGHE_P-1; @@ -707,11 +707,11 @@ void TBase4::stampa_S(TPrinter& pr) { // Stampa la parte sinistra (primi 4 campi) fill_riga_PS(body,riga); - TPrintrow& rr=body.row(0); - pr.print(rr); - rr.reset(); - riga++; - _RigaCorr++; + TPrintrow& rr=body.row(0); + pr.print(rr); + rr.reset(); + riga++; + _RigaCorr++; if (usa_progind()) progind()->addstatus(1); FinitaSezione=riga>_RIGHE_S-1; @@ -734,8 +734,8 @@ void TBase4::stampa_R(TPrinter& pr) fill_riga_NR(body,1,1); TPrintrow& rr=body.row(0); pr.print(rr); - rr.reset(); - _RigaCorr++; + rr.reset(); + _RigaCorr++; if (usa_progind()) progind()->addstatus(1); // Salta due righe alla fine @@ -761,32 +761,32 @@ void TBase4::fill_riga_NR(TPrint_section& sec,const int num, const int side) TForm_item& fi = sec.find_field(i); if (num < _righeNR.items()) { - const TRigaN& rN = _righeNR[num]; - if (i==start) - sVal=rN.sMeseRif(); - else if (i==start+1) - sVal=rN.sAnnoRif(); - else if (i==start+2) - sVal=rN.ImpRimb(fi.picture()); - else if (i==start+3) - sVal=rN.CompAss(fi.picture()); - } - else - sVal=""; - fi.set(sVal); - TPrintrow& row=sec.row(0); - row.put(sVal,fi.x()-1); + const TRigaN& rN = _righeNR[num]; + if (i==start) + sVal=rN.sMeseRif(); + else if (i==start+1) + sVal=rN.sAnnoRif(); + else if (i==start+2) + sVal=rN.ImpRimb(fi.picture()); + else if (i==start+3) + sVal=rN.CompAss(fi.picture()); + } + else + sVal=""; + fi.set(sVal); + TPrintrow& row=sec.row(0); + row.put(sVal,fi.x()-1); } } void TBase4::stampa_righe_vuote(TPrinter& pr,const int righe) { - TPrintrow rr; + TPrintrow rr; for (int i=0; iaddstatus(1); } @@ -811,11 +811,11 @@ void TBase4::stampa_N(TPrinter& pr) fill_riga_NR(body,num,0); num+=3; fill_riga_NR(body,num,1); - TPrintrow& rr=body.row(0); - pr.print(rr); - rr.reset(); - riga++; - _RigaCorr++; + TPrintrow& rr=body.row(0); + pr.print(rr); + rr.reset(); + riga++; + _RigaCorr++; if (usa_progind()) progind()->addstatus(1); num-=2; @@ -1023,20 +1023,20 @@ bool TQuadroL::stampa_L(TPrinter& pr,const long lStartRec,const int iRecL) while (!finito) { body.update(); - const int body_righe = body.height(); - for (int i = 0; i < body_righe; i++) - { - TPrintrow& rr=body.row(i); - pr.print(rr); - rr.reset(); - _RigaCorr++; - } - if (usa_progind()) - progind()->addstatus(1); - righe++; - ++cur; - eof=cur.pos()==cur.items()-1; - finito = (righe==iRecL-1) || eof; + const int body_righe = body.height(); + for (int i = 0; i < body_righe; i++) + { + TPrintrow& rr=body.row(i); + pr.print(rr); + rr.reset(); + _RigaCorr++; + } + if (usa_progind()) + progind()->addstatus(1); + righe++; + ++cur; + eof=cur.pos()==cur.items()-1; + finito = (righe==iRecL-1) || eof; } return eof; } @@ -1085,21 +1085,21 @@ bool TQuadroL::print(const long codditta, const long NumFis, const long NumNoFis bool finito=FALSE; while (!finito) { - jump_to_line(pr, prima_riga(PRIMA)); - stampa_testata(pr); - finito=stampa_L(pr,lOffsetL,_REC_PRIMA_AGG_L); + jump_to_line(pr, prima_riga(PRIMA)); + stampa_testata(pr); + finito=stampa_L(pr,lOffsetL,_REC_PRIMA_AGG_L); next_page(pr); - if (!finito) - { - lOffsetL+=_REC_PRIMA_AGG_L; - jump_to_line(pr, prima_riga(SECONDA)); - finito=stampa_L(pr,lOffsetL,_REC_SECONDA_AGG_L); - } - if (finito) - { - jump_to_line(pr,_RIGA_TOTALI_AGG_L); - stampa_totali_L(pr); - } + if (!finito) + { + lOffsetL+=_REC_PRIMA_AGG_L; + jump_to_line(pr, prima_riga(SECONDA)); + finito=stampa_L(pr,lOffsetL,_REC_SECONDA_AGG_L); + } + if (finito) + { + jump_to_line(pr,_RIGA_TOTALI_AGG_L); + stampa_totali_L(pr); + } next_page(pr); } close_print(); @@ -1175,25 +1175,25 @@ int TQuadroN::prima_riga(PaginaQuadro p) const TForm_item& fi = sec.find_field(i); if (num < _righeQT.items()) { - const TRigaQT& rN = _righeQT[num]; - if (i==start) - sVal=rN.sMesePag(); - else if (i==start+1) - sVal=rN.sAnnoPag(); - else if (i==start+2) - sVal=rN.ContVers(fi.picture()); - else if (i==start+3) - sVal=rN.ContRimb(fi.picture()); - else if (i==start+4) - sVal=rN.Interessi(fi.picture()); - else if (i==start+5) - sVal=rN.CodReg(); - } - else - sVal=""; - fi.set(sVal); - TPrintrow& row=sec.row(0); - row.put(sVal,fi.x()-1); + const TRigaQT& rN = _righeQT[num]; + if (i==start) + sVal=rN.sMesePag(); + else if (i==start+1) + sVal=rN.sAnnoPag(); + else if (i==start+2) + sVal=rN.ContVers(fi.picture()); + else if (i==start+3) + sVal=rN.ContRimb(fi.picture()); + else if (i==start+4) + sVal=rN.Interessi(fi.picture()); + else if (i==start+5) + sVal=rN.CodReg(); + } + else + sVal=""; + fi.set(sVal); + TPrintrow& row=sec.row(0); + row.put(sVal,fi.x()-1); } } */ @@ -1207,29 +1207,29 @@ void TBase4::fill_riga_PS(TPrint_section& sec,const int num) TForm_item& fi = sec.find_field(i); if (num < _righePS.items()) { - const TRigaPS& rN = _righePS[num]; - if (i==start) - sVal=rN.sImposta(fi.picture()); - else if (i==start+1) - sVal=rN.sIntDip(fi.picture()); - else if (i==start+2) - sVal=rN.sIntDat(fi.picture()); - else if (i==start+3) - sVal=rN.sTipoVers(); - else if (i==start+4) - sVal=rN.sCodTrib(); - else if (i==start+5) - sVal=rN.sDataVers(); - else if (i==start+6) - sVal=rN.sSerie(); - else if (i==start+7) - sVal=rN.sNumero(); - } - else - sVal=""; - fi.set(sVal); - TPrintrow& row=sec.row(0); - row.put(sVal,fi.x()-1); + const TRigaPS& rN = _righePS[num]; + if (i==start) + sVal=rN.sImposta(fi.picture()); + else if (i==start+1) + sVal=rN.sIntDip(fi.picture()); + else if (i==start+2) + sVal=rN.sIntDat(fi.picture()); + else if (i==start+3) + sVal=rN.sTipoVers(); + else if (i==start+4) + sVal=rN.sCodTrib(); + else if (i==start+5) + sVal=rN.sDataVers(); + else if (i==start+6) + sVal=rN.sSerie(); + else if (i==start+7) + sVal=rN.sNumero(); + } + else + sVal=""; + fi.set(sVal); + TPrintrow& row=sec.row(0); + row.put(sVal,fi.x()-1); } } */ @@ -1249,11 +1249,11 @@ void TQuadroN::stampa_N(TPrinter& pr) fill_riga_NR(body,num,0); num+=3; fill_riga_NR(body,num,1); - TPrintrow& rr=body.row(0); - pr.print(rr); - rr.reset(); - riga++; - _RigaCorr++; + TPrintrow& rr=body.row(0); + pr.print(rr); + rr.reset(); + riga++; + _RigaCorr++; if (usa_progind()) progind()->addstatus(1); num-=2; @@ -1275,11 +1275,11 @@ void TQuadroN::stampa_P(TPrinter& pr) { // Stampa la parte sinistra (primi 4 campi) fill_riga_PS(body,riga); - TPrintrow& rr=body.row(0); - pr.print(rr); - rr.reset(); - riga++; - _RigaCorr++; + TPrintrow& rr=body.row(0); + pr.print(rr); + rr.reset(); + riga++; + _RigaCorr++; if (usa_progind()) progind()->addstatus(1); FinitaSezione=riga>_RIGHE_PA-1; @@ -1299,11 +1299,11 @@ void TQuadroN::stampa_Q(TPrinter& pr) { // Stampa la parte sinistra (primi 4 campi) fill_riga_QT(body,riga); - TPrintrow& rr=body.row(0); - pr.print(rr); - rr.reset(); - riga++; - _RigaCorr++; + TPrintrow& rr=body.row(0); + pr.print(rr); + rr.reset(); + riga++; + _RigaCorr++; if (usa_progind()) progind()->addstatus(1); FinitaSezione=riga>_RIGHE_QA-1; @@ -1324,18 +1324,18 @@ void TQuadroN::stampa_R(TPrinter& pr) bool FinitaSezione=FALSE; while (!FinitaSezione) { - fill_riga_NR(body,RecNum,0); - RecNum+=3; - fill_riga_NR(body,RecNum,1); - TPrintrow& rr=body.row(0); - pr.print(rr); - rr.reset(); - RigheStampate++; - _RigaCorr++; - if (usa_progind()) - progind()->addstatus(1); - RecNum-=2; - FinitaSezione=RigheStampate>_RIGHE_RA-1; + fill_riga_NR(body,RecNum,0); + RecNum+=3; + fill_riga_NR(body,RecNum,1); + TPrintrow& rr=body.row(0); + pr.print(rr); + rr.reset(); + RigheStampate++; + _RigaCorr++; + if (usa_progind()) + progind()->addstatus(1); + RecNum-=2; + FinitaSezione=RigheStampate>_RIGHE_RA-1; } } @@ -1352,11 +1352,11 @@ void TQuadroN::stampa_S(TPrinter& pr) { // Stampa la parte sinistra (primi 4 campi) fill_riga_PS(body,riga); - TPrintrow& rr=body.row(0); - pr.print(rr); - rr.reset(); - riga++; - _RigaCorr++; + TPrintrow& rr=body.row(0); + pr.print(rr); + rr.reset(); + riga++; + _RigaCorr++; if (usa_progind()) progind()->addstatus(1); FinitaSezione=riga>_RIGHE_SA-1; @@ -1375,11 +1375,11 @@ void TQuadroN::stampa_T(TPrinter& pr) { // Stampa la parte sinistra (primi 4 campi) fill_riga_QT(body,riga); - TPrintrow& rr=body.row(0); - pr.print(rr); - rr.reset(); - riga++; - _RigaCorr++; + TPrintrow& rr=body.row(0); + pr.print(rr); + rr.reset(); + riga++; + _RigaCorr++; if (usa_progind()) progind()->addstatus(1); FinitaSezione=riga>_RIGHE_TA-1; @@ -1406,21 +1406,21 @@ void TBase4::fill_riga_NR(TPrint_section& sec,const int num, const int side) TForm_item& fi = sec.field(i); if (num < _righeNR.items()) { - const TRigaN& rN = _righeNR[num]; - if (i==start) - sVal=rN.sMeseRif(); - else if (i==start+1) - sVal=rN.sAnnoRif(); - else if (i==start+2) - sVal=rN.ImpRimb(fi.picture()); - else if (i==start+3) - sVal=rN.CompAss(fi.picture()); - } - else - sVal=""; - fi.set(sVal); - TPrintrow& row=sec.row(0); - row.put(sVal,fi.x()-1); + const TRigaN& rN = _righeNR[num]; + if (i==start) + sVal=rN.sMeseRif(); + else if (i==start+1) + sVal=rN.sAnnoRif(); + else if (i==start+2) + sVal=rN.ImpRimb(fi.picture()); + else if (i==start+3) + sVal=rN.CompAss(fi.picture()); + } + else + sVal=""; + fi.set(sVal); + TPrintrow& row=sec.row(0); + row.put(sVal,fi.x()-1); } } */ @@ -1462,28 +1462,28 @@ bool TQuadroN::print(const long codditta, const long NumFis, const long NumNoFis bool done=FALSE; while (!done) { - jump_to_line(pr, prima_riga(PRIMA)); - int skip=HEADER_PRIMA_NOPOS; - stampa_testata(pr); + jump_to_line(pr, prima_riga(PRIMA)); + int skip=HEADER_PRIMA_NOPOS; + stampa_testata(pr); jump_to_line(pr, _PaginaPosizionamento ? 20-skip : 20); - stampa_N(pr); - jump_to_line(pr, _PaginaPosizionamento ? 26-skip : 26); - stampa_P(pr); - jump_to_line(pr, _PaginaPosizionamento ? 38-skip : 38); - stampa_Q(pr); - jump_to_line(pr, _PaginaPosizionamento ? 44-skip : 44); - stampa_R(pr); - jump_to_line(pr, _PaginaPosizionamento ? 48-skip : 48); - stampa_S(pr); - jump_to_line(pr, _PaginaPosizionamento ? 56-skip : 56); - stampa_T(pr); - jump_to_line(pr, _PaginaPosizionamento ? 63-skip : 63); - stampa_fine(pr); - _PaginaPosizionamento=FALSE; - next_page(pr); - pr.formlen(TDicForm::dic_form_len()); - ++(*cur); - done = cur->pos() >= cur->items()-1; + stampa_N(pr); + jump_to_line(pr, _PaginaPosizionamento ? 26-skip : 26); + stampa_P(pr); + jump_to_line(pr, _PaginaPosizionamento ? 38-skip : 38); + stampa_Q(pr); + jump_to_line(pr, _PaginaPosizionamento ? 44-skip : 44); + stampa_R(pr); + jump_to_line(pr, _PaginaPosizionamento ? 48-skip : 48); + stampa_S(pr); + jump_to_line(pr, _PaginaPosizionamento ? 56-skip : 56); + stampa_T(pr); + jump_to_line(pr, _PaginaPosizionamento ? 63-skip : 63); + stampa_fine(pr); + _PaginaPosizionamento=FALSE; + next_page(pr); + pr.formlen(TDicForm::dic_form_len()); + ++(*cur); + done = cur->pos() >= cur->items()-1; } close_print(); return TRUE; diff --git a/m770/77stq.cpp b/m770/77stq.cpp index 76dba9c3c..93dfdc97b 100755 --- a/m770/77stq.cpp +++ b/m770/77stq.cpp @@ -733,7 +733,7 @@ class TQuadroG : public TDicForm void stampa_prospetti3_4(TPrinter& pr); protected: - virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } + virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } virtual void inc_curr_page(); virtual void next_page(TPrinter& pr); virtual void stampa_totali(TPrinter& pr) {} @@ -915,13 +915,13 @@ void TQuadroG::stampa_prospetti3_4(TPrinter& pr) if (!bAggiuntivo) { if (i == 18) - { - TForm_item& t7 = sez.find_field(k+54); - t2.set(tot_tot2.string()); - t7.set(tot_tot7.string()); - } - } - else t2.set("VEDI ALLEGATO"); + { + TForm_item& t7 = sez.find_field(k+54); + t2.set(tot_tot2.string()); + t7.set(tot_tot7.string()); + } + } + else t2.set("VEDI ALLEGATO"); } } @@ -1027,8 +1027,8 @@ bool TQuadroG::print(const long codditta, const long NumFis, const long NumNoFis if (_PaginaCorrente == PRIMA) { - if (!_PaginaPosizionamento) - fill_page(pr,HEADER_PRIMA_NOPOS); + if (!_PaginaPosizionamento) + fill_page(pr,HEADER_PRIMA_NOPOS); if (_modulaser) ClearFlagModulaser(); @@ -1751,8 +1751,6 @@ void TStampaQuadro::print(const bool modulaser) class TQuadroD : public TDicForm { - enum { QD_FORMLEN = 72 }; - real _totale, _somme, _imponibile, _importo, _netto; bool _devo_sommare; @@ -2242,8 +2240,6 @@ bool TStampaQuadroD::user_destroy() class TQuadroD1 : public TDicForm { - enum { QD_FORMLEN = 72 }; - real _totale, _quotapro, _speseant, _imponibile, _importo, _netto; bool _devo_sommare; @@ -2745,18 +2741,18 @@ bool TStampaQuadroD1::user_destroy() ///////////////////////////////////////////////////////////////////////////////////////////// class TStampaQuadroG : public TStampaQuadro { - private: - TQuadroG* _form_g; - TDistintaG* _form_gd; - TCursor* _cur_g, * _cur_gd; - protected: - virtual bool user_create(); - virtual bool user_destroy(); - virtual TDicForm* get_form() const { return _form_g; } - virtual TCursor* get_cursor() const { return _cur_g; } - virtual bool print_quadro(const int OffsetDitta, const bool modulaser); - public: - TStampaQuadroG(char livel) : TStampaQuadro("G", livel) { } + private: + TQuadroG* _form_g; + TDistintaG* _form_gd; + TCursor* _cur_g, * _cur_gd; + protected: + virtual bool user_create(); + virtual bool user_destroy(); + virtual TDicForm* get_form() const { return _form_g; } + virtual TCursor* get_cursor() const { return _cur_g; } + virtual bool print_quadro(const int OffsetDitta, const bool modulaser); + public: + TStampaQuadroG(char livel) : TStampaQuadro("G", livel) { } }; bool TStampaQuadroG::user_create() @@ -3235,7 +3231,7 @@ class TQuadroF : public TDicForm void azzera_contatori(); void aggiorna_totali(char tipoprosp, TRectype& r); void stampa_totali(char tipoprosp, TPrinter& pr); - virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } + virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } public: virtual bool print(const long codditta, const long numfis=0L, const long numnofis=0L); @@ -3801,9 +3797,9 @@ bool get_alleg_730(const long codditta) base.put("CODDITTA",(long)codditta); if (base.read()==NOERR) { - const long allegA=base.get_long("N730ALLA"); - const long allegA2=base.get_long("N730ALLA2"); - return allegA || allegA2; + const long allegA=base.get_long("N730ALLA"); + const long allegA2=base.get_long("N730ALLA2"); + return allegA || allegA2; } else return FALSE; @@ -3832,29 +3828,29 @@ bool TBusta::print(const long codditta, const long, const long) all730.set(bAlleg730 ? "X" : ""); TPrinter& pr=printer(); - TPrint_section& body = section('B', odd_page); - const int body_righe = body.height(); + TPrint_section& body = section('B', odd_page); + const int body_righe = body.height(); TCursor* cur=cursor(); - bool finito=FALSE; + bool finito=FALSE; (*cur)=0L; pr.formlen(BUSTA_CON_POSIZ); if (!_PaginaPosizionamento) jump_to_line(pr,prima_riga(PRIMA)); - while (!finito) - { - body.reset(); - body.update(); - for (int i=0; i < body_righe; i++) - { - pr.print(body.row(i)); - _RigaCorr++; - } - if (usa_progind()) - progind()->addstatus(1); - ++(*cur); - finito= cur->pos() >= cur->items()-1; + while (!finito) + { + body.reset(); + body.update(); + for (int i=0; i < body_righe; i++) + { + pr.print(body.row(i)); + _RigaCorr++; + } + if (usa_progind()) + progind()->addstatus(1); + ++(*cur); + finito= cur->pos() >= cur->items()-1; pr.formlen(BUSTA_SENZA_POSIZ); - _PaginaPosizionamento=FALSE; + _PaginaPosizionamento=FALSE; } // TForm::print(0); } diff --git a/m770/77stq.h b/m770/77stq.h index 118921c1b..b18066187 100755 --- a/m770/77stq.h +++ b/m770/77stq.h @@ -44,9 +44,9 @@ typedef enum { STARTDOC, STARTDITTA, STARTPAGE, ENDDOC } ModulaserKey; // Campi form #define TOT_TOTALE 1 #define TOT_SNSRIT 2 -#define TOT_IMPON 3 -#define TOT_IMPOR 4 -#define TOT_NETTO 5 +#define TOT_IMPON 3 +#define TOT_IMPOR 4 +#define TOT_NETTO 5 #define D_TOTALE 16 #define D_SNSRIT 17 @@ -73,25 +73,27 @@ typedef enum { STARTDOC, STARTDITTA, STARTPAGE, ENDDOC } ModulaserKey; #define QD_STATO_ESTERO 12 // Quadro D -HIDDEN const int QD_FORMLEN = 72; -HIDDEN const int POS_DITTA = 120; // Colonna del codice ditta a pie' di modulo -HIDDEN const int QD_PAGINE = 4; -HIDDEN const int QD_RIGHE_PRIMA = 4; -HIDDEN const int QD_RIGHE_SECONDA = 7; -HIDDEN const int QD_RIGHE_TERZA = 7; -HIDDEN const int QD_RIGHE_QUARTA = 7; -HIDDEN const int QD1_RIGHE_PRIMA = 6; -HIDDEN const int QD1_RIGHE_SECONDA = 9; -HIDDEN const int QD1_RIGHE_TERZA = 9; -HIDDEN const int QD1_RIGHE_QUARTA = 8; +#define QD_FORMLEN 72 +#define POS_DITTA 120 +#define QD_PAGINE 4 +#define QD_RIGHE_PRIMA 4 +#define QD_RIGHE_SECONDA 7 +#define QD_RIGHE_TERZA 7 +#define QD_RIGHE_QUARTA 7 +#define QD1_RIGHE_PRIMA 6 +#define QD1_RIGHE_SECONDA 9 +#define QD1_RIGHE_TERZA 9 +#define QD1_RIGHE_QUARTA 8 -HIDDEN const int HEADER_SECONDA = 8; -HIDDEN const int HEADER_TERZA = 8; // Sarebbero 9 col righello... -HIDDEN const int HEADER_QUARTA = 13; // 15 col righello... +#define HEADER_SECONDA 8 +#define HEADER_TERZA 8 +#define HEADER_QUARTA 13 -HIDDEN const int HEADER_D1_SECONDA = 8; -HIDDEN const int HEADER_D1_TERZA = 8; -HIDDEN const int HEADER_D1_QUARTA = 14; +#define HEADER_D1_SECONDA 8 +#define HEADER_D1_TERZA 8 +#define HEADER_D1_QUARTA 14 + +#define FIRMADIC 2 typedef enum { PRIMA=1, SECONDA, TERZA, QUARTA } PaginaQuadro; typedef enum { fisiche, nofisiche } TipoPagina; @@ -115,7 +117,7 @@ class TDicForm : public TForm virtual void inc_curr_page(); virtual void next_page(TPrinter& pr); bool _modulaser; // se stampa per modulaser - bool _posiziona; + bool _posiziona; TipoDitta _tipo_ditta; // tipo ditta: normale, estinto, dichiarante int _num_foglio; // numero foglio TString _cofi_dic; // cod.fis. dichiarante @@ -172,6 +174,7 @@ class TDicForm : public TForm virtual void azzera_totali(); PaginaQuadro curr_page() const { return _PaginaCorrente; } // TCursor& cur(); + void firma_dichiarante(); void set_progind(TProgind* prog) { _prog = prog; } TProgind* progind() { return _prog; } diff --git a/m770/77stqab.cpp b/m770/77stqab.cpp index f7a740c24..228881f69 100755 --- a/m770/77stqab.cpp +++ b/m770/77stqab.cpp @@ -93,10 +93,12 @@ int TDipendenti::fill(TCursor& cur) const long coddec = dip(d).codice_deceduto(); if (coddec > 0) // E' un erede! { - const int posdec = find(coddec); + int posdec = find(coddec); if (posdec >= 0 && posdec != d-1) // Il deceduto esiste { TDipendente* dipen = (TDipendente*)_data.remove(d, TRUE); + if (d < posdec) // Se l'erede precede il defunto ... + posdec--; // ... il defunto avanza di un posto! dipen->reset_deceduto(); // Non e' piu' un erede _data.insert(dipen, posdec+1); // Attaccalo dietro al deceduto } @@ -559,6 +561,18 @@ bool TStampaQuadroB::user_create() // QUADRO H ////////////////////////////////////////////////////////////// +long TQuadroH::filtra(const long codditta) +{ + TString filtr(32); + filtr.format("(CODDITTA=%ld)&&(H1ANNO=1995)", codditta); + + cursor()->setfilter(filtr, TRUE); + const long items = cursor()->items(); + + return items; +} + + void TQuadroH::inc_curr_page() { if (_PaginaCorrente == PRIMA) @@ -681,7 +695,8 @@ bool TStampaQuadroH::user_create() _form = new TQuadroH("77QH", quadro()); TString sortkey(80); - sortkey.format("CODDITTA|H1ANNO|H1ENTE"); +// sortkey.format("CODDITTA|H1ANNO|H1ENTE"); + sortkey.format("CODDITTA|H1ENTE"); // Considera solo in 1995 _cur = new TSorted_cursor(_form->TForm::relation(), sortkey); return TRUE; diff --git a/m770/77stqab.h b/m770/77stqab.h index ebc1710ad..f070dcf20 100755 --- a/m770/77stqab.h +++ b/m770/77stqab.h @@ -223,6 +223,7 @@ protected: virtual int prima_riga(PaginaQuadro p) const; virtual bool print(const long codditta, const long NumFis, const long NumNoFis); virtual void inc_curr_page(); + virtual long filtra(const long codditta); public: TQuadroH(const char* form, const char* quadro) : TQuadroA(form, quadro) { }