Corrette stampe dei quadri B e H

git-svn-id: svn://10.65.10.50/trunk@3759 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-10-11 14:24:28 +00:00
parent 1ec5595d26
commit 00b955bd64
6 changed files with 355 additions and 332 deletions

View File

@ -356,6 +356,7 @@ BEGIN
PROMPT 22 7 "" PROMPT 22 7 ""
PICTURE "###.###.###^^^" PICTURE "###.###.###^^^"
FIELD ABBATT FIELD ABBATT
MESSAGE ADD,FL->23
END END
NUMERO 24 NUMERO 24
@ -424,7 +425,7 @@ END
NUMERO 31 NUMERO 31
BEGIN BEGIN
KEY "ALIQUOTA" KEY "ALIQUOTA"
PROMPT 28 9 "" PROMPT 27 9 ""
PICTURE "##@,@@" PICTURE "##@,@@"
FIELD ALIQUOTA FIELD ALIQUOTA
END END
@ -449,7 +450,7 @@ NUMERO 34
BEGIN BEGIN
KEY "IMPONIBILE T.F.R." KEY "IMPONIBILE T.F.R."
PROMPT 57 9 "" PROMPT 57 9 ""
PICTURE "#.###.###.###^^^" PICTURE "###.###.###^^^"
FIELD IMPTFR FIELD IMPTFR
MESSAGE ADD,FL->34 MESSAGE ADD,FL->34
END END
@ -561,6 +562,13 @@ BEGIN
PICTURE "#.###.###.###^^^" PICTURE "#.###.###.###^^^"
END END
NUMERO 23
BEGIN
KEY "ABBATTIMENTO"
PROMPT 22 3 ""
PICTURE "###.###.###^^^"
END
NUMERO 24 NUMERO 24
BEGIN BEGIN
KEY "AMMONTARE NETTO" KEY "AMMONTARE NETTO"

View File

