Patch level :
Files correlati : sv2.exe Ricompilazione Demo : [ ] Commento : Ottimizzato ricalcolo statistiche (6x) git-svn-id: svn://10.65.10.50/branches/R_10_00@22472 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
86f42becf9
commit
92aff241e4
@ -45,8 +45,8 @@ void TRicalcolo_stats::on_config_change()
|
||||
|
||||
bool TRicalcolo_stats::kill_stats(const TDate& dfr, const TDate& dto)
|
||||
{
|
||||
TRelation rel(LF_SVRIEP);
|
||||
|
||||
TFast_isamfile fdoc(LF_SVRIEP);
|
||||
TRelation rel(LF_SVRIEP);
|
||||
TRectype recfrom(LF_SVRIEP), recto(LF_SVRIEP);
|
||||
|
||||
if (dfr.ok())
|
||||
@ -62,7 +62,7 @@ bool TRicalcolo_stats::kill_stats(const TDate& dfr, const TDate& dto)
|
||||
|
||||
TCursor cur(&rel, "", 1, &recfrom, &recto);
|
||||
const long items = cur.items();
|
||||
TProgind pi(items, TR("Azzeramento statistiche"), FALSE, TRUE);
|
||||
TProgind pi(items, TR("Azzeramento statistiche"), false, true);
|
||||
cur.freeze();
|
||||
|
||||
for (cur = 0; cur.pos() < items; ++cur)
|
||||
@ -72,11 +72,11 @@ bool TRicalcolo_stats::kill_stats(const TDate& dfr, const TDate& dto)
|
||||
if (err != NOERR)
|
||||
{
|
||||
error_box(FR("Errore %d durante l'azzeramento archivi"), err);
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
void TRicalcolo_stats::calcola_data_minima()
|
||||
@ -116,6 +116,8 @@ void TRicalcolo_stats::calcola_data_minima()
|
||||
|
||||
void TRicalcolo_stats::calc_stats(const TDate& dfr, const TDate& dto)
|
||||
{
|
||||
TFast_isamfile fdoc(LF_DOC);
|
||||
|
||||
TRectype recfrom(LF_DOC), recto(LF_DOC);
|
||||
if (dfr.ok())
|
||||
{
|
||||
@ -129,16 +131,14 @@ void TRicalcolo_stats::calc_stats(const TDate& dfr, const TDate& dto)
|
||||
}
|
||||
|
||||
TRelation rel(LF_DOC);
|
||||
const TRectype& curr = rel.curr();
|
||||
|
||||
TCursor cur(&rel, "PROVV='D'", 3, &recfrom, &recto);
|
||||
const long items = cur.items();
|
||||
cur.freeze();
|
||||
|
||||
TProgind pi(items, TR("Ricalcolo statistiche"), FALSE, TRUE);
|
||||
|
||||
TDocumento* curr = new TDocumento;
|
||||
cur.file().set_curr(curr);
|
||||
const TDocumento& doc = *curr;
|
||||
|
||||
TProgind pi(items, TR("Ricalcolo statistiche"), false, true);
|
||||
|
||||
long records = 0;
|
||||
_agg.reset();
|
||||
|
||||
@ -146,10 +146,12 @@ void TRicalcolo_stats::calc_stats(const TDate& dfr, const TDate& dto)
|
||||
{
|
||||
pi.addstatus(1);
|
||||
|
||||
const TTipo_documento& tipodoc = doc.tipo();
|
||||
const TTipo_documento& tipodoc = cached_tipodoc(curr.get(DOC_TIPODOC));
|
||||
if (!tipodoc.statistiche())
|
||||
continue;
|
||||
|
||||
|
||||
const TDocumento doc(rel.curr());
|
||||
|
||||
const bool nota_cr = tipodoc.nota_credito();
|
||||
for (int r = doc.physical_rows(); r > 0; r--)
|
||||
{
|
||||
@ -177,7 +179,7 @@ bool TRicalcolo_stats::datein_handler(TMask_field& f, KEY k)
|
||||
if (inizio < _datamin)
|
||||
return f.error_box(FR("Impossibile effettuare la ricostruzione statistiche\nad una data antecedente il %s"), _datamin.string());
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
void TRicalcolo_stats::main_loop()
|
||||
|
@ -570,13 +570,12 @@ bool TStats_agg::empty()
|
||||
|
||||
bool TStats_agg::update()
|
||||
{
|
||||
|
||||
test_firm();
|
||||
|
||||
bool ok = TRUE;
|
||||
|
||||
TToken_string key(64);
|
||||
TLocalisamfile stat(LF_SVRIEP);
|
||||
TFast_isamfile stat(LF_SVRIEP);
|
||||
stat.set_curr(new TSVriep_record);
|
||||
|
||||
TRectype& curr = stat.curr();
|
||||
|
Loading…
x
Reference in New Issue
Block a user