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
|
// Ciclo sui documenti da raggruppare
|
||||||
group_element->restart();
|
group_element->restart();
|
||||||
const int doc_items = group_element->items();
|
const int doc_items = group_element->items();
|
||||||
|
|
||||||
int last_rata = 0;
|
|
||||||
|
|
||||||
for (j=0;j<doc_items;j++)
|
for (j=0;j<doc_items;j++)
|
||||||
{
|
{
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
@ -339,14 +337,6 @@ long TGenerazione_effetti::group_bills(TAssoc_array& group_array)
|
|||||||
if (numrate <= 0)
|
if (numrate <= 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (numrate > last_rata)
|
|
||||||
{
|
|
||||||
if (valid_type(pag.tipo_rata(numrate-1)))
|
|
||||||
last_rata = numrate;
|
|
||||||
else
|
|
||||||
last_rata = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Scorre le scadenze
|
// Scorre le scadenze
|
||||||
for (n = 1; n <= numrate && good(); n++)
|
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)
|
// 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
|
// 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)
|
// 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;
|
TEffetto* effetto = new TEffetto;
|
||||||
// Setta i dati della testata;
|
// 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_TIPOPAG,pag.tipo_rata(n-1));
|
||||||
effetto->put(EFF_ULTCLASS,pag.ulc_rata(n-1));
|
effetto->put(EFF_ULTCLASS,pag.ulc_rata(n-1));
|
||||||
effetto->put(EFF_TIPOCF, doc.get_char(DOC_TIPOCF));
|
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_IMPFATT,totfatlit.get_num());
|
||||||
riga.put(REFF_IMPORTOVAL,imprataval);
|
riga.put(REFF_IMPORTOVAL,imprataval);
|
||||||
}
|
}
|
||||||
|
if (n == numrate)
|
||||||
|
effetto.put(EFF_ULTRATA, "X");
|
||||||
}
|
}
|
||||||
} // Ciclo sulle scadenze
|
} // Ciclo sulle scadenze
|
||||||
}
|
}
|
||||||
} // Ciclo sui documenti di questo gruppo
|
} // Ciclo sui documenti di questo gruppo
|
||||||
offset=_effetti_array.items();
|
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
|
} // Ciclo sui gruppi
|
||||||
|
|
||||||
// Cambia lo stato a tutti i documenti raggruppati
|
// Cambia lo stato a tutti i documenti raggruppati
|
||||||
|
Loading…
x
Reference in New Issue
Block a user