Patch level : 10.0 716
Files correlati : ve6.exe Ricompilazione Demo : [ ] Commento Bug 0001608: Generazione effetti La generazione effetti raggruppati li raggruppa anche se hanno date di scadenza diverse git-svn-id: svn://10.65.10.50/trunk@20388 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
02efbfc99b
commit
201943a883
@ -278,9 +278,7 @@ long TGenerazione_effetti::group_bills(TAssoc_array& group_array)
|
||||
// Ciclo sui documenti da raggruppare
|
||||
group_element->restart();
|
||||
const int doc_items = group_element->items();
|
||||
|
||||
int last_rata = 0;
|
||||
|
||||
|
||||
for (j=0;j<doc_items;j++)
|
||||
{
|
||||
#ifdef DBG
|
||||
@ -339,14 +337,6 @@ long TGenerazione_effetti::group_bills(TAssoc_array& group_array)
|
||||
if (numrate <= 0)
|
||||
continue;
|
||||
|
||||
if (numrate > last_rata)
|
||||
{
|
||||
if (valid_type(pag.tipo_rata(numrate-1)))
|
||||
last_rata = numrate;
|
||||
else
|
||||
last_rata = 0;
|
||||
}
|
||||
|
||||
// Scorre le scadenze
|
||||
for (n = 1; n <= numrate && good(); n++)
|
||||
{
|
||||
@ -354,13 +344,24 @@ long TGenerazione_effetti::group_bills(TAssoc_array& group_array)
|
||||
{
|
||||
// Se non esiste effetto n-esimo (corrisponde al numero di rata corrente+offset)
|
||||
// lo genera con la relativa riga. Se esiste vi somma gli importi ed accoda la riga
|
||||
const int index = n+offset-1;
|
||||
const int effitems = _effetti_array.items();
|
||||
int j = offset;
|
||||
const TDate datascad = pag.data_rata(n-1);
|
||||
|
||||
for (; j < effitems; j++)
|
||||
{
|
||||
TEffetto& effetto=(TEffetto&)_effetti_array[j];
|
||||
|
||||
if (datascad == effetto.get_date(EFF_DATASCAD))
|
||||
break;
|
||||
}
|
||||
const int index = n+j-1;
|
||||
// Nuovo effetto: crea effetto con i dati di questo documento (e' il primo che incontro nella scansione)
|
||||
if (index >= _effetti_array.items())
|
||||
if (index >= effitems)
|
||||
{
|
||||
TEffetto* effetto = new TEffetto;
|
||||
// Setta i dati della testata;
|
||||
effetto->put(EFF_DATASCAD, pag.data_rata(n-1));
|
||||
effetto->put(EFF_DATASCAD, datascad);
|
||||
effetto->put(EFF_TIPOPAG,pag.tipo_rata(n-1));
|
||||
effetto->put(EFF_ULTCLASS,pag.ulc_rata(n-1));
|
||||
effetto->put(EFF_TIPOCF, doc.get_char(DOC_TIPOCF));
|
||||
@ -461,17 +462,14 @@ long TGenerazione_effetti::group_bills(TAssoc_array& group_array)
|
||||
riga.put(REFF_IMPFATT,totfatlit.get_num());
|
||||
riga.put(REFF_IMPORTOVAL,imprataval);
|
||||
}
|
||||
if (n == numrate)
|
||||
effetto.put(EFF_ULTRATA, "X");
|
||||
}
|
||||
} // Ciclo sulle scadenze
|
||||
}
|
||||
} // Ciclo sui documenti di questo gruppo
|
||||
offset=_effetti_array.items();
|
||||
|
||||
if (last_rata > 0)
|
||||
{
|
||||
TEffetto& last_effetto = (TEffetto&)_effetti_array[offset-1];
|
||||
last_effetto.put(EFF_ULTRATA, "X");
|
||||
}
|
||||
} // Ciclo sui gruppi
|
||||
|
||||
// Cambia lo stato a tutti i documenti raggruppati
|
||||
|
Loading…
x
Reference in New Issue
Block a user