From 719c55fa1ff910206c7e22cfadb0670ed08886c7 Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 25 Oct 1995 10:19:24 +0000 Subject: [PATCH] Corretto errore MI3224 git-svn-id: svn://10.65.10.50/trunk@2007 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg3400.cpp | 59 +++++++++++++-------------------------------------- 1 file changed, 15 insertions(+), 44 deletions(-) diff --git a/cg/cg3400.cpp b/cg/cg3400.cpp index 2dc93b744..0fa7a7700 100755 --- a/cg/cg3400.cpp +++ b/cg/cg3400.cpp @@ -432,8 +432,7 @@ void CG3400_application::aggiorna_mov() #ifdef DBG long numreg = _cur->file(LF_MOV).get_long("NUMREG"); TString datareg(_cur->file(LF_MOV).get("DATAREG")); - - message_box("Numreg: %ld Datareg: %s", numreg, (const char*)datareg); + // message_box("Numreg: %ld Datareg: %s", numreg, (const char*)datareg); #endif const bool gia_stampato = _cur->file(LF_MOV).get_bool(MOV_STAMPATO); if (!gia_stampato) @@ -458,7 +457,7 @@ int CG3400_application::set_totali_giorno(const TDate& data, const int righeiva) const int SHIFT = 15; const int STACC = 51 + SHIFT; - r = righeiva == 0 ? 1 : righeiva; + r = righeiva == 0 ? 1 : righeiva + 1; // Se e' l'unico totale lo stampo anche se e' zero if (competenza_ec() || (_tot_avere_gg != ZERO || _tot_dare_gg != ZERO)) @@ -873,19 +872,15 @@ bool CG3400_application::preprocess_print(int file, int counter) void CG3400_application::fill_page(int start_riga, int righe_iva_settate) { TString256 rigas; - // char frm[4]; int rrr = start_riga; - int r_l = printer().rows_left() - 2; // Tolgo le 2 righe del totale + int r_l = printer().rows_left() - start_riga - righe_iva_settate; if (r_l < 0) { - r_l += printer().formlen() - 8; // Tolgo la testata + // Tolgo l'intestazione + la riga con i riporti + r_l += printer().formlen() - (printer().headersize() + 1); _forza_ariportare = TRUE; } - // Tolgo le righe iva che sono state settate ma NON ancora stampate (=> non ancora contate da rows_left()) - if (_libro_giornale_iva_unico) - r_l -= righe_iva_settate; - // Se sono rimaste righe da riempire if (r_l > 0) { @@ -893,24 +888,11 @@ void CG3400_application::fill_page(int start_riga, int righe_iva_settate) rigas.cut(_stampa_width+1); // sprintf(frm, "%%%3ds", _stampa_width); set_row(rrr++, "%s", (const char*) rigas); - // rigas = ""; - // if (--r_l) - // { - // int j=0; - // Calcola una specie di coefficiente angolare - // int alfa = _stampa_width / r_l; - // for (int i = riga+1; i < r_l; i++, j++) - // { - // if (j*alfa >= _stampa_width-alfa) break; // non uscire dai margini - // rigas.format("@%dg======", j*alfa); - // set_row(i, "%s", (const char*)rigas); - // } - // } int j=0; // Calcola una specie di coefficiente angolare int alfa = (_stampa_width - 6) / r_l; - for ( ; r_l > 1; r_l--) // Non stampare sulla riga orizzontale! + for ( ; r_l >= 1; r_l--) // Non stampare sulla riga orizzontale! { rigas.format("@%dg======", j); set_row(rrr++, rigas); @@ -927,7 +909,8 @@ print_action CG3400_application::postprocess_page(int file, int counter) if (counter) { if (_nuovo_mese) { - printer().formfeed(); + if (!_stampa_definitiva) // su bollato ho gia' barrato il foglio fino in fondo + printer().formfeed(); _nuovo_mese = FALSE; } return NEXT_PAGE; @@ -938,7 +921,7 @@ print_action CG3400_application::postprocess_page(int file, int counter) case LF_MOV: reset_print(); - + righe_iva_settate = 0; if (_libro_giornale_iva_unico) { righe_iva_settate = setta_righe_iva(); @@ -1067,9 +1050,8 @@ void CG3400_application::set_rows (int file, int counter) // Usati in setta_righe_iva per determinare tipo attivita' _reg = _cur->file(LF_MOV).get(MOV_REG); _anno_iva = _cur->file(LF_MOV).get_int(MOV_ANNOIVA); - /////////////////////////////////////////////////////////// - protiva = _cur->file(LF_MOV).get_long(MOV_PROTIVA); + protiva = _cur->file(LF_MOV).get_long(MOV_PROTIVA); caus = _cur->file(LF_MOV).get(MOV_CODCAUS); _occfpi = _cur->file(LF_MOV).get(MOV_OCFPI); _annoEsMov = _cur->file(LF_MOV).get_int(MOV_ANNOES); @@ -1196,23 +1178,16 @@ bool CG3400_application::preprocess_page(int file, int counter) switch (file) { case LF_MOV: - _annoEsMov = _anno_iva = 0; _iva_array.destroy(); - *_RecArrivoA = _cur->file(LF_MOV).curr(); - _nprog_mov++; // Il numero di operazione deve ripartire da 0 per ogni movimento _num_rig = 0; - _data_corr = _cur->file(LF_MOV).get_date(MOV_DATAREG); - // _ultima_data_mov finisce sul registro come ultima data di stampa if (_data_corr > _ultima_data_mov) _ultima_data_mov = _data_corr; - _mese_corr = _data_corr.month(); - break; case LF_RMOV: @@ -1359,20 +1334,19 @@ int CG3400_application::setta_righe_valuta(int riga) { TString16 codvali; real corrval; - int r = riga+1; - + int r = riga; corrval = current_cursor()->file(LF_MOV).get_real(MOV_CORRVALUTA); if (corrval != ZERO) { codvali = current_cursor()->file(LF_MOV).get(MOV_CODVALI); TString valut(corrval.string("###.###.###.###,@@")); - + r = riga+1; set_row(r,"@56gValuta %3s", (const char*)codvali); if (_stampa_width == 132) - set_row(r++,"@89gCorr.in valuta @109g%s", (const char*)valut); + set_row(r,"@89gCorr.in valuta @109g%s", (const char*)valut); else - set_row(r++,"@119gCorr.in valuta @171g%s", (const char*)valut); + set_row(r,"@119gCorr.in valuta @171g%s", (const char*)valut); } return r; } @@ -1902,10 +1876,7 @@ bool CG3400_application::init_cursor() _cur->setregion(da, a); _cur->set_filterfunction(filter_func); - if (_stampa_definitiva) - _cur->setfilter("STAMPATO!=\"X\""); - else - _cur->setfilter(""); + _cur->setfilter(_stampa_definitiva ? "STAMPATO!=\"X\"" : ""); (*_cur) = 0L;