77qd1.frm Aggiunte due X per le ritenute nella testata
77stq.cpp Sistemata separazione tra diverse ritenute del quadro D1 77stqab.cpp Tolta riga inutile nella calcola firma git-svn-id: svn://10.65.10.50/trunk@3745 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
bc3439e40f
commit
4232961968
@ -170,6 +170,18 @@ BEGIN
|
|||||||
PROMPT 125 22 ""
|
PROMPT 125 22 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGA 21
|
||||||
|
BEGIN
|
||||||
|
KEY "Ritenuta d'acconto"
|
||||||
|
PROMPT 110 21 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 22
|
||||||
|
BEGIN
|
||||||
|
KEY "Ritenuta d'imposta"
|
||||||
|
PROMPT 110 22 ""
|
||||||
|
END
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
SECTION BODY ODD 6
|
SECTION BODY ODD 6
|
||||||
|
130
m770/77stq.cpp
130
m770/77stq.cpp
@ -589,7 +589,7 @@ void TDicForm::jump_to_line(TPrinter& pr, const int lin)
|
|||||||
void TDicForm::stampa_totali(TPrinter& pr)
|
void TDicForm::stampa_totali(TPrinter& pr)
|
||||||
{
|
{
|
||||||
TPrint_section& totali = section('F', last_page);
|
TPrint_section& totali = section('F', last_page);
|
||||||
totali.update();
|
totali.update();
|
||||||
for (int i = 0; i < totali.items(); i++)
|
for (int i = 0; i < totali.items(); i++)
|
||||||
{
|
{
|
||||||
pr.print(totali.row(i));
|
pr.print(totali.row(i));
|
||||||
@ -702,7 +702,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) {}
|
||||||
@ -2223,14 +2223,14 @@ bool TQuadroD1::controlla_percentuale(TCursor* cur, const real& perc_p)
|
|||||||
|
|
||||||
void TQuadroD1::leggi_importi()
|
void TQuadroD1::leggi_importi()
|
||||||
{
|
{
|
||||||
TCursor* cur = cursor();
|
TRectype& cur = cursor()->curr();
|
||||||
|
|
||||||
_totale = cur->curr().get_real(QD1_TOTALE);
|
_totale = cur.get_real(QD1_TOTALE);
|
||||||
_quotapro = cur->curr().get_real(QD1_QUOTAPRO);
|
_quotapro = cur.get_real(QD1_QUOTAPRO);
|
||||||
_speseant = cur->curr().get_real(QD1_SPESEANT);
|
_speseant = cur.get_real(QD1_SPESEANT);
|
||||||
_imponibile = cur->curr().get_real(QD1_IMPONIBILE);
|
_imponibile = cur.get_real(QD1_IMPONIBILE);
|
||||||
_importo = cur->curr().get_real(QD1_IMPORTO);
|
_importo = cur.get_real(QD1_IMPORTO);
|
||||||
_netto = cur->curr().get_real(QD1_NETTO);
|
_netto = cur.get_real(QD1_NETTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TQuadroD1::setta_importi(TPrint_section& body)
|
void TQuadroD1::setta_importi(TPrint_section& body)
|
||||||
@ -2315,6 +2315,8 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
|||||||
{
|
{
|
||||||
bool StabilitaInesistenzaNoFis = FALSE;
|
bool StabilitaInesistenzaNoFis = FALSE;
|
||||||
bool StabilitaInesistenzaFis = FALSE;
|
bool StabilitaInesistenzaFis = FALSE;
|
||||||
|
bool StampatoRitenutaImposta = FALSE;
|
||||||
|
|
||||||
long CtrFis = NumFis;
|
long CtrFis = NumFis;
|
||||||
long CtrNoFis = NumNoFis;
|
long CtrNoFis = NumNoFis;
|
||||||
long PtrFis = -1L, PtrNoFis=-1L;
|
long PtrFis = -1L, PtrNoFis=-1L;
|
||||||
@ -2338,22 +2340,35 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
|||||||
{
|
{
|
||||||
for (int pagina=1; pagina <= QD_PAGINE; pagina++, next_page(pr))
|
for (int pagina=1; pagina <= QD_PAGINE; pagina++, next_page(pr))
|
||||||
{
|
{
|
||||||
pr.formlen(QD_FORMLEN);
|
pr.formlen(dic_form_len());
|
||||||
|
|
||||||
if (_PaginaCorrente == PRIMA)
|
if (_PaginaCorrente == PRIMA)
|
||||||
{
|
{
|
||||||
if (_modulaser) ClearFlagModulaser();
|
if (_modulaser) ClearFlagModulaser();
|
||||||
|
|
||||||
bool testata = TRUE;
|
|
||||||
for (int righe=0; righe < QD1_RIGHE_PRIMA; righe++)
|
for (int righe=0; righe < QD1_RIGHE_PRIMA; righe++)
|
||||||
{
|
{
|
||||||
stampa = TRUE;
|
stampa = TRUE;
|
||||||
// Stampa intestazione, solo sul primo foglio.
|
// Stampa intestazione, solo sul primo foglio.
|
||||||
if (testata)
|
if (righe == 0)
|
||||||
{
|
{
|
||||||
(*cur) = PtrFis >= 0L ? PtrFis : 0L;
|
(*cur) = PtrFis >= 0L ? PtrFis : 0L;
|
||||||
|
|
||||||
|
const char tipo = cur->curr().get(QD1_TIPOA)[0];
|
||||||
|
TPrint_section& head = section('H', first_page);
|
||||||
|
if (tipo == 'F')
|
||||||
|
{
|
||||||
|
const bool rit_acc = cur->curr(-14).get_bool("B0");
|
||||||
|
head.find_field(21).set(rit_acc ? "X" : "");
|
||||||
|
head.find_field(22).set(rit_acc ? "" : "X");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
head.find_field(21).set("");
|
||||||
|
head.find_field(22).set("");
|
||||||
|
}
|
||||||
|
|
||||||
stampa_testata(pr);
|
stampa_testata(pr);
|
||||||
testata = FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_finite_fis || StabilitaInesistenzaFis)
|
if (_finite_fis || StabilitaInesistenzaFis)
|
||||||
@ -2388,17 +2403,23 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
|||||||
(*cur) = PtrFis;
|
(*cur) = PtrFis;
|
||||||
const char tipo = cur->curr().get(QD1_TIPOA)[0];
|
const char tipo = cur->curr().get(QD1_TIPOA)[0];
|
||||||
|
|
||||||
if (tipo != 'F')
|
if (tipo == 'F')
|
||||||
break;
|
{
|
||||||
else
|
const bool rit_imp = !cur->curr(-14).get_bool("B0");
|
||||||
{
|
if (righe > 0 && rit_imp && !StampatoRitenutaImposta)
|
||||||
|
break;
|
||||||
|
|
||||||
CtrFis--;
|
CtrFis--;
|
||||||
if (CtrFis == 0L) _finite_fis = TRUE;
|
if (CtrFis == 0L) _finite_fis = TRUE;
|
||||||
|
|
||||||
real perc_p = cur->curr().get_real(QD1_PERC);
|
real perc_p = cur->curr().get_real(QD1_PERC);
|
||||||
stampa = controlla_percentuale(cur,perc_p);
|
stampa = controlla_percentuale(cur,perc_p);
|
||||||
if (stampa)
|
if (stampa)
|
||||||
|
{
|
||||||
set_body(pr, 'F');
|
set_body(pr, 'F');
|
||||||
|
if (rit_imp)
|
||||||
|
StampatoRitenutaImposta = TRUE;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
leggi_importi();
|
leggi_importi();
|
||||||
@ -2414,6 +2435,8 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
|||||||
LastRecord = cur->pos() >= _Items-1;
|
LastRecord = cur->pos() >= _Items-1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
break;
|
||||||
} // for righe..
|
} // for righe..
|
||||||
PtrFis = cur->pos();
|
PtrFis = cur->pos();
|
||||||
}
|
}
|
||||||
@ -2439,17 +2462,23 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
|||||||
(*cur) = PtrFis;
|
(*cur) = PtrFis;
|
||||||
const char tipo = cur->curr().get(QD1_TIPOA)[0];
|
const char tipo = cur->curr().get(QD1_TIPOA)[0];
|
||||||
|
|
||||||
if (tipo != 'F')
|
if (tipo == 'F')
|
||||||
break;
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
|
const bool rit_imp = !cur->curr(-14).get_bool("B0");
|
||||||
|
if (rit_imp && !StampatoRitenutaImposta)
|
||||||
|
break;
|
||||||
|
|
||||||
CtrFis--;
|
CtrFis--;
|
||||||
if (CtrFis == 0L) _finite_fis = TRUE;
|
if (CtrFis == 0L) _finite_fis = TRUE;
|
||||||
|
|
||||||
real perc_p = cur->curr().get_real(QD1_PERC);
|
real perc_p = cur->curr().get_real(QD1_PERC);
|
||||||
stampa = controlla_percentuale(cur,perc_p);
|
stampa = controlla_percentuale(cur,perc_p);
|
||||||
if (stampa)
|
if (stampa)
|
||||||
|
{
|
||||||
set_body(pr, 'F');
|
set_body(pr, 'F');
|
||||||
|
if (rit_imp)
|
||||||
|
StampatoRitenutaImposta = TRUE;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
leggi_importi();
|
leggi_importi();
|
||||||
@ -2464,6 +2493,8 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
|||||||
LastRecord = cur->pos() >= _Items-1;
|
LastRecord = cur->pos() >= _Items-1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
PtrFis = cur->pos();
|
PtrFis = cur->pos();
|
||||||
}
|
}
|
||||||
@ -2487,17 +2518,22 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
|||||||
(*cur) = PtrFis;
|
(*cur) = PtrFis;
|
||||||
const char tipo = cur->curr().get(QD1_TIPOA)[0];
|
const char tipo = cur->curr().get(QD1_TIPOA)[0];
|
||||||
|
|
||||||
if (tipo != 'F')
|
if (tipo == 'F')
|
||||||
break;
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
|
const bool rit_imp = !cur->curr(-14).get_bool("B0");
|
||||||
|
if (rit_imp && !StampatoRitenutaImposta)
|
||||||
|
break;
|
||||||
CtrFis--;
|
CtrFis--;
|
||||||
if (CtrFis == 0L) _finite_fis = TRUE;
|
if (CtrFis == 0L) _finite_fis = TRUE;
|
||||||
|
|
||||||
real perc_p = cur->curr().get_real(QD1_PERC);
|
real perc_p = cur->curr().get_real(QD1_PERC);
|
||||||
stampa = controlla_percentuale(cur,perc_p);
|
stampa = controlla_percentuale(cur,perc_p);
|
||||||
if (stampa)
|
if (stampa)
|
||||||
|
{
|
||||||
set_body(pr, 'F');
|
set_body(pr, 'F');
|
||||||
|
if (rit_imp)
|
||||||
|
StampatoRitenutaImposta = TRUE;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
leggi_importi();
|
leggi_importi();
|
||||||
@ -2513,6 +2549,8 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
|||||||
LastRecord = cur->pos() >= _Items-1;
|
LastRecord = cur->pos() >= _Items-1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
PtrFis = cur->pos();
|
PtrFis = cur->pos();
|
||||||
}
|
}
|
||||||
@ -2629,7 +2667,7 @@ bool TStampaQuadroD1::user_create()
|
|||||||
_form = new TQuadroD1("77QD1", quadro());
|
_form = new TQuadroD1("77QD1", quadro());
|
||||||
|
|
||||||
TString sortkey(80);
|
TString sortkey(80);
|
||||||
sortkey.format("CODDITTA|TIPOA|216@->RAGSOC|CODANAGR|CODCAUS|PERC", LF_QUAD1, LF_QUAD1);
|
sortkey.format("CODDITTA|TIPOA|14@->B0-|216@->RAGSOC|CODANAGR|CODCAUS|PERC");
|
||||||
_cur = new TSorted_cursor(_form->TForm::relation(), sortkey);
|
_cur = new TSorted_cursor(_form->TForm::relation(), sortkey);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -3170,7 +3208,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);
|
||||||
@ -3736,9 +3774,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;
|
||||||
@ -3767,29 +3805,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);
|
||||||
}
|
}
|
||||||
|
@ -170,11 +170,9 @@ int TQuadroA::calcola_firma()
|
|||||||
TString nome = cognome.mid(30, -1);
|
TString nome = cognome.mid(30, -1);
|
||||||
cognome.cut(30); cognome.trim();
|
cognome.cut(30); cognome.trim();
|
||||||
cognome << ' ' << nome;
|
cognome << ' ' << nome;
|
||||||
signature.set(cognome);
|
|
||||||
|
|
||||||
totali.row(y).reset();
|
|
||||||
totali.row(y).put(cognome, signature.x()-1);
|
|
||||||
}
|
}
|
||||||
|
totali.row(y).reset();
|
||||||
|
totali.row(y).put(cognome, signature.x()-1);
|
||||||
|
|
||||||
return y;
|
return y;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user