Modificato metodo di calcolo della calcola saldo al

git-svn-id: svn://10.65.10.50/trunk@2942 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1996-05-31 10:38:03 +00:00
parent 745b22d51e
commit a42dd7bede
4 changed files with 25 additions and 9 deletions

View File

@ -1459,14 +1459,15 @@ TImporto TPartita::calcola_saldo(bool valuta) const
return saldo;
}
TImporto TPartita::calcola_saldo_al(bool valuta,const TDate& al, const TDate& data_rischio) const
TImporto TPartita::calcola_saldo_al(bool valuta,const TDate& al, const TDate & data_scaduto, const TDate& data_rischio) const
{
TImporto saldo;
const bool calcolo_rischio = data_rischio.ok();
// const bool calcolo_rischio = data_rischio.ok();
for (int r = last(); r > 0; r = pred(r))
{
const TRiga_partite& row = riga(r);
/* vecchia implementazione
if (row.is_fattura())
{
for (int s = row.rate(); s > 0 ;s--)
@ -1496,9 +1497,23 @@ TImporto TPartita::calcola_saldo_al(bool valuta,const TDate& al, const TDate& da
else
if (data <= al)
saldo += row.importo(valuta);
*/
const TDate data(row.get(PART_DATAREG));
if (data <= al)
{
saldo += row.importo(valuta);
if (!row.is_fattura())
{
const int tipopag = row.get_int(PART_TIPOPAG);
if (tipopag >= 2 && tipopag <= 7)
{
bool sbf = FALSE;
saldo -= row.esposto(valuta, data_scaduto, data_rischio, sbf);
}
}
}
}
return saldo;
}

View File

@ -296,7 +296,7 @@ public:
void update_reg(long nreg, const TRectype& mov, TPartite_array& pa);
void calcola_saldo(TImporto& saldo, TImporto& doc, TImporto& pag, TImporto& imp) const;
TImporto calcola_saldo(bool valuta) const;
TImporto calcola_saldo_al(bool valuta, const TDate& al, const TDate& data_rischio = botime) const;
TImporto calcola_saldo_al(bool valuta, const TDate& al, const TDate& data_scaduto, const TDate& data_rischio) const;
real calcola_scaduto_al(bool valuta, const TDate& al = botime) const;
TImporto importo_pagato_unassigned(bool val, int mode = 0xF) const;

View File

@ -1365,7 +1365,8 @@ int TStampaEC_application::print_ec()
// {
const TDate& dir = f.data_inizio_rischio();
const TDate& dlo = f.data_limite_operazione();
const TImporto saldo = game.calcola_saldo_al(f.in_valuta(), dlo, dir);
const TDate& dls = f.data_limite_scaduto();
const TImporto saldo = game.calcola_saldo_al(f.in_valuta(), dlo, dls, dir);
if (saldo.is_zero())
{
int r = 0;

View File

@ -170,7 +170,7 @@ int TStampaSol_application::print_sol()
// se il saldo della partita chiude in avere va sommato ad unreferenced
const TRiga_partite& sum = game.riga(game.first());
TString valuta(sum.get(PART_CODVAL));
unreferenced = game.calcola_saldo_al(game.in_valuta() && f.in_valuta(),data_limite_soll);
unreferenced = game.calcola_saldo_al(game.in_valuta() && f.in_valuta(),data_limite_soll, data_limite_scad, data_limite_scad);
if (unreferenced.valore() > ZERO && unreferenced.sezione() == 'A')
{
unreferenced.normalize('A'); //per i non assegnati/anticipi c'e' solo la colonna AVERE