Corretta stampa firme

git-svn-id: svn://10.65.10.50/trunk@3721 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-10-07 16:10:27 +00:00
parent aa4c2968bc
commit 4211510000
2 changed files with 689 additions and 662 deletions

View File

@ -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;

View File

@ -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);