diff --git a/at/at2700.cpp b/at/at2700.cpp index f055a97da..27d28399c 100755 --- a/at/at2700.cpp +++ b/at/at2700.cpp @@ -87,7 +87,8 @@ class TStampaPerCategorie : public TPrintapp TString80 _invitoper, _data, _presso1, _presso2, _presso3, _presso4; TString80 _note, _intest1, _intest2, _intest3, _intest4; bool _usomodo, _usasez; - int _etlarghezza, _etcolonne, _schxpag, _lenpage, _etnlarghezza, _etncolonne; + int _schxpag, _lenpage, _etnlarghezza, _etncolonne; + int _etlarghezza, _etcolonne, _etrighe, _etbordoini, _etbordofin, _netichette; bool _stampa80, _etictot; protected: @@ -299,7 +300,15 @@ void TStampaPerCategorie::set_page(int file, int cnt) TForm_item& cognome = corpo.find_field(ETI_COGNOME); cognome.set(_cognome_nome); corpo.update(); - _contatore++; + _contatore++; + _netichette++; + 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); @@ -309,7 +318,7 @@ void TStampaPerCategorie::set_page(int file, int cnt) TString16 formato; formato << '@' << colonna << 'g'; riga1.insert(formato,0); - set_row(i+1,riga1); + set_row(nriga++,riga1); } if (r < _etcolonne) { @@ -705,7 +714,7 @@ bool TStampaPerCategorie::preprocess_page(int file, int counter) if (((_tipostampa==sintetico) && ((_stampa80 && printer().rows_left()<4) || (printer().rows_left()<3))) || (printer().rows_left()<6 && _tipostampa==completo)) printer().formfeed(); } - if (_tipostampa==etichette) + if (_tipostampa==etichette && _etrighe == 0) if (printer().rows_left() < _form_eti->get_body().height()) printer().formfeed(); if (_tipostampa==notiziario) @@ -908,7 +917,8 @@ bool TStampaPerCategorie::set_print(int m) _codsot = "**"; _gruppoold = "**"; _contatore = 0; - TString80 chiave = ""; + _netichette = 0; + TString256 chiave = ""; _pergruppo = _msk->get_bool(F_PERGRUPPO); _perfamiglie = _msk->get_bool(F_PERFAMIGLIE); _nosottogruppo = _msk->get_bool(F_NOSOTTOGRUPPO); @@ -1160,10 +1170,15 @@ bool TStampaPerCategorie::user_create() _msk = new TMask("at2700a"); _file = new TExternisamfile("$file"); TConfig config(CONFIG_STUDIO); + 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_percat_form(etformato); + TString16 etnformato = config.get("EtNFormato"); _etnlarghezza = config.get_int("EtNLarghezza"); _etncolonne = config.get_int("EtNColonne");