Correzioni.

MI3562 : aggiunto controllo sulla sezione del conto nella stampa
		   per conti
  MI3568 : corretto retrieve dei giusti estremi rata/fattura (data doc,
		   data operazione, numero op., prot. iva e descrizione)


git-svn-id: svn://10.65.10.50/trunk@4372 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1997-05-22 13:18:23 +00:00
parent 7ef9201c1c
commit 3817090cce

View File

@ -162,7 +162,7 @@ public:
bool in_cache(TString& k); // ritorna vero se ci sono gia' non assegnati in _uns_cache;
void look_in_cache(real& a, real& b, TAssoc_array& uns, TAssoc_array& unsnc, TString& k);
void calcola_unassigned(TString& k);
void calcola_pagamenti(real& imp_scad, int riga, int rata); // calcola i pagamenti effettuati per questa rata e il residuo eventuale
void calcola_pagamenti(real& imp_scad, int riga, int rata, TBill& bill); // calcola i pagamenti effettuati per questa rata e il residuo eventuale
TStampaScadenzario();
};
@ -318,7 +318,7 @@ void TStampaScadenzario::look_in_cache(real& a, real& b, TAssoc_array& uns, TAss
if (unsnc.is_key(k)) b = (real&)unsnc[k];
}
void TStampaScadenzario::calcola_pagamenti(real& imp_scad, int riga, int rata)
void TStampaScadenzario::calcola_pagamenti(real& imp_scad, int riga, int rata, TBill& bill)
{
TAssoc_array& uns = (TAssoc_array&) _uns_cache[0];
TAssoc_array& unsnc = (TAssoc_array&) _uns_cache[1];
@ -348,7 +348,11 @@ void TStampaScadenzario::calcola_pagamenti(real& imp_scad, int riga, int rata)
}
}
char norm = 'D';
if (_tipost == fornitori) norm = 'A';
if (_tipost == fornitori)
norm = 'A';
else
if (_tipost == altri && bill.find())
norm = bill.sezione();
totalep.normalize((norm=='D') ? 'A' : 'D');
scdz.normalize(norm);
_w_imp_pag = totalep.valore();
@ -426,7 +430,7 @@ bool TStampaScadenzario::preprocess_page(int file, int counter)
if (!cs.checked(c->read(_isequal))) // Se non e' stato selezionato salta alla prossima scdz
return FALSE;
*/
const TBill bill(rc);
TBill bill(rc);
if (!_m->selected(bill))
return FALSE;
@ -450,7 +454,7 @@ bool TStampaScadenzario::preprocess_page(int file, int counter)
k << annop << nump;
if (!in_cache(k))
calcola_unassigned(k);
TRiga_partite& row = _p->riga(_p->first());
TRiga_partite& row = _p->riga(nrigap);
_datareg = row.get_date(PART_DATAREG).string(brief);
_datadoc = row.get_date(PART_DATADOC).string(brief);
_numdoc = row.get(PART_NUMDOC);
@ -466,7 +470,7 @@ bool TStampaScadenzario::preprocess_page(int file, int counter)
*_descrizione = _caus->get(CAU_DESCR);
}
}
calcola_pagamenti(imp_scad,nrigap,nratap);
calcola_pagamenti(imp_scad,nrigap,nratap, bill);
if (_w_imp_res == 0.0 && ! _ratesald
|| imp_scad == 0.0) // Se la rata e' stata saldata e non e' abilitato il flag di stampa
return FALSE; // oppure l'importo in scadenza e' 0 allora salta alla prossima scadenza