@ -111,15 +111,15 @@ void TBase1::stampa_soci(TPrinter& pr)
sComuneNa.cut(28); sComuneNa.cut(28);
sProvNa=c->file(LF_COMUNI).get("PROVCOM"); sProvNa=c->file(LF_COMUNI).get("PROVCOM");
// fut.field(0).set(sRagsoc); // fut.field(0).set(sRagsoc);
sRagsoc:=fut.field(0).get(); sRagsoc=fut.field(0).get();
if (sRagsoc.len() > 30 && sRagsoc[30] != ' ') if (sRagsoc.len() > 30 && sRagsoc[30] != ' ')
{ {
sCognome=sRagsoc.left(30); sCognome=sRagsoc.left(30);
sCognome.trim(); sCognome.trim();
sNome=sRagsoc.mid(30,0); sNome=sRagsoc.mid(30,0);
sNome.trim(); sNome.trim();
sRagsoc = sCognome; sRagsoc = sCognome;
sRagsoc << " " << sNome; sRagsoc << " " << sNome;
} }
rg.put(sRagsoc,fut.field(0).x()-1); rg.put(sRagsoc,fut.field(0).x()-1);
fut.field(1).set(sSesso); fut.field(1).set(sSesso);
@ -246,23 +246,23 @@ int TBase3::stampa_L(TPrinter& pr,const int iChiaveL)
while (!finito) while (!finito)
{ {
body.update(); body.update();
const int body_righe = body.height(); const int body_righe = body.height();
for (int i = 0; i < body_righe; i++) for (int i = 0; i < body_righe; i++)
{ {
TPrintrow& rr=body.row(i); TPrintrow& rr=body.row(i);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
_RigaCorr++; _RigaCorr++;
} }
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
righe++; righe++;
++cur; ++cur;
codit=cur.file().get_long("CODDITTA"); codit=cur.file().get_long("CODDITTA");
bool buono=codit==_codditta; bool buono=codit==_codditta;
// Guarda se e' necessario stampare l'aggiuntivo // Guarda se e' necessario stampare l'aggiuntivo
_bAggiuntivoL = buono && righe>14; _bAggiuntivoL = buono && righe>14;
finito=righe>14 || codit!=_codditta; finito=righe>14 || codit!=_codditta;
} }
return righe; return righe;
} }
@ -471,10 +471,10 @@ TRigaPS::TRigaPS(const TLocalisamfile& qt)
_rImp = rec.get_real("IMPOSTA"); _rImp = rec.get_real("IMPOSTA");
_rIntDip = rec.get_real("INTERDIP"); _rIntDip = rec.get_real("INTERDIP");
_rIntDat = rec.get_real("INTERDAT"); _rIntDat = rec.get_real("INTERDAT");
_sTipoV = rec.get("TIPOVERS"); _sTipoV = rec.get("TIPOVERS");
_sCodTrib= rec.get("CODTRIB"); _sCodTrib= rec.get("CODTRIB");
_sSerie = rec.get("SERIE"); _sSerie = rec.get("SERIE");
_sNumero = rec.get("NUMERO"); _sNumero = rec.get("NUMERO");
} }
int TRighePS::fill(const long codditta,TLocalisamfile& ps) 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); TForm_item& fi = sec.find_field(i);
if (num < _righeQT.items()) if (num < _righeQT.items())
{ {
const TRigaQT& rN = _righeQT[num]; const TRigaQT& rN = _righeQT[num];
if (i==start) if (i==start)
sVal=rN.sMesePag(); sVal=rN.sMesePag();
else if (i==start+1) else if (i==start+1)
sVal=rN.sAnnoPag(); sVal=rN.sAnnoPag();
else if (i==start+2) else if (i==start+2)
sVal=rN.ContVers(fi.picture()); sVal=rN.ContVers(fi.picture());
else if (i==start+3) else if (i==start+3)
sVal=rN.ContRimb(fi.picture()); sVal=rN.ContRimb(fi.picture());
else if (i==start+4) else if (i==start+4)
sVal=rN.Interessi(fi.picture()); sVal=rN.Interessi(fi.picture());
else if (i==start+5) else if (i==start+5)
sVal=rN.CodReg(); sVal=rN.CodReg();
} }
else else
sVal=""; sVal="";
fi.set(sVal); fi.set(sVal);
TPrintrow& row=sec.row(0); TPrintrow& row=sec.row(0);
row.put(sVal,fi.x()-1); row.put(sVal,fi.x()-1);
} }
} }
@ -586,11 +586,11 @@ void TBase4::stampa_Q(TPrinter& pr)
{ {
// Stampa la parte sinistra (primi 4 campi) // Stampa la parte sinistra (primi 4 campi)
fill_riga_QT(body,riga); fill_riga_QT(body,riga);
TPrintrow& rr=body.row(0); TPrintrow& rr=body.row(0);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
riga++; riga++;
_RigaCorr++; _RigaCorr++;
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
FinitaSezione=riga>_RIGHE_Q-1; FinitaSezione=riga>_RIGHE_Q-1;
@ -614,11 +614,11 @@ void TBase4::stampa_T(TPrinter& pr)
{ {
// Stampa la parte sinistra (primi 4 campi) // Stampa la parte sinistra (primi 4 campi)
fill_riga_QT(body,riga); fill_riga_QT(body,riga);
TPrintrow& rr=body.row(0); TPrintrow& rr=body.row(0);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
riga++; riga++;
_RigaCorr++; _RigaCorr++;
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
FinitaSezione=riga>_RIGHE_T-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); TForm_item& fi = sec.find_field(i);
if (num < _righePS.items()) if (num < _righePS.items())
{ {
const TRigaPS& rN = _righePS[num]; const TRigaPS& rN = _righePS[num];
if (i==start) if (i==start)
sVal=rN.sImposta(fi.picture()); sVal=rN.sImposta(fi.picture());
else if (i==start+1) else if (i==start+1)
sVal=rN.sIntDip(fi.picture()); sVal=rN.sIntDip(fi.picture());
else if (i==start+2) else if (i==start+2)
sVal=rN.sIntDat(fi.picture()); sVal=rN.sIntDat(fi.picture());
else if (i==start+3) else if (i==start+3)
sVal=rN.sTipoVers(); sVal=rN.sTipoVers();
else if (i==start+4) else if (i==start+4)
sVal=rN.sCodTrib(); sVal=rN.sCodTrib();
else if (i==start+5) else if (i==start+5)
{ {
sDep=rN.sDataVers(); sDep=rN.sDataVers();
sVal.picture(fi.picture(),sDep); sVal.picture(fi.picture(),sDep);
} }
else if (i==start+6) else if (i==start+6)
sVal=rN.sSerie(); sVal=rN.sSerie();
else if (i==start+7) else if (i==start+7)
sVal=rN.sNumero(); sVal=rN.sNumero();
} }
else else
sVal=""; sVal="";
fi.set(sVal); fi.set(sVal);
TPrintrow& row=sec.row(0); TPrintrow& row=sec.row(0);
row.put(sVal,fi.x()-1); row.put(sVal,fi.x()-1);
} }
} }
@ -679,11 +679,11 @@ void TBase4::stampa_P(TPrinter& pr)
{ {
// Stampa la parte sinistra (primi 4 campi) // Stampa la parte sinistra (primi 4 campi)
fill_riga_PS(body,riga); fill_riga_PS(body,riga);
TPrintrow& rr=body.row(0); TPrintrow& rr=body.row(0);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
riga++; riga++;
_RigaCorr++; _RigaCorr++;
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
FinitaSezione=riga>_RIGHE_P-1; FinitaSezione=riga>_RIGHE_P-1;
@ -707,11 +707,11 @@ void TBase4::stampa_S(TPrinter& pr)
{ {
// Stampa la parte sinistra (primi 4 campi) // Stampa la parte sinistra (primi 4 campi)
fill_riga_PS(body,riga); fill_riga_PS(body,riga);
TPrintrow& rr=body.row(0); TPrintrow& rr=body.row(0);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
riga++; riga++;
_RigaCorr++; _RigaCorr++;
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
FinitaSezione=riga>_RIGHE_S-1; FinitaSezione=riga>_RIGHE_S-1;
@ -734,8 +734,8 @@ void TBase4::stampa_R(TPrinter& pr)
fill_riga_NR(body,1,1); fill_riga_NR(body,1,1);
TPrintrow& rr=body.row(0); TPrintrow& rr=body.row(0);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
_RigaCorr++; _RigaCorr++;
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
// Salta due righe alla fine // 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); TForm_item& fi = sec.find_field(i);
if (num < _righeNR.items()) if (num < _righeNR.items())
{ {
const TRigaN& rN = _righeNR[num]; const TRigaN& rN = _righeNR[num];
if (i==start) if (i==start)
sVal=rN.sMeseRif(); sVal=rN.sMeseRif();
else if (i==start+1) else if (i==start+1)
sVal=rN.sAnnoRif(); sVal=rN.sAnnoRif();
else if (i==start+2) else if (i==start+2)
sVal=rN.ImpRimb(fi.picture()); sVal=rN.ImpRimb(fi.picture());
else if (i==start+3) else if (i==start+3)
sVal=rN.CompAss(fi.picture()); sVal=rN.CompAss(fi.picture());
} }
else else
sVal=""; sVal="";
fi.set(sVal); fi.set(sVal);
TPrintrow& row=sec.row(0); TPrintrow& row=sec.row(0);
row.put(sVal,fi.x()-1); row.put(sVal,fi.x()-1);
} }
} }
void TBase4::stampa_righe_vuote(TPrinter& pr,const int righe) void TBase4::stampa_righe_vuote(TPrinter& pr,const int righe)
{ {
TPrintrow rr; TPrintrow rr;
for (int i=0; i<righe; i++) for (int i=0; i<righe; i++)
{ {
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
_RigaCorr++; _RigaCorr++;
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
} }
@ -811,11 +811,11 @@ void TBase4::stampa_N(TPrinter& pr)
fill_riga_NR(body,num,0); fill_riga_NR(body,num,0);
num+=3; num+=3;
fill_riga_NR(body,num,1); fill_riga_NR(body,num,1);
TPrintrow& rr=body.row(0); TPrintrow& rr=body.row(0);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
riga++; riga++;
_RigaCorr++; _RigaCorr++;
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
num-=2; num-=2;
@ -1023,20 +1023,20 @@ bool TQuadroL::stampa_L(TPrinter& pr,const long lStartRec,const int iRecL)
while (!finito) while (!finito)
{ {
body.update(); body.update();
const int body_righe = body.height(); const int body_righe = body.height();
for (int i = 0; i < body_righe; i++) for (int i = 0; i < body_righe; i++)
{ {
TPrintrow& rr=body.row(i); TPrintrow& rr=body.row(i);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
_RigaCorr++; _RigaCorr++;
} }
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
righe++; righe++;
++cur; ++cur;
eof=cur.pos()==cur.items()-1; eof=cur.pos()==cur.items()-1;
finito = (righe==iRecL-1) || eof; finito = (righe==iRecL-1) || eof;
} }
return eof; return eof;
} }
@ -1085,21 +1085,21 @@ bool TQuadroL::print(const long codditta, const long NumFis, const long NumNoFis
bool finito=FALSE; bool finito=FALSE;
while (!finito) while (!finito)
{ {
jump_to_line(pr, prima_riga(PRIMA)); jump_to_line(pr, prima_riga(PRIMA));
stampa_testata(pr); stampa_testata(pr);
finito=stampa_L(pr,lOffsetL,_REC_PRIMA_AGG_L); finito=stampa_L(pr,lOffsetL,_REC_PRIMA_AGG_L);
next_page(pr); next_page(pr);
if (!finito) if (!finito)
{ {
lOffsetL+=_REC_PRIMA_AGG_L; lOffsetL+=_REC_PRIMA_AGG_L;
jump_to_line(pr, prima_riga(SECONDA)); jump_to_line(pr, prima_riga(SECONDA));
finito=stampa_L(pr,lOffsetL,_REC_SECONDA_AGG_L); finito=stampa_L(pr,lOffsetL,_REC_SECONDA_AGG_L);
} }
if (finito) if (finito)
{ {
jump_to_line(pr,_RIGA_TOTALI_AGG_L); jump_to_line(pr,_RIGA_TOTALI_AGG_L);
stampa_totali_L(pr); stampa_totali_L(pr);
} }
next_page(pr); next_page(pr);
} }
close_print(); close_print();
@ -1175,25 +1175,25 @@ int TQuadroN::prima_riga(PaginaQuadro p) const
TForm_item& fi = sec.find_field(i); TForm_item& fi = sec.find_field(i);
if (num < _righeQT.items()) if (num < _righeQT.items())
{ {
const TRigaQT& rN = _righeQT[num]; const TRigaQT& rN = _righeQT[num];
if (i==start) if (i==start)
sVal=rN.sMesePag(); sVal=rN.sMesePag();
else if (i==start+1) else if (i==start+1)
sVal=rN.sAnnoPag(); sVal=rN.sAnnoPag();
else if (i==start+2) else if (i==start+2)
sVal=rN.ContVers(fi.picture()); sVal=rN.ContVers(fi.picture());
else if (i==start+3) else if (i==start+3)
sVal=rN.ContRimb(fi.picture()); sVal=rN.ContRimb(fi.picture());
else if (i==start+4) else if (i==start+4)
sVal=rN.Interessi(fi.picture()); sVal=rN.Interessi(fi.picture());
else if (i==start+5) else if (i==start+5)
sVal=rN.CodReg(); sVal=rN.CodReg();
} }
else else
sVal=""; sVal="";
fi.set(sVal); fi.set(sVal);
TPrintrow& row=sec.row(0); TPrintrow& row=sec.row(0);
row.put(sVal,fi.x()-1); 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); TForm_item& fi = sec.find_field(i);
if (num < _righePS.items()) if (num < _righePS.items())
{ {
const TRigaPS& rN = _righePS[num]; const TRigaPS& rN = _righePS[num];
if (i==start) if (i==start)
sVal=rN.sImposta(fi.picture()); sVal=rN.sImposta(fi.picture());
else if (i==start+1) else if (i==start+1)
sVal=rN.sIntDip(fi.picture()); sVal=rN.sIntDip(fi.picture());
else if (i==start+2) else if (i==start+2)
sVal=rN.sIntDat(fi.picture()); sVal=rN.sIntDat(fi.picture());
else if (i==start+3) else if (i==start+3)
sVal=rN.sTipoVers(); sVal=rN.sTipoVers();
else if (i==start+4) else if (i==start+4)
sVal=rN.sCodTrib(); sVal=rN.sCodTrib();
else if (i==start+5) else if (i==start+5)
sVal=rN.sDataVers(); sVal=rN.sDataVers();
else if (i==start+6) else if (i==start+6)
sVal=rN.sSerie(); sVal=rN.sSerie();
else if (i==start+7) else if (i==start+7)
sVal=rN.sNumero(); sVal=rN.sNumero();
} }
else else
sVal=""; sVal="";
fi.set(sVal); fi.set(sVal);
TPrintrow& row=sec.row(0); TPrintrow& row=sec.row(0);
row.put(sVal,fi.x()-1); row.put(sVal,fi.x()-1);
} }
} */ } */
@ -1249,11 +1249,11 @@ void TQuadroN::stampa_N(TPrinter& pr)
fill_riga_NR(body,num,0); fill_riga_NR(body,num,0);
num+=3; num+=3;
fill_riga_NR(body,num,1); fill_riga_NR(body,num,1);
TPrintrow& rr=body.row(0); TPrintrow& rr=body.row(0);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
riga++; riga++;
_RigaCorr++; _RigaCorr++;
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
num-=2; num-=2;
@ -1275,11 +1275,11 @@ void TQuadroN::stampa_P(TPrinter& pr)
{ {
// Stampa la parte sinistra (primi 4 campi) // Stampa la parte sinistra (primi 4 campi)
fill_riga_PS(body,riga); fill_riga_PS(body,riga);
TPrintrow& rr=body.row(0); TPrintrow& rr=body.row(0);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
riga++; riga++;
_RigaCorr++; _RigaCorr++;
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
FinitaSezione=riga>_RIGHE_PA-1; FinitaSezione=riga>_RIGHE_PA-1;
@ -1299,11 +1299,11 @@ void TQuadroN::stampa_Q(TPrinter& pr)
{ {
// Stampa la parte sinistra (primi 4 campi) // Stampa la parte sinistra (primi 4 campi)
fill_riga_QT(body,riga); fill_riga_QT(body,riga);
TPrintrow& rr=body.row(0); TPrintrow& rr=body.row(0);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
riga++; riga++;
_RigaCorr++; _RigaCorr++;
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
FinitaSezione=riga>_RIGHE_QA-1; FinitaSezione=riga>_RIGHE_QA-1;
@ -1324,18 +1324,18 @@ void TQuadroN::stampa_R(TPrinter& pr)
bool FinitaSezione=FALSE; bool FinitaSezione=FALSE;
while (!FinitaSezione) while (!FinitaSezione)
{ {
fill_riga_NR(body,RecNum,0); fill_riga_NR(body,RecNum,0);
RecNum+=3; RecNum+=3;
fill_riga_NR(body,RecNum,1); fill_riga_NR(body,RecNum,1);
TPrintrow& rr=body.row(0); TPrintrow& rr=body.row(0);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
RigheStampate++; RigheStampate++;
_RigaCorr++; _RigaCorr++;
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
RecNum-=2; RecNum-=2;
FinitaSezione=RigheStampate>_RIGHE_RA-1; FinitaSezione=RigheStampate>_RIGHE_RA-1;
} }
} }
@ -1352,11 +1352,11 @@ void TQuadroN::stampa_S(TPrinter& pr)
{ {
// Stampa la parte sinistra (primi 4 campi) // Stampa la parte sinistra (primi 4 campi)
fill_riga_PS(body,riga); fill_riga_PS(body,riga);
TPrintrow& rr=body.row(0); TPrintrow& rr=body.row(0);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
riga++; riga++;
_RigaCorr++; _RigaCorr++;
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
FinitaSezione=riga>_RIGHE_SA-1; FinitaSezione=riga>_RIGHE_SA-1;
@ -1375,11 +1375,11 @@ void TQuadroN::stampa_T(TPrinter& pr)
{ {
// Stampa la parte sinistra (primi 4 campi) // Stampa la parte sinistra (primi 4 campi)
fill_riga_QT(body,riga); fill_riga_QT(body,riga);
TPrintrow& rr=body.row(0); TPrintrow& rr=body.row(0);
pr.print(rr); pr.print(rr);
rr.reset(); rr.reset();
riga++; riga++;
_RigaCorr++; _RigaCorr++;
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
FinitaSezione=riga>_RIGHE_TA-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); TForm_item& fi = sec.field(i);
if (num < _righeNR.items()) if (num < _righeNR.items())
{ {
const TRigaN& rN = _righeNR[num]; const TRigaN& rN = _righeNR[num];
if (i==start) if (i==start)
sVal=rN.sMeseRif(); sVal=rN.sMeseRif();
else if (i==start+1) else if (i==start+1)
sVal=rN.sAnnoRif(); sVal=rN.sAnnoRif();
else if (i==start+2) else if (i==start+2)
sVal=rN.ImpRimb(fi.picture()); sVal=rN.ImpRimb(fi.picture());
else if (i==start+3) else if (i==start+3)
sVal=rN.CompAss(fi.picture()); sVal=rN.CompAss(fi.picture());
} }
else else
sVal=""; sVal="";
fi.set(sVal); fi.set(sVal);
TPrintrow& row=sec.row(0); TPrintrow& row=sec.row(0);
row.put(sVal,fi.x()-1); 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; bool done=FALSE;
while (!done) while (!done)
{ {
jump_to_line(pr, prima_riga(PRIMA)); jump_to_line(pr, prima_riga(PRIMA));
int skip=HEADER_PRIMA_NOPOS; int skip=HEADER_PRIMA_NOPOS;
stampa_testata(pr); stampa_testata(pr);
jump_to_line(pr, _PaginaPosizionamento ? 20-skip : 20); jump_to_line(pr, _PaginaPosizionamento ? 20-skip : 20);
stampa_N(pr); stampa_N(pr);
jump_to_line(pr, _PaginaPosizionamento ? 26-skip : 26); jump_to_line(pr, _PaginaPosizionamento ? 26-skip : 26);
stampa_P(pr); stampa_P(pr);
jump_to_line(pr, _PaginaPosizionamento ? 38-skip : 38); jump_to_line(pr, _PaginaPosizionamento ? 38-skip : 38);
stampa_Q(pr); stampa_Q(pr);
jump_to_line(pr, _PaginaPosizionamento ? 44-skip : 44); jump_to_line(pr, _PaginaPosizionamento ? 44-skip : 44);
stampa_R(pr); stampa_R(pr);
jump_to_line(pr, _PaginaPosizionamento ? 48-skip : 48); jump_to_line(pr, _PaginaPosizionamento ? 48-skip : 48);
stampa_S(pr); stampa_S(pr);
jump_to_line(pr, _PaginaPosizionamento ? 56-skip : 56); jump_to_line(pr, _PaginaPosizionamento ? 56-skip : 56);
stampa_T(pr); stampa_T(pr);
jump_to_line(pr, _PaginaPosizionamento ? 63-skip : 63); jump_to_line(pr, _PaginaPosizionamento ? 63-skip : 63);
stampa_fine(pr); stampa_fine(pr);
_PaginaPosizionamento=FALSE; _PaginaPosizionamento=FALSE;
next_page(pr); next_page(pr);
pr.formlen(TDicForm::dic_form_len()); pr.formlen(TDicForm::dic_form_len());
++(*cur); ++(*cur);
done = cur->pos() >= cur->items()-1; done = cur->pos() >= cur->items()-1;
} }
close_print(); close_print();
return TRUE; return TRUE;

View File

@ -733,7 +733,7 @@ class TQuadroG : public TDicForm
void stampa_prospetti3_4(TPrinter& pr); void stampa_prospetti3_4(TPrinter& pr);
protected: protected:
virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; }
virtual void inc_curr_page(); virtual void inc_curr_page();
virtual void next_page(TPrinter& pr); virtual void next_page(TPrinter& pr);
virtual void stampa_totali(TPrinter& pr) {} virtual void stampa_totali(TPrinter& pr) {}
@ -915,13 +915,13 @@ void TQuadroG::stampa_prospetti3_4(TPrinter& pr)
if (!bAggiuntivo) if (!bAggiuntivo)
{ {
if (i == 18) if (i == 18)
{ {
TForm_item& t7 = sez.find_field(k+54); TForm_item& t7 = sez.find_field(k+54);
t2.set(tot_tot2.string()); t2.set(tot_tot2.string());
t7.set(tot_tot7.string()); t7.set(tot_tot7.string());
} }
} }
else t2.set("VEDI ALLEGATO"); 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 (_PaginaCorrente == PRIMA)
{ {
if (!_PaginaPosizionamento) if (!_PaginaPosizionamento)
fill_page(pr,HEADER_PRIMA_NOPOS); fill_page(pr,HEADER_PRIMA_NOPOS);
if (_modulaser) ClearFlagModulaser(); if (_modulaser) ClearFlagModulaser();
@ -1751,8 +1751,6 @@ void TStampaQuadro::print(const bool modulaser)
class TQuadroD : public TDicForm class TQuadroD : public TDicForm
{ {
enum { QD_FORMLEN = 72 };
real _totale, _somme, _imponibile, _importo, _netto; real _totale, _somme, _imponibile, _importo, _netto;
bool _devo_sommare; bool _devo_sommare;
@ -2242,8 +2240,6 @@ bool TStampaQuadroD::user_destroy()
class TQuadroD1 : public TDicForm class TQuadroD1 : public TDicForm
{ {
enum { QD_FORMLEN = 72 };
real _totale, _quotapro, _speseant, _imponibile, _importo, _netto; real _totale, _quotapro, _speseant, _imponibile, _importo, _netto;
bool _devo_sommare; bool _devo_sommare;
@ -2745,18 +2741,18 @@ bool TStampaQuadroD1::user_destroy()
///////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////
class TStampaQuadroG : public TStampaQuadro class TStampaQuadroG : public TStampaQuadro
{ {
private: private:
TQuadroG* _form_g; TQuadroG* _form_g;
TDistintaG* _form_gd; TDistintaG* _form_gd;
TCursor* _cur_g, * _cur_gd; TCursor* _cur_g, * _cur_gd;
protected: protected:
virtual bool user_create(); virtual bool user_create();
virtual bool user_destroy(); virtual bool user_destroy();
virtual TDicForm* get_form() const { return _form_g; } virtual TDicForm* get_form() const { return _form_g; }
virtual TCursor* get_cursor() const { return _cur_g; } virtual TCursor* get_cursor() const { return _cur_g; }
virtual bool print_quadro(const int OffsetDitta, const bool modulaser); virtual bool print_quadro(const int OffsetDitta, const bool modulaser);
public: public:
TStampaQuadroG(char livel) : TStampaQuadro("G", livel) { } TStampaQuadroG(char livel) : TStampaQuadro("G", livel) { }
}; };
bool TStampaQuadroG::user_create() bool TStampaQuadroG::user_create()
@ -3235,7 +3231,7 @@ class TQuadroF : public TDicForm
void azzera_contatori(); void azzera_contatori();
void aggiorna_totali(char tipoprosp, TRectype& r); void aggiorna_totali(char tipoprosp, TRectype& r);
void stampa_totali(char tipoprosp, TPrinter& pr); void stampa_totali(char tipoprosp, TPrinter& pr);
virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; } virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; }
public: public:
virtual bool print(const long codditta, const long numfis=0L, const long numnofis=0L); 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); base.put("CODDITTA",(long)codditta);
if (base.read()==NOERR) if (base.read()==NOERR)
{ {
const long allegA=base.get_long("N730ALLA"); const long allegA=base.get_long("N730ALLA");
const long allegA2=base.get_long("N730ALLA2"); const long allegA2=base.get_long("N730ALLA2");
return allegA || allegA2; return allegA || allegA2;
} }
else else
return FALSE; return FALSE;
@ -3832,29 +3828,29 @@ bool TBusta::print(const long codditta, const long, const long)
all730.set(bAlleg730 ? "X" : ""); all730.set(bAlleg730 ? "X" : "");
TPrinter& pr=printer(); TPrinter& pr=printer();
TPrint_section& body = section('B', odd_page); TPrint_section& body = section('B', odd_page);
const int body_righe = body.height(); const int body_righe = body.height();
TCursor* cur=cursor(); TCursor* cur=cursor();
bool finito=FALSE; bool finito=FALSE;
(*cur)=0L; (*cur)=0L;
pr.formlen(BUSTA_CON_POSIZ); pr.formlen(BUSTA_CON_POSIZ);
if (!_PaginaPosizionamento) if (!_PaginaPosizionamento)
jump_to_line(pr,prima_riga(PRIMA)); jump_to_line(pr,prima_riga(PRIMA));
while (!finito) while (!finito)
{ {
body.reset(); body.reset();
body.update(); body.update();
for (int i=0; i < body_righe; i++) for (int i=0; i < body_righe; i++)
{ {
pr.print(body.row(i)); pr.print(body.row(i));
_RigaCorr++; _RigaCorr++;
} }
if (usa_progind()) if (usa_progind())
progind()->addstatus(1); progind()->addstatus(1);
++(*cur); ++(*cur);
finito= cur->pos() >= cur->items()-1; finito= cur->pos() >= cur->items()-1;
pr.formlen(BUSTA_SENZA_POSIZ); pr.formlen(BUSTA_SENZA_POSIZ);
_PaginaPosizionamento=FALSE; _PaginaPosizionamento=FALSE;
} }
// TForm::print(0); // TForm::print(0);
} }

View File

@ -44,9 +44,9 @@ typedef enum { STARTDOC, STARTDITTA, STARTPAGE, ENDDOC } ModulaserKey;
// Campi form // Campi form
#define TOT_TOTALE 1 #define TOT_TOTALE 1
#define TOT_SNSRIT 2 #define TOT_SNSRIT 2
#define TOT_IMPON 3 #define TOT_IMPON 3
#define TOT_IMPOR 4 #define TOT_IMPOR 4
#define TOT_NETTO 5 #define TOT_NETTO 5
#define D_TOTALE 16 #define D_TOTALE 16
#define D_SNSRIT 17 #define D_SNSRIT 17
@ -73,25 +73,27 @@ typedef enum { STARTDOC, STARTDITTA, STARTPAGE, ENDDOC } ModulaserKey;
#define QD_STATO_ESTERO 12 #define QD_STATO_ESTERO 12
// Quadro D // Quadro D
HIDDEN const int QD_FORMLEN = 72; #define QD_FORMLEN 72
HIDDEN const int POS_DITTA = 120; // Colonna del codice ditta a pie' di modulo #define POS_DITTA 120
HIDDEN const int QD_PAGINE = 4; #define QD_PAGINE 4
HIDDEN const int QD_RIGHE_PRIMA = 4; #define QD_RIGHE_PRIMA 4
HIDDEN const int QD_RIGHE_SECONDA = 7; #define QD_RIGHE_SECONDA 7
HIDDEN const int QD_RIGHE_TERZA = 7; #define QD_RIGHE_TERZA 7
HIDDEN const int QD_RIGHE_QUARTA = 7; #define QD_RIGHE_QUARTA 7
HIDDEN const int QD1_RIGHE_PRIMA = 6; #define QD1_RIGHE_PRIMA 6
HIDDEN const int QD1_RIGHE_SECONDA = 9; #define QD1_RIGHE_SECONDA 9
HIDDEN const int QD1_RIGHE_TERZA = 9; #define QD1_RIGHE_TERZA 9
HIDDEN const int QD1_RIGHE_QUARTA = 8; #define QD1_RIGHE_QUARTA 8
HIDDEN const int HEADER_SECONDA = 8; #define HEADER_SECONDA 8
HIDDEN const int HEADER_TERZA = 8; // Sarebbero 9 col righello... #define HEADER_TERZA 8
HIDDEN const int HEADER_QUARTA = 13; // 15 col righello... #define HEADER_QUARTA 13
HIDDEN const int HEADER_D1_SECONDA = 8; #define HEADER_D1_SECONDA 8
HIDDEN const int HEADER_D1_TERZA = 8; #define HEADER_D1_TERZA 8
HIDDEN const int HEADER_D1_QUARTA = 14; #define HEADER_D1_QUARTA 14
#define FIRMADIC 2
typedef enum { PRIMA=1, SECONDA, TERZA, QUARTA } PaginaQuadro; typedef enum { PRIMA=1, SECONDA, TERZA, QUARTA } PaginaQuadro;
typedef enum { fisiche, nofisiche } TipoPagina; typedef enum { fisiche, nofisiche } TipoPagina;
@ -115,7 +117,7 @@ class TDicForm : public TForm
virtual void inc_curr_page(); virtual void inc_curr_page();
virtual void next_page(TPrinter& pr); virtual void next_page(TPrinter& pr);
bool _modulaser; // se stampa per modulaser bool _modulaser; // se stampa per modulaser
bool _posiziona; bool _posiziona;
TipoDitta _tipo_ditta; // tipo ditta: normale, estinto, dichiarante TipoDitta _tipo_ditta; // tipo ditta: normale, estinto, dichiarante
int _num_foglio; // numero foglio int _num_foglio; // numero foglio
TString _cofi_dic; // cod.fis. dichiarante TString _cofi_dic; // cod.fis. dichiarante
@ -172,6 +174,7 @@ class TDicForm : public TForm
virtual void azzera_totali(); virtual void azzera_totali();
PaginaQuadro curr_page() const { return _PaginaCorrente; } PaginaQuadro curr_page() const { return _PaginaCorrente; }
// TCursor& cur(); // TCursor& cur();
void firma_dichiarante();
void set_progind(TProgind* prog) { _prog = prog; } void set_progind(TProgind* prog) { _prog = prog; }
TProgind* progind() { return _prog; } TProgind* progind() { return _prog; }

View File

@ -93,10 +93,12 @@ int TDipendenti::fill(TCursor& cur)
const long coddec = dip(d).codice_deceduto(); const long coddec = dip(d).codice_deceduto();
if (coddec > 0) // E' un erede! if (coddec > 0) // E' un erede!
{ {
const int posdec = find(coddec); int posdec = find(coddec);
if (posdec >= 0 && posdec != d-1) // Il deceduto esiste if (posdec >= 0 && posdec != d-1) // Il deceduto esiste
{ {
TDipendente* dipen = (TDipendente*)_data.remove(d, TRUE); 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 dipen->reset_deceduto(); // Non e' piu' un erede
_data.insert(dipen, posdec+1); // Attaccalo dietro al deceduto _data.insert(dipen, posdec+1); // Attaccalo dietro al deceduto
} }
@ -559,6 +561,18 @@ bool TStampaQuadroB::user_create()
// QUADRO H // 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() void TQuadroH::inc_curr_page()
{ {
if (_PaginaCorrente == PRIMA) if (_PaginaCorrente == PRIMA)
@ -681,7 +695,8 @@ bool TStampaQuadroH::user_create()
_form = new TQuadroH("77QH", quadro()); _form = new TQuadroH("77QH", quadro());
TString sortkey(80); 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); _cur = new TSorted_cursor(_form->TForm::relation(), sortkey);
return TRUE; return TRUE;

View File

@ -223,6 +223,7 @@ protected:
virtual int prima_riga(PaginaQuadro p) const; virtual int prima_riga(PaginaQuadro p) const;
virtual bool print(const long codditta, const long NumFis, const long NumNoFis); virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
virtual void inc_curr_page(); virtual void inc_curr_page();
virtual long filtra(const long codditta);
public: public:
TQuadroH(const char* form, const char* quadro) : TQuadroA(form, quadro) { } TQuadroH(const char* form, const char* quadro) : TQuadroA(form, quadro) { }