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(); 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()) switch (sbilancio.sign())
{ {
case +1: // Il dare supera l'avere in valore assoluto 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); m.reset(F_AVERE);
break; break;
case -1: // L'avere supera il dare in valore assoluto case -1: // L'avere supera il dare in valore assoluto
m.reset(F_DARE); m.reset(F_DARE);
m.set(F_AVERE, real(tavere-tdare).string()); m.set(F_AVERE, absbilancio.string());
break; break;
default: // Sbilancio nullo default: // Sbilancio nullo
m.reset(F_DARE); m.reset(F_DARE);
@ -1576,6 +1577,11 @@ bool TPrimanota_application::doc_handler(TMask_field& f, KEY key)
{ {
const TDate dd(val); const TDate dd(val);
m.set(F_ANNORIF, dd.year()); // copia data documento 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()) else if (!app().npart_is_prot())
{ {

View File

@ -211,6 +211,7 @@ protected:
void write_scadenze(const TMask& m); void write_scadenze(const TMask& m);
void remove_scadenze(const TMask& m, const char* rif); void remove_scadenze(const TMask& m, const char* rif);
void renumber_partita(TMask& m, const char* oldp, const char* newp); 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); 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) 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); real recalc_percrata(int i);
void set_numero_rate(int n, int sscad = -1, int rdiff = 1); 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_inizio_scadenza(char v) { _inscad = v; }
void set_code(const char* c) { _code = c; } void set_code(const char* c) { _code = c; }
void set_round(int n) { _round = n; } void set_round(int n) { _round = n; }