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; 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 look_in_cache(real& a, real& b, TAssoc_array& uns, TAssoc_array& unsnc, TString& k);
void calcola_unassigned(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(); 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]; 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& uns = (TAssoc_array&) _uns_cache[0];
TAssoc_array& unsnc = (TAssoc_array&) _uns_cache[1]; 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'; 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'); totalep.normalize((norm=='D') ? 'A' : 'D');
scdz.normalize(norm); scdz.normalize(norm);
_w_imp_pag = totalep.valore(); _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 if (!cs.checked(c->read(_isequal))) // Se non e' stato selezionato salta alla prossima scdz
return FALSE; return FALSE;
*/ */
const TBill bill(rc); TBill bill(rc);
if (!_m->selected(bill)) if (!_m->selected(bill))
return FALSE; return FALSE;
@ -450,7 +454,7 @@ bool TStampaScadenzario::preprocess_page(int file, int counter)
k << annop << nump; k << annop << nump;
if (!in_cache(k)) if (!in_cache(k))
calcola_unassigned(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); _datareg = row.get_date(PART_DATAREG).string(brief);
_datadoc = row.get_date(PART_DATADOC).string(brief); _datadoc = row.get_date(PART_DATADOC).string(brief);
_numdoc = row.get(PART_NUMDOC); _numdoc = row.get(PART_NUMDOC);
@ -466,7 +470,7 @@ bool TStampaScadenzario::preprocess_page(int file, int counter)
*_descrizione = _caus->get(CAU_DESCR); *_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 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 || 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 return FALSE; // oppure l'importo in scadenza e' 0 allora salta alla prossima scadenza