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
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
return y;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user