diff --git a/ba/ba3600.cpp b/ba/ba3600.cpp index a817b312e..19a446d15 100755 --- a/ba/ba3600.cpp +++ b/ba/ba3600.cpp @@ -23,8 +23,8 @@ class BA3600_application : public TPrintapp { struct ind_lib { - char mese[3]; char anno[5]; + char mese[3]; char nini_plib[6]; long num_riga; long nfin_plib; @@ -93,12 +93,12 @@ public: void BA3600_application::init_sort() { - _lib = new ind_lib; + _lib = new ind_lib; _sort = new TSort (sizeof(ind_lib)); - _sort -> addsortkey((char*)&(_lib->mese) - (char*)&(_lib->mese),2); _sort -> addsortkey((char*)&(_lib->anno) - (char*)&(_lib->anno),4); - _sort -> addsortkey((char*)&(_lib->nini_plib) - (char*)&(_lib->nini_plib),5); + _sort -> addsortkey((char*)&(_lib->mese) - (char*)&(_lib->anno),2); + _sort -> addsortkey((char*)&(_lib->nini_plib) - (char*)&(_lib->anno),5); _sort->init(); } @@ -164,8 +164,8 @@ void BA3600_application::crea_sort() { ultimo_mese = mese; stampato = TRUE; - sprintf (_lib->mese, "%2d", mese); sprintf (_lib->anno, "%4d", anno); + sprintf (_lib->mese, "%2d", mese); sprintf (_lib->nini_plib, "%5d", numini_paglib); _lib->num_riga = num_riga; _lib->nfin_plib = numfin_paglib; @@ -221,7 +221,7 @@ void BA3600_application::dati_libro_unico() _stampa_ind = lbu.get_bool("B1"); _tipo_intesta = lbu.get_char("S2"); _codana_intesta = lbu.get_long("I4"); - _desc_cod_lib = lbu.get ("S2"); + _desc_cod_lib = lbu.get ("S0"); } } @@ -379,9 +379,9 @@ bool BA3600_application::preprocess_page(int file, int counter) // _stamp_bollato_str = _stamp_bollato.string(); //Il controllo di pagine fuori sequenza viene sempre effettuato, tranne che per - //il primo record. + //il primo record. (solo per stampa di prova) - if (counter) + if ( (counter) && (_tipo_stampa == 1) ) { nini_plib = _numini_paglib - 1; @@ -406,13 +406,6 @@ bool BA3600_application::preprocess_page(int file, int counter) return TRUE; } -/******* - bool BA3600_application::preprocess_bollato() - { - - } - ******/ - void BA3600_application::set_page(int file, int counter) { if (_tipo_stampa == 1) @@ -433,10 +426,22 @@ void BA3600_application::setta_righe_prova() set_row (i, "@1g#t", &_cod_lib); set_row (i, "@6g#5d", &_numini_paglib); set_row (i, "@13g#5d", &_numfin_paglib); - set_row (i, "@21g#5d", &_codditta); - set_row (i, "@27g#.41t", &_rag_soc); - set_row (i, "@69g#t", &_cod_reg); - set_row (i, "@73g#.31t", &_descrizione); + + if ((_pag_ann) && (_codditta == 0)) + set_row (i,"@27gPAGINE ANNULLATE"); + else + { + set_row (i,"@21g#5d", &_codditta); + set_row (i,"@27g#.41t", &_rag_soc); + } + if ((_pag_ann) && (_codditta != 0) && (_cod_reg == "")) + set_row (i,"@73gPAGINE ANNULLATE"); + else + { + set_row (i,"@69g#t", &_cod_reg); + set_row (i,"@73g#.31t", &_descrizione); + } + set_row (i, "@105g#t", &_cod_vidimaz); set_row (i, "@111g#5d", &_numini_pagut); set_row (i, "@117g#5d", &_numfin_pagut); @@ -452,12 +457,13 @@ void BA3600_application::setta_righe_bollato() i = 1; - if (_pag_fuori_sequenza) - set_row (i++,"@10gPAGINE FUORI SEQUENZA"); + // if (_pag_fuori_sequenza) + // set_row (i++,"@10gPAGINE FUORI SEQUENZA"); set_row (i,"@1g#t", &_cod_lib); set_row (i,"@6g#5d", &_numini_paglib); set_row (i,"@13g#5d", &_numfin_paglib); + if ((_pag_ann) && (_codditta == 0)) set_row (i,"@27gPAGINE ANNULLATE"); else @@ -465,18 +471,19 @@ void BA3600_application::setta_righe_bollato() set_row (i,"@21g#5d", &_codditta); set_row (i,"@27g#.41t", &_rag_soc); } - if ((_pag_ann) && (_cod_reg == "")) + if ((_pag_ann) && (_codditta != 0) && (_cod_reg == "")) set_row (i,"@73gPAGINE ANNULLATE"); else { set_row (i,"@69g#t", &_cod_reg); set_row (i,"@73g#.31t", &_descrizione); } + 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++,"@130g#t", &_stamp_bollato_str); + // 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); }