Corretto errore MI1050

git-svn-id: svn://10.65.10.50/trunk@2738 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1996-04-17 14:36:27 +00:00
parent ba1148bdab
commit 5537a7b7d7
3 changed files with 64 additions and 62 deletions

View File

@ -527,16 +527,18 @@ void TEC_array::add_row(const TRiga_partite& row)
const bool in_valuta = form().in_valuta() && row.in_valuta(); const bool in_valuta = form().in_valuta() && row.in_valuta();
const char sezione = row.get_char(PART_TIPOCF) == 'C' ? 'D' : 'A'; const char sezione = row.get_char(PART_TIPOCF) == 'C' ? 'D' : 'A';
if (row.is_fattura()) const TDate data_op(row.get(PART_DATAREG));
{ if (data_op <= form().data_limite_operazione())
for (int r = 1; r <= row.rate(); r++) {
{ if (row.is_fattura())
const TRiga_scadenze& rata = row.rata(r); {
const TDate data(rata.get(SCAD_DATASCAD)); for (int r = 1; r <= row.rate(); r++)
if (data <= form().data_limite_operazione()) {
{ const TRiga_scadenze& rata = row.rata(r);
TEC_row& rec = new_row(row, data, rata.importo(in_valuta), r); const TDate data_scad(rata.get(SCAD_DATASCAD));
if (data <= form().data_limite_scaduto()) TEC_row& rec = new_row(row, data_scad, rata.importo(in_valuta), r);
if (data_scad <= form().data_limite_scaduto())
{ {
const real s = calcola_scaduto(rata, in_valuta); const real s = calcola_scaduto(rata, in_valuta);
rec.scaduto(s); rec.scaduto(s);
@ -547,16 +549,13 @@ void TEC_array::add_row(const TRiga_partite& row)
il.normalize(sezione); il.normalize(sezione);
rec.importo_lire(il.valore()); rec.importo_lire(il.valore());
} }
} }
} }
} else
else {
{ const TDate data_pag(row.get(PART_DATAPAG));
const TDate data(row.get(PART_DATAPAG));
if (data <= form().data_limite_operazione())
{
const TImporto imp(row.importo(in_valuta, 0x1)); // Importo pulito senza nient'altro const TImporto imp(row.importo(in_valuta, 0x1)); // Importo pulito senza nient'altro
TEC_row& riga = new_row(row, data, imp, 1); TEC_row& riga = new_row(row, data_pag, imp, 1);
const int tipo_pag = row.get_int(PART_TIPOPAG); const int tipo_pag = row.get_int(PART_TIPOPAG);
const tipo_movimento tipo_mov = row.tipo(); const tipo_movimento tipo_mov = row.tipo();
@ -565,7 +564,6 @@ void TEC_array::add_row(const TRiga_partite& row)
if ((tipo_mov == tm_pagamento || tipo_mov == tm_pagamento_insoluto) && if ((tipo_mov == tm_pagamento || tipo_mov == tm_pagamento_insoluto) &&
(tipo_pag >= 2 && tipo_pag <= 7)) (tipo_pag >= 2 && tipo_pag <= 7))
{ {
const TDate data_pag(row.get(PART_DATAPAG));
const TDate& dls = form().data_limite_scaduto(); const TDate& dls = form().data_limite_scaduto();
const int gr = form().giorni_rischio(); const int gr = form().giorni_rischio();
@ -595,7 +593,7 @@ void TEC_array::add_row(const TRiga_partite& row)
const TImporto abbuoni(row.importo(in_valuta, 0x2)); const TImporto abbuoni(row.importo(in_valuta, 0x2));
if (!abbuoni.is_zero()) if (!abbuoni.is_zero())
{ {
TEC_row& rec = new_row(row, data, abbuoni, 2); TEC_row& rec = new_row(row, data_pag, abbuoni, 2);
rec.descrizione(form().describe(PEC_ABBUONI)); rec.descrizione(form().describe(PEC_ABBUONI));
if (in_valuta) if (in_valuta)
{ {
@ -608,7 +606,7 @@ void TEC_array::add_row(const TRiga_partite& row)
TImporto diffcam(row.importo(FALSE, 0x4)); TImporto diffcam(row.importo(FALSE, 0x4));
if (!diffcam.is_zero()) if (!diffcam.is_zero())
{ {
TEC_row& rec = new_row(row, data, TImporto('D', ZERO), 3); TEC_row& rec = new_row(row, data_pag, TImporto('D', ZERO), 3);
rec.descrizione(form().describe(PEC_DIFFCAM)); rec.descrizione(form().describe(PEC_DIFFCAM));
if (in_valuta) if (in_valuta)
{ {
@ -622,7 +620,7 @@ void TEC_array::add_row(const TRiga_partite& row)
TImporto ritenute(row.importo(FALSE, 0x8)); TImporto ritenute(row.importo(FALSE, 0x8));
if (!ritenute.is_zero()) if (!ritenute.is_zero())
{ {
TEC_row& rec = new_row(row, data, TImporto('D', ZERO), 4); TEC_row& rec = new_row(row, data_pag, TImporto('D', ZERO), 4);
rec.descrizione(form().describe(PEC_RITENUTE)); rec.descrizione(form().describe(PEC_RITENUTE));
if (in_valuta) if (in_valuta)
{ {
@ -694,8 +692,11 @@ TEC_array::TEC_array(const TPartita& game, const TEC_form* f)
} }
} }
} }
sort(); if (items() > 0)
arrange_scaduto(game); {
sort();
arrange_scaduto(game);
}
} }

View File

@ -63,34 +63,34 @@ END
DATE F_DATALIMOP DATE F_DATALIMOP
BEGIN BEGIN
PROMPT 30 4 "Data limite operazione " PROMPT 1 4 "Data limite operazione "
END END
DATE F_DATALIMSOL DATE F_DATALIMSOL
BEGIN BEGIN
PROMPT 1 4 "Data limite sollecito " PROMPT 1 5 "Data limite sollecito "
FLAGS "A" FLAGS "A"
VALIDATE DATE_CMP_FUNC <= F_DATASEND VALIDATE DATE_CMP_FUNC <= F_DATASEND
WARNING "La data limite sollecito deve essere specificata e non può essere superiore alla data di invio" WARNING "La data limite sollecito deve essere specificata e non puo' essere superiore alla data di invio"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
NUMBER F_IMPORMIN 18 NUMBER F_IMPORMIN 18
BEGIN BEGIN
PROMPT 1 5 "Importo minimo " PROMPT 1 6 "Importo minimo "
END END
RADIOBUTTON F_RIFIMPMIN 10 RADIOBUTTON F_RIFIMPMIN 10
BEGIN BEGIN
PROMPT 45 4 "" PROMPT 45 5 ""
ITEM "P|Partita" ITEM "P|Partita"
ITEM "C|Cliente" ITEM "C|Cliente"
END END
BOOLEAN F_STAMPESP BOOLEAN F_STAMPESP
BEGIN BEGIN
PROMPT 1 6 "Stampa esposizione" PROMPT 1 7 "Stampa esposizione"
END END
STRING F_LUOGOSEND 50 32 STRING F_LUOGOSEND 50 32

View File

@ -452,54 +452,52 @@ void TESSL_array::add_row(const TRiga_partite& row)
real importo_in_lire(ZERO); real importo_in_lire(ZERO);
const char sezione = form().sezione_normale(); const char sezione = form().sezione_normale();
if (row.is_fattura()) const TDate data_op(row.get(PART_DATAREG));
if (data_op <= form().data_limite_operazione())
{ {
for (int r = 1; r <= row.rate(); r++) if (row.is_fattura())
{ {
const TRiga_scadenze& rata = row.rata(r); for (int r = 1; r <= row.rate(); r++)
const TDate data(rata.get(SCAD_DATASCAD)); {
if (data <= form().data_limite_operazione()) const TRiga_scadenze& rata = row.rata(r);
{ const TDate data_scad(rata.get(SCAD_DATASCAD));
TESSL_row& rec = new_row(row, data, rata.importo(in_valuta), r); TESSL_row& rec = new_row(row, data_scad, rata.importo(in_valuta), r);
if (in_valuta) if (in_valuta)
{ {
TImporto il(rata.importo(FALSE)); TImporto il(rata.importo(FALSE));
il.normalize(sezione); il.normalize(sezione);
rec.importo_in_lire(il.valore()); rec.importo_in_lire(il.valore());
} }
if (data <= form().data_limite_scaduto()) if (data_scad <= form().data_limite_scaduto())
{ {
const real s = calcola_scaduto(rata, in_valuta); const real s = calcola_scaduto(rata, in_valuta);
rec.scaduto(s); rec.scaduto(s);
} }
} }
} }
} else
else {
{ const TDate data_pag(row.get(PART_DATAPAG));
const TDate data(row.get(PART_DATAPAG));
if (data <= form().data_limite_operazione())
{
const TImporto imp(row.importo(in_valuta, 0x1)); // Importo pulito senza nient'altro const TImporto imp(row.importo(in_valuta, 0x1)); // Importo pulito senza nient'altro
TESSL_row& riga = new_row(row, data, imp, 1); TESSL_row& riga = new_row(row, data_pag, imp, 1);
if (in_valuta) if (in_valuta)
{ {
TImporto i(row.importo(FALSE, 0x1)); TImporto i(row.importo(FALSE, 0x1));
i.normalize(sezione); i.normalize(sezione);
riga.importo_in_lire(i.valore()); riga.importo_in_lire(i.valore());
} }
const int tipo_pag = row.get_int(PART_TIPOPAG); const int tipo_pag = row.get_int(PART_TIPOPAG);
const tipo_movimento tipo_mov = row.tipo(); const tipo_movimento tipo_mov = row.tipo();
// Controlla se e' un pagamento con effetti // Controlla se e' un pagamento con effetti
if ((tipo_mov == tm_pagamento || tipo_mov == tm_pagamento_insoluto) && if ((tipo_mov == tm_pagamento || tipo_mov == tm_pagamento_insoluto) &&
(tipo_pag >= 2 && tipo_pag <= 7)) (tipo_pag >= 2 && tipo_pag <= 7))
{ {
const TDate data_pag(row.get(PART_DATAPAG));
const TDate& dls = form().data_limite_scaduto(); const TDate& dls = form().data_limite_scaduto();
const int gr = form().giorni_rischio(); const int gr = form().giorni_rischio();
bool sbf = FALSE; bool sbf = FALSE;
if (gr > 0) if (gr > 0)
{ {
@ -507,13 +505,13 @@ void TESSL_array::add_row(const TRiga_partite& row)
sbf = data_pag > dir && data_pag <= dls; sbf = data_pag > dir && data_pag <= dls;
riga.salvo_buon_fine(sbf); // Esposto salvo buon fine riga.salvo_buon_fine(sbf); // Esposto salvo buon fine
} }
bool esp = sbf; bool esp = sbf;
if (!esp) if (!esp)
{ {
esp = gr > 0 ? data_pag >= dls : data_pag > dls; // Esposto normale esp = gr > 0 ? data_pag >= dls : data_pag > dls; // Esposto normale
} }
if (esp) if (esp)
{ {
TImporto esposto(imp); TImporto esposto(imp);
@ -521,11 +519,11 @@ void TESSL_array::add_row(const TRiga_partite& row)
riga.esposto(esposto.valore()); riga.esposto(esposto.valore());
} }
} }
TImporto ritenute(row.importo(FALSE, 0x8)); TImporto ritenute(row.importo(FALSE, 0x8));
if (!ritenute.is_zero()) if (!ritenute.is_zero())
{ {
TESSL_row& r = new_row(row, data, TImporto('D', ZERO), 4); TESSL_row& r = new_row(row, data_pag, TImporto('D', ZERO), 4);
r.descrizione(form().describe(PEC_RITENUTE)); r.descrizione(form().describe(PEC_RITENUTE));
if (in_valuta) if (in_valuta)
{ {
@ -535,11 +533,11 @@ void TESSL_array::add_row(const TRiga_partite& row)
else else
r.importo(ritenute); r.importo(ritenute);
} }
const TImporto abbuoni(row.importo(in_valuta, 0x2)); const TImporto abbuoni(row.importo(in_valuta, 0x2));
if (!abbuoni.is_zero()) if (!abbuoni.is_zero())
{ {
TESSL_row& r = new_row(row, data, abbuoni, 2); TESSL_row& r = new_row(row, data_pag, abbuoni, 2);
r.descrizione(form().describe(PEC_ABBUONI)); r.descrizione(form().describe(PEC_ABBUONI));
if (in_valuta) if (in_valuta)
{ {
@ -548,11 +546,11 @@ void TESSL_array::add_row(const TRiga_partite& row)
r.importo_in_lire(il.valore()); r.importo_in_lire(il.valore());
} }
} }
TImporto diffcam(row.importo(FALSE, 0x4)); TImporto diffcam(row.importo(FALSE, 0x4));
if (!diffcam.is_zero()) if (!diffcam.is_zero())
{ {
TESSL_row& r = new_row(row, data, TImporto('D', ZERO), 3); TESSL_row& r = new_row(row, data_pag, TImporto('D', ZERO), 3);
r.descrizione(form().describe(PEC_DIFFCAM)); r.descrizione(form().describe(PEC_DIFFCAM));
if (in_valuta) if (in_valuta)
{ {
@ -562,7 +560,7 @@ void TESSL_array::add_row(const TRiga_partite& row)
else else
r.importo(diffcam); r.importo(diffcam);
} }
} }
} }
} }
@ -623,9 +621,12 @@ TESSL_array::TESSL_array(const TPartita& game, const TESSL_form* f)
s.scaduto(imp->valore()); s.scaduto(imp->valore());
} }
} }
}
if (items() > 0)
{
sort();
arrange_scaduto(game);
} }
sort();
arrange_scaduto(game);
} }