Patch level : 10.0

Files correlati     : pd6292
Ricompilazione Demo : [ ]
Commento            :
Non considerare più pagamenti e note credito dopo la data limite operazione


git-svn-id: svn://10.65.10.50/branches/R_10_00@22600 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2012-03-06 15:45:03 +00:00
parent 3ff004b4e8
commit 609bf2257b

View File

@ -97,7 +97,7 @@ class TProspettoScadenze : public TPrintapp
_nsinfasce; _nsinfasce;
TString _anno,_numdoc,_protiva,_datadoc,_codval, _codvalsel, TString _anno,_numdoc,_protiva,_datadoc,_codval, _codvalsel,
_cod, _cod_pre, _des, _des_pre; _cod, _cod_pre, _des, _des_pre;
TDate _limop, _limscad, _datas, _limbf; // Data limite operazione, data limite scaduto e data di stampa TDate _limop, _limscaduto, _datas, _limbf; // Data limite operazione, data limite scaduto e data di stampa
int _gcr, // Giorni per Calcolo Rischio (valido solo per stampa clienti) int _gcr, // Giorni per Calcolo Rischio (valido solo per stampa clienti)
_sfasce, _sfasce,
_nsfasce; _nsfasce;
@ -204,7 +204,7 @@ void TProspettoScadenze::compute_antic(TPartita& p, const TDate & datalim)
const char * field = (_stvaluta && rp.in_valuta() ? PART_IMPORTOVAL : PART_IMPORTO); const char * field = (_stvaluta && rp.in_valuta() ? PART_IMPORTOVAL : PART_IMPORTO);
const TDate & d = rp.get_date(PART_DATAPAG); const TDate & d = rp.get_date(PART_DATAPAG);
if (d > _limscad) if (d > _limscaduto)
{ {
if (_nsinfasce) if (_nsinfasce)
{ {
@ -245,9 +245,9 @@ void TProspettoScadenze::compute_antic(TPartita& p, const TDate & datalim)
update_totals(1, esposto, s, ns); // ...Generale update_totals(1, esposto, s, ns); // ...Generale
} }
void TProspettoScadenze::compute_unassigned(TPartita& p, const TDate & datalim) void TProspettoScadenze::compute_unassigned(TPartita& p, const TDate& datalim)
{ {
TRecord_array& ra = p.unassigned(); const TRecord_array& ra = p.unassigned();
_uns = _unsnc = _unsesp = ZERO; _uns = _unsnc = _unsesp = ZERO;
_unsdscd = datalim; _unsdscd = datalim;
@ -255,25 +255,26 @@ void TProspettoScadenze::compute_unassigned(TPartita& p, const TDate & datalim)
{ {
const TRectype& rec = ra.row(r); const TRectype& rec = ra.row(r);
const TRiga_partite& sum = p.riga(rec.get_int(PAGSCA_NRIGP)); const TRiga_partite& sum = p.riga(rec.get_int(PAGSCA_NRIGP));
const char * field = (_stvaluta && sum.in_valuta() ? PAGSCA_IMPORTOVAL : PAGSCA_IMPORTO); const char* field = (_stvaluta && sum.in_valuta()) ? PAGSCA_IMPORTOVAL : PAGSCA_IMPORTO;
const TDate & datascad = sum.get_date(PART_DATAPAG); const TDate datascad = sum.get_date(PART_DATAPAG);
const int tm = sum.get_int(PART_TIPOMOV);
if ((datascad <= datalim)) if (datascad <= datalim)
{ {
_unsdscd = datascad; _unsdscd = datascad;
if (sum.get_int(PART_TIPOMOV) == 2) // Is it a credit note ? if (tm == 2) // Is it a credit note ?
_unsnc += rec.get_real(field); _unsnc += rec.get_real(field);
else else
_uns += rec.get_real(field); _uns += rec.get_real(field);
} }
/* NON CONSIDERARE MOVIMENTI DOPO LA DATA LIMITE
else else
{ {
if (sum.get_int(PART_TIPOMOV) == 2) // Is it a credit note ? if (tm == 2) // Is it a credit note ?
_unsesp -= rec.get_real(field); _unsesp -= rec.get_real(field);
else else
_unsesp += rec.get_real(field); _unsesp += rec.get_real(field);
} }
*/
} }
} }
@ -353,7 +354,7 @@ void TProspettoScadenze::compute_all(TPartita& p, TBill& bill)
if (prima_riga_pagamento > -1 && prima_riga_pagamento == pp) if (prima_riga_pagamento > -1 && prima_riga_pagamento == pp)
data_pag = d; // Se e' il primo pagamento(in ordine di data) di questa rata data_pag = d; // Se e' il primo pagamento(in ordine di data) di questa rata
// prende la data di scadenza relativa. // prende la data di scadenza relativa.
if (data_pag > _limbf && data_pag <= _limscad) if (data_pag > _limbf && data_pag <= _limscaduto)
bf += TImporto(sez,pg.get_real(field)); bf += TImporto(sez,pg.get_real(field));
} }
} }
@ -389,7 +390,7 @@ void TProspettoScadenze::compute_all(TPartita& p, TBill& bill)
if (rscd == ZERO) // Se le scadenze sono a zero, vuol dire che sono state stornate if (rscd == ZERO) // Se le scadenze sono a zero, vuol dire che sono state stornate
res = ZERO; // da qualche nota di credito o non assegnato percio' non si ha residuo res = ZERO; // da qualche nota di credito o non assegnato percio' non si ha residuo
if (d > _limscad) if (d > _limscaduto)
{ {
if (_nsinfasce) if (_nsinfasce)
{ {
@ -543,7 +544,7 @@ bool TProspettoScadenze::preprocess_page(int file, int counter)
real res = - _uns - _unsnc; real res = - _uns - _unsnc;
if (d > _limscad) if (d > _limscaduto)
{ {
if (_nsinfasce) if (_nsinfasce)
{ {
@ -616,8 +617,8 @@ bool TProspettoScadenze::open_print()
_gcr = _m->get_int(F_GIORNI); _gcr = _m->get_int(F_GIORNI);
_datas = _m->get_date(F_DATASTAMPA); _datas = _m->get_date(F_DATASTAMPA);
_limop = _m->get_date(F_DATAOPERAZIONE); _limop = _m->get_date(F_DATAOPERAZIONE);
_limscad = _m->get_date(F_DATASCADUTO); _limscaduto = _m->get_date(F_DATASCADUTO);
_limbf = _limscad - (long)_gcr; // Limite inferiore per le scadenze a Buon Fine. _limbf = _limscaduto - (long)_gcr; // Limite inferiore per le scadenze a Buon Fine.
_sinfasce = _m->get_bool(F_SCADINFASCE); _sinfasce = _m->get_bool(F_SCADINFASCE);
_nsinfasce = _m->get_bool(F_ASCADINFASCE); _nsinfasce = _m->get_bool(F_ASCADINFASCE);
_s_date.destroy(); _s_date.destroy();
@ -630,13 +631,13 @@ bool TProspettoScadenze::open_print()
for (int j = 0; j < _sfasce; j++) for (int j = 0; j < _sfasce; j++)
{ {
TDate & d = (TDate &)_s_date[j]; TDate & d = (TDate &)_s_date[j];
d = _limscad; d = _limscaduto;
d.addmonth(-_slimiti[j]); d.addmonth(-_slimiti[j]);
} }
for (int k = 0; k < _nsfasce; k++) for (int k = 0; k < _nsfasce; k++)
{ {
TDate & d = (TDate &)_ns_date[k]; TDate & d = (TDate &)_ns_date[k];
d = _limscad; d = _limscaduto;
d.addmonth(_nslimiti[k]); d.addmonth(_nslimiti[k]);
} }
_anno.cut(0);_numdoc.cut(0);_protiva.cut(0);_datadoc.cut(0); _anno.cut(0);_numdoc.cut(0);_protiva.cut(0);_datadoc.cut(0);
@ -956,8 +957,8 @@ void TProspettoScadenze::print_totali_rows(int nriga, bool what)
} }
pos += 13; pos += 13;
const real diff = v._sl - (tot - v._es); real diff = v._sl - (tot - v._es); diff.round(3);
if (diff != ZERO) if (!diff.is_zero())
{ {
print_real(value, diff); print_real(value, diff);
rw << format("@%dg%13s", pos, (const char*) value); rw << format("@%dg%13s", pos, (const char*) value);
@ -1087,7 +1088,7 @@ void TProspettoScadenze::print_header()
s = ditte.get(NDT_RAGSOC); s = ditte.get(NDT_RAGSOC);
TString datas = _datas.string(); TString datas = _datas.string();
TString limop = _limop.string(); TString limop = _limop.string();
TString limscad = _limscad.string(); TString limscad = _limscaduto.string();
TString s1; TString s1;
if (_stvaluta) if (_stvaluta)
@ -1174,15 +1175,14 @@ int TProspettoScadenze::calc_last_column()
// Setta le righe dell'intestazione // Setta le righe dell'intestazione
{ {
int pos = 112; int pos = 112;
if (_sinfasce)
if (_sinfasce) pos += _sfasce * 13;
pos += _sfasce * 13; else
else pos += 13;
pos += 13; if (_nsinfasce)
if (_nsinfasce) pos = pos + _nsfasce * 13;
pos = pos + _nsfasce * 13; else
else pos += 13;
pos += 13;
return pos; return pos;
} }