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 ""
|
||||
END
|
||||
|
||||
STRINGA 21
|
||||
BEGIN
|
||||
KEY "Ritenuta d'acconto"
|
||||
PROMPT 110 21 ""
|
||||
END
|
||||
|
||||
STRINGA 22
|
||||
BEGIN
|
||||
KEY "Ritenuta d'imposta"
|
||||
PROMPT 110 22 ""
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
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)
|
||||
{
|
||||
TPrint_section& totali = section('F', last_page);
|
||||
totali.update();
|
||||
totali.update();
|
||||
for (int i = 0; i < totali.items(); i++)
|
||||
{
|
||||
pr.print(totali.row(i));
|
||||
@ -702,7 +702,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) {}
|
||||
@ -2223,14 +2223,14 @@ bool TQuadroD1::controlla_percentuale(TCursor* cur, const real& perc_p)
|
||||
|
||||
void TQuadroD1::leggi_importi()
|
||||
{
|
||||
TCursor* cur = cursor();
|
||||
TRectype& cur = cursor()->curr();
|
||||
|
||||
_totale = cur->curr().get_real(QD1_TOTALE);
|
||||
_quotapro = cur->curr().get_real(QD1_QUOTAPRO);
|
||||
_speseant = cur->curr().get_real(QD1_SPESEANT);
|
||||
_imponibile = cur->curr().get_real(QD1_IMPONIBILE);
|
||||
_importo = cur->curr().get_real(QD1_IMPORTO);
|
||||
_netto = cur->curr().get_real(QD1_NETTO);
|
||||
_totale = cur.get_real(QD1_TOTALE);
|
||||
_quotapro = cur.get_real(QD1_QUOTAPRO);
|
||||
_speseant = cur.get_real(QD1_SPESEANT);
|
||||
_imponibile = cur.get_real(QD1_IMPONIBILE);
|
||||
_importo = cur.get_real(QD1_IMPORTO);
|
||||
_netto = cur.get_real(QD1_NETTO);
|
||||
}
|
||||
|
||||
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 StabilitaInesistenzaFis = FALSE;
|
||||
bool StampatoRitenutaImposta = FALSE;
|
||||
|
||||
long CtrFis = NumFis;
|
||||
long CtrNoFis = NumNoFis;
|
||||
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))
|
||||
{
|
||||
pr.formlen(QD_FORMLEN);
|
||||
|
||||
pr.formlen(dic_form_len());
|
||||
|
||||
if (_PaginaCorrente == PRIMA)
|
||||
{
|
||||
if (_modulaser) ClearFlagModulaser();
|
||||
|
||||
bool testata = TRUE;
|
||||
for (int righe=0; righe < QD1_RIGHE_PRIMA; righe++)
|
||||
{
|
||||
stampa = TRUE;
|
||||
// Stampa intestazione, solo sul primo foglio.
|
||||
if (testata)
|
||||
if (righe == 0)
|
||||
{
|
||||
(*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);
|
||||
testata = FALSE;
|
||||
}
|
||||
|
||||
if (_finite_fis || StabilitaInesistenzaFis)
|
||||
@ -2388,17 +2403,23 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
||||
(*cur) = PtrFis;
|
||||
const char tipo = cur->curr().get(QD1_TIPOA)[0];
|
||||
|
||||
if (tipo != 'F')
|
||||
break;
|
||||
else
|
||||
{
|
||||
if (tipo == 'F')
|
||||
{
|
||||
const bool rit_imp = !cur->curr(-14).get_bool("B0");
|
||||
if (righe > 0 && rit_imp && !StampatoRitenutaImposta)
|
||||
break;
|
||||
|
||||
CtrFis--;
|
||||
if (CtrFis == 0L) _finite_fis = TRUE;
|
||||
|
||||
real perc_p = cur->curr().get_real(QD1_PERC);
|
||||
stampa = controlla_percentuale(cur,perc_p);
|
||||
if (stampa)
|
||||
{
|
||||
set_body(pr, 'F');
|
||||
if (rit_imp)
|
||||
StampatoRitenutaImposta = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
leggi_importi();
|
||||
@ -2414,6 +2435,8 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
||||
LastRecord = cur->pos() >= _Items-1;
|
||||
}
|
||||
}
|
||||
else
|
||||
break;
|
||||
} // for righe..
|
||||
PtrFis = cur->pos();
|
||||
}
|
||||
@ -2439,17 +2462,23 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
||||
(*cur) = PtrFis;
|
||||
const char tipo = cur->curr().get(QD1_TIPOA)[0];
|
||||
|
||||
if (tipo != 'F')
|
||||
break;
|
||||
else
|
||||
if (tipo == 'F')
|
||||
{
|
||||
const bool rit_imp = !cur->curr(-14).get_bool("B0");
|
||||
if (rit_imp && !StampatoRitenutaImposta)
|
||||
break;
|
||||
|
||||
CtrFis--;
|
||||
if (CtrFis == 0L) _finite_fis = TRUE;
|
||||
|
||||
real perc_p = cur->curr().get_real(QD1_PERC);
|
||||
stampa = controlla_percentuale(cur,perc_p);
|
||||
if (stampa)
|
||||
{
|
||||
set_body(pr, 'F');
|
||||
if (rit_imp)
|
||||
StampatoRitenutaImposta = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
leggi_importi();
|
||||
@ -2464,6 +2493,8 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
||||
LastRecord = cur->pos() >= _Items-1;
|
||||
}
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
PtrFis = cur->pos();
|
||||
}
|
||||
@ -2487,17 +2518,22 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
||||
(*cur) = PtrFis;
|
||||
const char tipo = cur->curr().get(QD1_TIPOA)[0];
|
||||
|
||||
if (tipo != 'F')
|
||||
break;
|
||||
else
|
||||
if (tipo == 'F')
|
||||
{
|
||||
const bool rit_imp = !cur->curr(-14).get_bool("B0");
|
||||
if (rit_imp && !StampatoRitenutaImposta)
|
||||
break;
|
||||
CtrFis--;
|
||||
if (CtrFis == 0L) _finite_fis = TRUE;
|
||||
|
||||
real perc_p = cur->curr().get_real(QD1_PERC);
|
||||
stampa = controlla_percentuale(cur,perc_p);
|
||||
if (stampa)
|
||||
{
|
||||
set_body(pr, 'F');
|
||||
if (rit_imp)
|
||||
StampatoRitenutaImposta = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
leggi_importi();
|
||||
@ -2513,6 +2549,8 @@ bool TQuadroD1::print(const long codditta, const long NumFis, const long NumNoFi
|
||||
LastRecord = cur->pos() >= _Items-1;
|
||||
}
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
PtrFis = cur->pos();
|
||||
}
|
||||
@ -2629,7 +2667,7 @@ bool TStampaQuadroD1::user_create()
|
||||
_form = new TQuadroD1("77QD1", quadro());
|
||||
|
||||
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);
|
||||
|
||||
return TRUE;
|
||||
@ -3170,7 +3208,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);
|
||||
@ -3736,9 +3774,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;
|
||||
@ -3767,29 +3805,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);
|
||||
}
|
||||
|
@ -170,11 +170,9 @@ int TQuadroA::calcola_firma()
|
||||
TString nome = cognome.mid(30, -1);
|
||||
cognome.cut(30); cognome.trim();
|
||||
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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user