Cacarole Gabriella Saldaconto

git-svn-id: svn://10.65.10.50/trunk@2054 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1995-10-31 11:37:09 +00:00
parent d77b6dbe36
commit b8f59ca129
5 changed files with 1427 additions and 1399 deletions

View File

@ -485,16 +485,17 @@ real TPrimanota_application::calcola_saldo() const
}
TMask& m = curr_mask();
real sbilancio = abs(tdare)-abs(tavere);
const real sbilancio = abs(tdare)-abs(tavere);
const real absbilancio = abs(tdare - tavere);
switch (sbilancio.sign())
{
case +1: // Il dare supera l'avere in valore assoluto
m.set(F_DARE, real(tdare-tavere).string());
m.set(F_DARE, absbilancio.string());
m.reset(F_AVERE);
break;
case -1: // L'avere supera il dare in valore assoluto
m.reset(F_DARE);
m.set(F_AVERE, real(tavere-tdare).string());
m.set(F_AVERE, absbilancio.string());
break;
default: // Sbilancio nullo
m.reset(F_DARE);
@ -1576,6 +1577,11 @@ bool TPrimanota_application::doc_handler(TMask_field& f, KEY key)
{
const TDate dd(val);
m.set(F_ANNORIF, dd.year()); // copia data documento
// TBI modifica scadenze pagamento
if (app().pagamento() != NULL)
app().recalc_scadenze(dd);
}
else if (!app().npart_is_prot())
{

View File

@ -211,6 +211,7 @@ protected:
void write_scadenze(const TMask& m);
void remove_scadenze(const TMask& m, const char* rif);
void renumber_partita(TMask& m, const char* oldp, const char* newp);
void recalc_scadenze(const TDate& d);
bool edit_partite(const TMask& m, int riga);

View File

@ -264,6 +264,18 @@ void TPrimanota_application::reset_pagamento()
}
}
void TPrimanota_application::recalc_scadenze(const TDate& d)
{
if (_pag == NULL) return;
_pag->set_inizio(d);
// ridefinisci lo sheet sulla base delle nuove rate
TSheet_field& ps = pags();
TString_array& rws = pag_rows();
_pag->set_sheet(ps);
rws = ps.rows_array();
ps.force_update();
}
void TPrimanota_application::set_pagamento(const char* c, const char* d)
{

File diff suppressed because it is too large Load Diff

View File

@ -102,6 +102,7 @@ public:
real recalc_percrata(int i);
void set_numero_rate(int n, int sscad = -1, int rdiff = 1);
void set_inizio(const TDate& d); // resetta tutto
void set_inizio_scadenza(char v) { _inscad = v; }
void set_code(const char* c) { _code = c; }
void set_round(int n) { _round = n; }