Patch level : 1.7 at

Files correlati     : at5.exe
Ricompilazione Demo : [ ]
Commento            : stampa turni per controlli, adeguato alle etichette su piu' colonne


git-svn-id: svn://10.65.10.50/trunk@13811 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 2006-02-23 14:22:10 +00:00
parent 805c73bad0
commit 7a9b8019a4

@ -63,7 +63,7 @@ class TTurniControlli : public TPrintapp
TString16 _codsez, _codsot, _orario, _datacart;
TString80 _invitoper, _data, _presso1, _presso2, _presso3, _presso4;
TString80 _note, _intest1, _intest2, _intest3, _intest4;
int _etlarghezza, _etcolonne;
int _etlarghezza, _etcolonne, _etrighe, _etbordoini, _etbordofin, _netichette;
int _caxpag, _cabordoini, _cabordofin, _ncartoline;
static bool filter_func_turnicon(const TRelation* rel);
@ -256,8 +256,8 @@ bool TTurniControlli::preprocess_page(int file, int counter)
}
if (printer().rows_left() < 4)
printer().formfeed();
}
if (_tipostampa==etichette)
}
if (_tipostampa==etichette && _etrighe == 0)
if (printer().rows_left() < _form_eti->get_body().height())
printer().formfeed();
_contatore++;
@ -328,16 +328,37 @@ void TTurniControlli::set_page(int file, int cnt)
}
break;
case etichette:
{
{
TPrint_section& corpo = _form_eti->get_body();
corpo.update();
for (word i = 0; i < corpo.height(); i++)
{
TPrintrow& riga = corpo.row(i);
set_row(i+1,riga);
}
force_setpage(TRUE); // serve perchè alla prossima etichetta rifaccia la setpage
// altrimenti stampa sempre la stessa etichetta
for (int r=1;r<=_etcolonne;r++)
{
if (current_cursor()->pos()<current_cursor()->items())
{
_netichette++;
force_setpage(TRUE);
corpo.update();
int nriga = 1;
if (_etrighe > 0)
{
int resto = _netichette % (_etrighe*_etcolonne);
if (resto > 0 && resto <= _etcolonne)
nriga = nriga+_etbordoini;
}
for (word i = 0; i < corpo.height(); i++)
{
TPrintrow& riga = corpo.row(i);
TString256 riga1 = riga.row();
riga1.cut(_etlarghezza);
int colonna = ((r-1)*_etlarghezza);
TString16 formato;
formato << '@' << colonna << "g";
riga1.insert(formato,0);
set_row(nriga++,riga1);
}
if (r < _etcolonne)
++(*current_cursor());
}
}
}
break;
case elenco:
@ -500,7 +521,8 @@ bool TTurniControlli::set_print(int)
_datafin = _msk->get_date(F_DATAFIN);
_contatore = 0;
_totale = 0;
_ncartoline = 0;
_ncartoline = 0;
_netichette = 0;
reset_files();
add_file(LF_SOGGETTI);
filtra_sezioni();
@ -588,6 +610,9 @@ bool TTurniControlli::user_create()
TString16 etformato = config.get("EtFormato");
_etlarghezza = config.get_int("EtLarghezza");
_etcolonne = config.get_int("EtColonne");
_etrighe = config.get_int("EtRighe");
_etbordoini = config.get_int("EtBordoIni");
_etbordofin = config.get_int("EtBordoFin");
_form_eti = new TEti_turnicon_form(etformato);
TString16 caformato = config.get("CaFormato");