From 7a84c6593337deed0a0a811fc6206ef8e96534b3 Mon Sep 17 00:00:00 2001 From: angelo Date: Wed, 5 Jun 1996 16:22:12 +0000 Subject: [PATCH] Modificato il calcolo sulle rate in attesa B.F (considera solo quelle maggiori di _limbf). Corretta la stampa dei totali nel caso di selezione di un singolo cliente e la stampa di misteriose righe vuote. D'ora in avanti non dovrebbe mangiarsi neanche l'intestazione del cliente. git-svn-id: svn://10.65.10.50/trunk@2966 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- sc/sc2300.cpp | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/sc/sc2300.cpp b/sc/sc2300.cpp index 0d613d5bd..641a313c6 100755 --- a/sc/sc2300.cpp +++ b/sc/sc2300.cpp @@ -227,7 +227,7 @@ void TStampaScaduto::compute_all(TPartita& p) if (prima_riga_pagamento > -1 && prima_riga_pagamento == pp) data_pag = d; // Se e' il primo pagamento(in ordine di data) di questa rata // prende la data di scadenza relativa. - if (data_pag >= _limbf && data_pag <= _limscad) + if (data_pag >= _limbf) // && data_pag <= _limscad) bf += TImporto(sez,pg.get_real(field)); } } @@ -362,6 +362,9 @@ bool TStampaScaduto::preprocess_page(int file, int counter) int nriga = 1; bool checked = cs.checked(c->read(_isequal)); + + if (!checked && !_end_printed) // Se non e' stato selezionato salta alla prossima part + return FALSE; if (_tipost == clienti || _tipost == fornitori) { @@ -379,7 +382,7 @@ bool TStampaScaduto::preprocess_page(int file, int counter) if (_cod != _cod_pre || _end_printed) // Controlla se e' cambiato il codice cli/fo/conto { reset_print(); - if (_pending_total > 0) // stampa i totali del precedente solo se non e' la prima + if (_pending_total > 0 ) // stampa i totali del precedente solo se non e' la prima { TAssoc_array& a = (TAssoc_array&) _t[0]; if (a.items() > 0) @@ -399,8 +402,9 @@ bool TStampaScaduto::preprocess_page(int file, int counter) } } - if (!checked) // Se non e' stato selezionato salta alla prossima part - return FALSE; + TPartita p(rc); + + int r = p.prima_fattura(); if (rc.get_int(PART_NRIGA) == 1) { @@ -409,10 +413,11 @@ bool TStampaScaduto::preprocess_page(int file, int counter) { set_page_clifoco(nriga); // Setta le righe per stampare le informazioni del cli/fo/conto _pending_clifo = FALSE; - set_row(nriga++,""); + set_row(++nriga,""); nriga++; } - set_page_part(nriga); + if (r > 0) + set_page_part(nriga); } //Pesca gli estremi dalla prima riga di fattura, che non e' necessariamente la riga #1 @@ -426,9 +431,6 @@ bool TStampaScaduto::preprocess_page(int file, int counter) _sc_5 = ""; _sc_6 = ""; - TPartita p(rc); - - int r = p.prima_fattura(); if (r > 0) //Skip next partita if no fatture! { TRiga_partite& rp = p.riga(r); @@ -447,13 +449,12 @@ bool TStampaScaduto::preprocess_page(int file, int counter) if (r < 1) { - reset_row(nriga); _pending_total--; if (_pending_clifo) _pending_clifo = (_pending_total > 0); return TRUE; } - + if (_residuo.empty() && _nonscad.empty() && _sc_1.empty() && _sc_2.empty() && _sc_3.empty() && _sc_4.empty() && _sc_5.empty() && _sc_6.empty()) { @@ -716,7 +717,7 @@ void TStampaScaduto::print_totali(int& nriga) set_row(nriga,"TOTALE %s",(const char*) s); print_totali_rows(nriga,0); set_row(nriga++,""); - if (_end_printed) + if (_end_printed) { set_row(nriga,"TOTALE GENERALE"); print_totali_rows(nriga,1);