diff --git a/src/sc/sc0500.cpp b/src/sc/sc0500.cpp index afb66993c..4216ee4fd 100644 --- a/src/sc/sc0500.cpp +++ b/src/sc/sc0500.cpp @@ -77,33 +77,32 @@ void TEsportazione_partite::main_loop() int row = p.prima_fattura(); if (row <= 0) - row = p.first(); + { + TRiga_partite & riga = p.riga(p.first()); + int gruppo = riga.get_int(PART_GRUPPO); - TRiga_partite & riga = p.riga(row); - int gruppo = riga.get_int(PART_GRUPPO); + out.new_rec(); + if (gruppo == 0) + gruppo = riga.get_int(PART_GRUPPOCL); + out.set("GRUPPO", gruppo); - out.new_rec(); - if (gruppo == 0) - gruppo = riga.get_int(PART_GRUPPOCL); - out.set("GRUPPO", gruppo); - - int conto = riga.get_int(PART_CONTO); + int conto = riga.get_int(PART_CONTO); - if (conto == 0) - conto = riga.get_int(PART_CONTOCL); - out.set("CONTO", conto); - out.set("SOTTOCONTO", riga.get_long(PART_SOTTOCONTO)); - out.set("NUMDOC", riga.get(PART_NUMDOC)); - out.set("DATADOC", riga.get(PART_DATADOC)); + if (conto == 0) + conto = riga.get_int(PART_CONTOCL); + out.set("CONTO", conto); + out.set("SOTTOCONTO", riga.get_long(PART_SOTTOCONTO)); + out.set("NUMDOC", riga.get(PART_NUMDOC)); + out.set("DATADOC", riga.get(PART_DATADOC)); + out.set("DATASCAD", riga.get(PART_DATADOC)); - TString sezione; - - out.set("SALDO", saldo.valore().stringa()); - sezione << saldo.sezione(); - out.set("SEZIONE", sezione); - - TDate data = botime; + TString sezione; + out.set("SALDO", saldo.valore().stringa()); + sezione << saldo.sezione(); + out.set("SEZIONE", sezione); + continue; + } for (int r = row; r <= p.last(); r = p.succ(r)) { TRiga_partite & riga = p.riga(r); @@ -111,21 +110,40 @@ void TEsportazione_partite::main_loop() if (riga.is_fattura()) { int nrate = riga.rate(); + for (int s = 1; s <= nrate; s++) { TRiga_scadenze & scad = riga.rata(s); + TImporto residuo = scad.residuo(false); - if (!scad.residuo(false).is_zero()) + if (!residuo.is_zero()) { - TDate data_scad = scad.get_date(SCAD_DATASCAD); + TRiga_partite & riga = p.riga(row); + int gruppo = riga.get_int(PART_GRUPPO); - if (data_scad <= al && data_scad > data) - data = data_scad; + out.new_rec(); + if (gruppo == 0) + gruppo = riga.get_int(PART_GRUPPOCL); + out.set("GRUPPO", gruppo); + + int conto = riga.get_int(PART_CONTO); + + if (conto == 0) + conto = riga.get_int(PART_CONTOCL); + out.set("CONTO", conto); + out.set("SOTTOCONTO", riga.get_long(PART_SOTTOCONTO)); + out.set("NUMDOC", riga.get(PART_NUMDOC)); + out.set("DATADOC", riga.get(PART_DATADOC)); + TString sezione; + + out.set("SALDO", residuo.valore().stringa()); + sezione << residuo.sezione(); + out.set("SEZIONE", sezione); + out.set("DATASCAD", scad.get(SCAD_DATASCAD)); } } } } - out.set("DATASCAD", data.stringa()); } } }