Patch level : 1.7 at

Files correlati     : at2.exe
Ricompilazione Demo : [ ]
Commento            : Corretto funzionamento stampa per frequenza donazione, sbagliava se non mettevi la data iniziale


git-svn-id: svn://10.65.10.50/trunk@12548 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 2004-12-15 09:44:10 +00:00
parent 9304a14d92
commit d9cf696369

View File

@ -206,6 +206,9 @@ bool TFrequenza::filter_func_freq(const TRelation* rel)
numdon = sog.get_int(SOG_TOTDON); numdon = sog.get_int(SOG_TOTDON);
else else
{ {
const TDate datanulla(NULLDATE);
if (app()._dataini == datanulla)
numdon = sog.get_int(SOG_DONPRECSI) + sog.get_int(SOG_DONPRECAF);
const long codice = sog.get_long(SOG_CODICE); const long codice = sog.get_long(SOG_CODICE);
TRectype* key = new TRectype(LF_DONAZ); TRectype* key = new TRectype(LF_DONAZ);
key->put(DON_CODICE, codice); key->put(DON_CODICE, codice);
@ -216,7 +219,7 @@ bool TFrequenza::filter_func_freq(const TRelation* rel)
{ {
const TRectype& riga = app()._sdonazioni->row(r); const TRectype& riga = app()._sdonazioni->row(r);
TDate datadon = riga.get_date(DON_DATADON); TDate datadon = riga.get_date(DON_DATADON);
if ((datadon>=app()._dataini || !app()._dataini.ok()) && (datadon<=app()._datafin || !app()._datafin.ok())) if ((datadon>=app()._dataini) && (datadon<=app()._datafin))
{ {
TString16 tipodon = riga.get(DON_TIPODON); TString16 tipodon = riga.get(DON_TIPODON);
if ((app()._tipodon.empty()) || (app()._tipodon1 == tipodon) || (app()._tipodon2 == tipodon) || (app()._tipodon3 == tipodon) || (app()._tipodon4 == tipodon) || (app()._tipodon5 == tipodon)) if ((app()._tipodon.empty()) || (app()._tipodon1 == tipodon) || (app()._tipodon2 == tipodon) || (app()._tipodon3 == tipodon) || (app()._tipodon4 == tipodon) || (app()._tipodon5 == tipodon))
@ -272,6 +275,8 @@ bool TFrequenza::preprocess_page(int file, int counter)
{ {
int numdon = 0; int numdon = 0;
TDate dataultdon(NULLDATE); TDate dataultdon(NULLDATE);
if (app()._dataini == dataultdon) // se datainiziale vuota
numdon = recsog.get_int(SOG_DONPRECSI)+recsog.get_int(SOG_DONPRECAF);
if (_ctrltotale) if (_ctrltotale)
{ {
numdon = recsog.get_int(SOG_TOTDON); numdon = recsog.get_int(SOG_TOTDON);
@ -455,10 +460,13 @@ bool TFrequenza::set_print(int m)
_tipodon5 = _msk->get(F_TIPODON5); _tipodon5 = _msk->get(F_TIPODON5);
_tipodon = _tipodon1; _tipodon = _tipodon1;
_tipodon << _tipodon2 << _tipodon3 << _tipodon4 << _tipodon5; _tipodon << _tipodon2 << _tipodon3 << _tipodon4 << _tipodon5;
if ((_tipodon.empty()) && (!_dataini.ok()) && (!_datafin.ok())) const TDate datanulla(NULLDATE);
if ((_tipodon.empty()) && (_dataini == datanulla) && (_datafin == datanulla))
_ctrltotale = TRUE; _ctrltotale = TRUE;
else else
_ctrltotale = FALSE; _ctrltotale = FALSE;
if (_datafin == datanulla)
_datafin = TODAY;
_categorie.destroy(); _categorie.destroy();
const TString16 catpri = _msk->get(F_CAT1); const TString16 catpri = _msk->get(F_CAT1);
const TString16 catsec = _msk->get(F_CAT2); const TString16 catsec = _msk->get(F_CAT2);
@ -532,9 +540,7 @@ void TFrequenza::crea_intestazione()
sep << ' ' << _tipodon4; sep << ' ' << _tipodon4;
if (_tipodon5.not_empty()) if (_tipodon5.not_empty())
sep << ' ' << _tipodon5; sep << ' ' << _tipodon5;
if (_dataini.ok())
sep << " DAL " << _dataini.string(); sep << " DAL " << _dataini.string();
if (_datafin.ok())
sep << " AL " << _datafin.string(); sep << " AL " << _datafin.string();
if (_stampa80) if (_stampa80)
sep.center_just(80); sep.center_just(80);