Corretta stampa firme
git-svn-id: svn://10.65.10.50/trunk@3721 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
aa4c2968bc
commit
4211510000
@ -11,10 +11,10 @@ TDipendente::TDipendente(const TCursor& cur)
|
||||
const TRectype& rec = cur.curr();
|
||||
const TRectype& dip = cur.curr(LF_DIPEND);
|
||||
|
||||
_codice_ditta = rec.get_long("CODDITTA");
|
||||
_ragsoc = dip.get("COGNOME"); _ragsoc << ' ' << dip.get("NOME");
|
||||
_codice_deceduto = dip.get_long("CODDIPDEC");
|
||||
_codice_dipendente = rec.get_long("CODDIP");
|
||||
_codice_ditta = rec.get_long("CODDITTA");
|
||||
_ragsoc = dip.get("COGNOME"); _ragsoc << ' ' << dip.get("NOME");
|
||||
_codice_deceduto = dip.get_long("CODDIPDEC");
|
||||
_codice_dipendente = rec.get_long("CODDIP");
|
||||
|
||||
if (rec.num() == LF_QUAA)
|
||||
{
|
||||
@ -147,7 +147,6 @@ void TQuadroA::stampa_corpo(TPrinter& pr)
|
||||
body.reset();
|
||||
body.update();
|
||||
|
||||
// const int body_righe = body.height();
|
||||
for (int i = 0; i < body_righe; i++)
|
||||
{
|
||||
pr.print(body.row(i));
|
||||
@ -159,11 +158,35 @@ void TQuadroA::stampa_corpo(TPrinter& pr)
|
||||
}
|
||||
|
||||
|
||||
int TQuadroA::calcola_firma()
|
||||
{
|
||||
TPrint_section& totali = section('F', last_page);
|
||||
TForm_item& signature = totali.find_field(2);
|
||||
const int y = signature.y();
|
||||
|
||||
TString cognome = signature.get();
|
||||
if (cognome.len() > 30 && cognome[29] == ' ')
|
||||
{
|
||||
TString nome = cognome.mid(30, -1);
|
||||
cognome.cut(30); cognome.trim();
|
||||
cognome << ' ' << nome;
|
||||
signature.set(cognome);
|
||||
|
||||
totali.row(y-1).reset();
|
||||
totali.row(y-1).put(cognome, signature.x()-1);
|
||||
}
|
||||
|
||||
return y;
|
||||
}
|
||||
|
||||
void TQuadroA::stampa_totali(TPrinter& pr)
|
||||
{
|
||||
TPrint_section& totali = section('F', last_page);
|
||||
totali.update();
|
||||
for (int i = 0; i < totali.items(); i++)
|
||||
|
||||
const int lasty = calcola_firma();
|
||||
|
||||
for (int i = 0; i <= lasty; i++)
|
||||
{
|
||||
pr.print(totali.row(i));
|
||||
_RigaCorr++;
|
||||
@ -175,11 +198,11 @@ void TQuadroA::stampa_firma(TPrinter& pr)
|
||||
TPrint_section& totali = section('F', last_page);
|
||||
totali.update();
|
||||
|
||||
TForm_item& signature = totali.find_field(2);
|
||||
const int lasty = signature.y();
|
||||
const int lasty = calcola_firma();
|
||||
|
||||
TPrintrow empty;
|
||||
|
||||
for (int i = 0; i < totali.items(); i++)
|
||||
for (int i = 0; i <= lasty; i++)
|
||||
{
|
||||
if (i < lasty)
|
||||
pr.print(empty);
|
||||
@ -402,7 +425,7 @@ int TQuadroA1::prima_riga(PaginaQuadro p) const
|
||||
long TQuadroA1::filtra(const long codditta)
|
||||
{
|
||||
TString filtr(32);
|
||||
filtr.format("CODDITTA=%ld|ANNORIF=1995", codditta);
|
||||
filtr.format("(CODDITTA=%ld)&&(ANNORIF=1995)", codditta);
|
||||
|
||||
cursor()->setfilter(filtr, TRUE);
|
||||
const long items = cursor()->items();
|
||||
@ -631,12 +654,15 @@ bool TQuadroH::print(const long codditta, const long NumFis, const long NumNoFis
|
||||
stampa_totali(pr);
|
||||
stampati_totali = TRUE;
|
||||
}
|
||||
else
|
||||
stampa_firma(pr);
|
||||
|
||||
next_page(pr);
|
||||
elementi = 0;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
CHECK(0, "Invalid Quadro A page");
|
||||
CHECK(0, "Invalid Quadro H page");
|
||||
break;
|
||||
}
|
||||
|
||||
@ -654,7 +680,7 @@ bool TStampaQuadroH::user_create()
|
||||
_form = new TQuadroH("77QH", quadro());
|
||||
|
||||
TString sortkey(80);
|
||||
sortkey.format("CODDITTA|H1ANNO|H1ENTE", LF_QUAH, LF_QUAH);
|
||||
sortkey.format("CODDITTA|H1ANNO|H1ENTE");
|
||||
_cur = new TSorted_cursor(_form->TForm::relation(), sortkey);
|
||||
|
||||
return TRUE;
|
||||
|
@ -75,6 +75,7 @@ protected:
|
||||
|
||||
virtual void preprocess_corpo(const TRectype& rec);
|
||||
|
||||
int calcola_firma();
|
||||
void stampa_corpo(TPrinter& pr);
|
||||
void stampa_totali(TPrinter& pr);
|
||||
void stampa_firma(TPrinter& pr);
|
||||
@ -217,7 +218,7 @@ class TQuadroH : public TQuadroA
|
||||
enum { QH_FORMLEN = 72 };
|
||||
|
||||
protected:
|
||||
virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; }
|
||||
virtual bool ultima_pagina() const { return _PaginaCorrente==SECONDA; }
|
||||
virtual int elementi_pagina(PaginaQuadro p) const;
|
||||
virtual int prima_riga(PaginaQuadro p) const;
|
||||
virtual bool print(const long codditta, const long NumFis, const long NumNoFis);
|
||||
|
Loading…
x
Reference in New Issue
Block a user