Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            : Stampa ben. attribuite: riportata la sezione nella intestazione, corretto intestazione campi


git-svn-id: svn://10.65.10.50/trunk@7144 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 1998-09-25 13:16:04 +00:00
parent 46ab4600f0
commit a4b664ff1b

View File

@ -42,7 +42,7 @@ protected:
public: public:
void crea_intestazione(); void crea_intestazione();
void header_ben(const TString16 tipoben); void header_ben(const TString16 tipoben, const TString16 codsez, const TString16 codsot);
void footer_ben(); void footer_ben();
TMask& app_mask() { return *_msk; } TMask& app_mask() { return *_msk; }
TStampaBenemerenze() : _cognome_nome("",35), _dencom("",50) {} TStampaBenemerenze() : _cognome_nome("",35), _dencom("",50) {}
@ -109,14 +109,18 @@ bool TStampaBenemerenze::preprocess_page(int file, int counter)
_dencom = localita; _dencom = localita;
// salto pagina se cambio punto di rottura // salto pagina se cambio punto di rottura
TString16 tiponew = current_cursor()->curr().get(BEN_TIPOBEN); const TString16 tiponew = current_cursor()->curr().get(BEN_TIPOBEN);
if (tiponew != _tipoold ) const TString16 codsez = current_cursor()->curr(LF_SOGGETTI).get(SOG_CODSEZ);
const TString16 codsot = current_cursor()->curr(LF_SOGGETTI).get(SOG_CODSOT);
if ((tiponew != _tipoold) || (_codsez!=codsez) || (_codsot!=codsot))
{ {
if (_tipoold != "**") if (_tipoold != "**")
footer_ben(); footer_ben();
_contatore = 0; _contatore = 0;
_tipoold = tiponew; _tipoold = tiponew;
header_ben(tiponew); _codsez = codsez;
_codsot = codsot;
header_ben(tiponew, _codsez, _codsot);
} }
else else
if (printer().rows_left() < 4) if (printer().rows_left() < 4)
@ -125,7 +129,7 @@ bool TStampaBenemerenze::preprocess_page(int file, int counter)
return TRUE; return TRUE;
} }
void TStampaBenemerenze::header_ben(const TString16 tipoben) void TStampaBenemerenze::header_ben(const TString16 tipoben, const TString16 codsez, const TString16 codsot)
{ {
TString intestazione(132); TString intestazione(132);
intestazione = "BENEMERENZA "; intestazione = "BENEMERENZA ";
@ -133,7 +137,22 @@ void TStampaBenemerenze::header_ben(const TString16 tipoben)
intestazione << " "; intestazione << " ";
intestazione << current_cursor()->curr(-ALIAS_BNZ).get("S0"); intestazione << current_cursor()->curr(-ALIAS_BNZ).get("S0");
intestazione.center_just(132); intestazione.center_just(132);
set_header(2,"@0g%s", (const char*) intestazione); set_header(3,"@0g%s", (const char*) intestazione);
const TString80 densez = current_cursor()->curr(LF_SEZIONI).get(SEZ_DENSEZ);
const TString80 densot = current_cursor()->curr(LF_SEZIONI).get(SEZ_DENSOT);
intestazione = "Sezione: ";
intestazione << codsez;
intestazione << "/";
intestazione << codsot;
intestazione << " ";
intestazione << densez;
if ((densot.ok())&& (densot.not_empty()))
{
intestazione << "/";
intestazione << densot;
}
intestazione.center_just();
set_header(1,"@0g%s", (const char*) intestazione);
return; return;
} }
@ -143,6 +162,8 @@ bool TStampaBenemerenze::set_print(int m)
tasto = _msk->run(); tasto = _msk->run();
if (tasto == K_ENTER) if (tasto == K_ENTER)
{ {
_codsez = "**";
_codsot = "**";
_dataini = _msk->get_date(F_DATAINI); _dataini = _msk->get_date(F_DATAINI);
_datafin = _msk->get_date(F_DATAFIN); _datafin = _msk->get_date(F_DATAFIN);
TRectype da(LF_BENEM); TRectype da(LF_BENEM);
@ -151,7 +172,8 @@ bool TStampaBenemerenze::set_print(int m)
da.put(BEN_DATABEN, _dataini); da.put(BEN_DATABEN, _dataini);
if (_datafin.ok()) if (_datafin.ok())
a.put(BEN_DATABEN, _datafin); a.put(BEN_DATABEN, _datafin);
TString80 chiave = "94->TIPOBEN|UPPER(90->COGNOME)|UPPER(90->NOME)"; //TString80 chiave = "94->TIPOBEN|UPPER(90->COGNOME)|UPPER(90->NOME)";
TString80 chiave = "90->CODSEZ|90->CODSOT|94->TIPOBEN|UPPER(90->COGNOME)|UPPER(90->NOME)";
_cur = add_cursor(new TSorted_cursor(_rel, (const char*) chiave, "", 2, &da, &a)); _cur = add_cursor(new TSorted_cursor(_rel, (const char*) chiave, "", 2, &da, &a));
TString80 filtro = ""; TString80 filtro = "";
// filtro per sezioni // filtro per sezioni
@ -186,16 +208,16 @@ void TStampaBenemerenze::crea_intestazione()
sep << " al "; sep << " al ";
sep << _datafin; sep << _datafin;
sep.center_just(132); sep.center_just(132);
set_header(1,"@0g%s", (const char*) sep); set_header(2,"@0g%s", (const char*) sep);
sep = "Pag. @#"; sep = "Pag. @#";
set_header(1, "@110g%s", (const char*) sep); set_header(2, "@110g%s", (const char*) sep);
sep = ""; sep = "";
sep.fill('-'); sep.fill('-');
set_header(3, (const char *) sep); set_header(4, (const char *) sep);
set_header(4,"@0gCodice@9gC.@12gCognome e nome@38gNato il@49gIndirizzo@100gTelefono abit.@116gTelefono lavoro"); set_header(5,"@0gCodice@9gC.@12gCognome e nome@38gNato il@49gIndirizzo@100gTelefono abit.@116gTelefono lavoro");
set_header(5,"@0gTessera@49gCAP/Località/Comune/Prov.@116gTelefono altro"); set_header(6,"@0gTessera@49gCAP/Località/Comune/Prov.@116gTelefono altro");
set_header(6,"@110gTot.don."); set_header(7,"@100gTot.don.");
set_header(7,"@0g--------@9g--@12g-------------------------@38g----------@49g--------------------------------------------------@100g---------------@116g---------------"); set_header(8,"@0g--------@9g--@12g-------------------------@38g----------@49g--------------------------------------------------@100g---------------@116g---------------");
printer().footerlen(3); printer().footerlen(3);
} }
@ -209,7 +231,7 @@ bool TStampaBenemerenze::user_create()
_rel->add(LF_COMUNI, "COM==RES_CODCOM",1,LF_SOGGETTI,ALIAS_COMRES); _rel->add(LF_COMUNI, "COM==RES_CODCOM",1,LF_SOGGETTI,ALIAS_COMRES);
_rel->add(LF_COMUNI, "COM==DOM_CODCOM",1,LF_SOGGETTI,ALIAS_COMDOM); _rel->add(LF_COMUNI, "COM==DOM_CODCOM",1,LF_SOGGETTI,ALIAS_COMDOM);
_rel->add(LF_COMUNI, "COM==COMNASC",1,LF_SOGGETTI,ALIAS_COMNAS); _rel->add(LF_COMUNI, "COM==COMNASC",1,LF_SOGGETTI,ALIAS_COMNAS);
_rel->add(LF_SEZIONI, "CODSEZ==CODSEZ|CODSOT==CODSOT");
_msk = new TMask("at1300a"); _msk = new TMask("at1300a");
TConfig config(CONFIG_STUDIO); TConfig config(CONFIG_STUDIO);
_stampa80 = config.get_bool("Stampa80"); _stampa80 = config.get_bool("Stampa80");