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:
parent
745b22d51e
commit
a42dd7bede
@ -1459,14 +1459,15 @@ TImporto TPartita::calcola_saldo(bool valuta) const
|
|||||||
return saldo;
|
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;
|
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))
|
for (int r = last(); r > 0; r = pred(r))
|
||||||
{
|
{
|
||||||
const TRiga_partite& row = riga(r);
|
const TRiga_partite& row = riga(r);
|
||||||
|
/* vecchia implementazione
|
||||||
if (row.is_fattura())
|
if (row.is_fattura())
|
||||||
{
|
{
|
||||||
for (int s = row.rate(); s > 0 ;s--)
|
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
|
else
|
||||||
if (data <= al)
|
if (data <= al)
|
||||||
saldo += row.importo(valuta);
|
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;
|
return saldo;
|
||||||
}
|
}
|
||||||
|
@ -296,7 +296,7 @@ public:
|
|||||||
void update_reg(long nreg, const TRectype& mov, TPartite_array& pa);
|
void update_reg(long nreg, const TRectype& mov, TPartite_array& pa);
|
||||||
void calcola_saldo(TImporto& saldo, TImporto& doc, TImporto& pag, TImporto& imp) const;
|
void calcola_saldo(TImporto& saldo, TImporto& doc, TImporto& pag, TImporto& imp) const;
|
||||||
TImporto calcola_saldo(bool valuta) 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;
|
real calcola_scaduto_al(bool valuta, const TDate& al = botime) const;
|
||||||
TImporto importo_pagato_unassigned(bool val, int mode = 0xF) const;
|
TImporto importo_pagato_unassigned(bool val, int mode = 0xF) const;
|
||||||
|
|
||||||
|
@ -1364,8 +1364,9 @@ int TStampaEC_application::print_ec()
|
|||||||
// if (game.chiusa())
|
// if (game.chiusa())
|
||||||
// {
|
// {
|
||||||
const TDate& dir = f.data_inizio_rischio();
|
const TDate& dir = f.data_inizio_rischio();
|
||||||
const TDate& dlo = f.data_limite_operazione();
|
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())
|
if (saldo.is_zero())
|
||||||
{
|
{
|
||||||
int r = 0;
|
int r = 0;
|
||||||
|
@ -170,7 +170,7 @@ int TStampaSol_application::print_sol()
|
|||||||
// se il saldo della partita chiude in avere va sommato ad unreferenced
|
// se il saldo della partita chiude in avere va sommato ad unreferenced
|
||||||
const TRiga_partite& sum = game.riga(game.first());
|
const TRiga_partite& sum = game.riga(game.first());
|
||||||
TString valuta(sum.get(PART_CODVAL));
|
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')
|
if (unreferenced.valore() > ZERO && unreferenced.sezione() == 'A')
|
||||||
{
|
{
|
||||||
unreferenced.normalize('A'); //per i non assegnati/anticipi c'e' solo la colonna AVERE
|
unreferenced.normalize('A'); //per i non assegnati/anticipi c'e' solo la colonna AVERE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user