Corretti errori MI4259,MI4260,MI4261

git-svn-id: svn://10.65.10.50/trunk@3438 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1996-08-26 08:18:40 +00:00
parent 59292187e6
commit 2175ca27dd

View File

@ -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);
}