From 2175ca27dd7183b77c5bc92d3aa86fb9164c53c0 Mon Sep 17 00:00:00 2001 From: angelo Date: Mon, 26 Aug 1996 08:18:40 +0000 Subject: [PATCH] Corretti errori MI4259,MI4260,MI4261 git-svn-id: svn://10.65.10.50/trunk@3438 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ba/ba3600.cpp | 47 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/ba/ba3600.cpp b/ba/ba3600.cpp index faee5f809..849c6341b 100755 --- a/ba/ba3600.cpp +++ b/ba/ba3600.cpp @@ -69,6 +69,7 @@ public: virtual bool preprocess_page (int,int); virtual print_action postprocess_page (int,int); + virtual void postclose_print(); virtual void preprocess_header(); virtual void set_page(int,int); @@ -193,16 +194,20 @@ void BA3600_application::crea_sort() _sort->endsort(); } - // Se si tratta di una stampa su libro bollato, aggiorno sulla tabella %LBU // l' ultimo mese stampato, l' ultima pagina stampata e il flag che indica se + // Se si tratta di una stampa su libro bollato, aggiorno sulla tabella %LBU + // l' ultimo mese stampato, l' ultima pagina stampata e il flag che indica se // quel record e' stato stampato su bollato if ((_tipo_stampa == 2) && (stampato)) // stampato e' il flag che mi dice { //se almeno un record, nella stampa _tab_lbu->put("I0", ultimo_mese); //su bollato, va in stampa. In caso - _tab_lbu->put("I1", numfin_paglib); //contrario non avrebbe senso - _tab_lbu->rewrite(); //aggiornare %LBU. ES:tutti i record - } //di quel mese sono gia stati stampati -} //su bollato (flag = TRUE). + if (_cod_lib == _cod_lib_stampa) //contrario non avrebbe senso + _tab_lbu->put("I1", numfin_paglib);//aggiornare %LBU. ES:tutti i record + _tab_lbu->rewrite(); //di quel mese sono gia stati stampati + } //su bollato (flag = TRUE). +} //Comunque il numero ultima pagina stampata va aggiornato + //con l'ultima pagina dell'ultimo indice solo se il i libri + //selezionati sono gli stessi (libro di studio e libro di stampa). void BA3600_application::dati_libro_unico() { @@ -343,6 +348,27 @@ bool BA3600_application::set_print(int) } ***********/ +void BA3600_application::postclose_print() +{ // Se ha stampato in definitiva, aggiorna il numero di pagine stampate sul libro unico. + // Viene incrementato del numero di pagine stampate per gli indici + if ((_tipo_stampa == 2)) + { + TString dep; + long numfin_paglib; + + _tab_lbu->zero(); + dep.format ("%4d%-3s", _anno, (const char*)_cod_lib_stampa); // Va aggiornato il libro sul quale si stampa! + _tab_lbu->put("CODTAB", (const char*) dep); + if (_tab_lbu->read() == NOERR) + { + numfin_paglib = _tab_lbu->get_long("I1"); + numfin_paglib += get_page_number(); + _tab_lbu->put("I1", numfin_paglib); + _tab_lbu->rewrite(); + } + } +} + bool BA3600_application::preprocess_page(int file, int counter) { struct ind_lib* lib = (struct ind_lib*) _buff; @@ -445,7 +471,7 @@ void BA3600_application::setta_righe_prova() set_row (i, "@117g#5d", &_numfin_pagut); set_row (i, "@124g#5d", &_num_riga); set_row (i++,"@131g#t", &_stamp_bollato_str); - if (_stampa_ind) + if (_stampa_ind && !_pag_ann) set_row (i ,"@27g#t #t #t #t #t", &_ind_dta, &_civ_dta, &_cap_dta, &_com_dta, &_prov_dta); } @@ -479,8 +505,7 @@ void BA3600_application::setta_righe_bollato() set_row (i,"@105g#t", &_cod_vidimaz); set_row (i,"@111g#5d", &_numini_pagut); - set_row (i,"@117g#5d", &_numfin_pagut); - set_row (i++,"@124g#5d", &_num_riga); + set_row (i++,"@117g#5d", &_numfin_pagut); // set_row (i++,"@130g#t", &_stamp_bollato_str); if (_stampa_ind) set_row (i ,"@27g#t #t #t #t #t", &_ind_dta, &_civ_dta, &_cap_dta, &_com_dta, &_prov_dta); @@ -636,9 +661,11 @@ void BA3600_application::crea_intestazione_bollato() reset_header(); + /* sep << "Pag. @#"; sep.right_just(132); set_header (2,(const char*) sep); + */ datastampastr = _datastampa.string(); @@ -660,8 +687,8 @@ void BA3600_application::crea_intestazione_bollato() sep.fill('-'); //Stampa 132 - (sep(132)) set_header (4, (const char *) sep); - set_header (5,"@0gCod.@6gNumero@13gpagine@21gCodice@69gCod.@104gCodice@111gN.pag.@118gutente@126gNum."); - set_header (6,"@0gLibro@8gda@16ga@21gditta@28gDenominazione@69greg.@74gDescrizione@104gvidim.@112gutilizzate@126greg."); + set_header (5,"@0gCod.@6gNumero@13gpagine@21gCodice@69gCod.@104gCodice@111gN.pag.@118gutente"); + set_header (6,"@0gLibro@8gda@16ga@21gditta@28gDenominazione@69greg.@74gDescrizione@104gvidim.@112gutilizzate"); set_header (7, (const char *) sep); }