diff --git a/at/at5200.cpp b/at/at5200.cpp index d8b795f62..0a4147107 100755 --- a/at/at5200.cpp +++ b/at/at5200.cpp @@ -52,6 +52,7 @@ class TSitSanitaria : public TPrintapp TDate _data_stampa; TString16 _codsez, _codsot; TString16 _tipo1, _tipo2, _tipo3, _tipo4, _tipo5; + TString16 _lettini, _lettfin; TParagraph_string _cognome_nome, _rigastampa, _dencom; ts _tipostampa; int _etlarghezza, _etcolonne; @@ -278,7 +279,17 @@ bool TSitSanitaria::filter_func_sitsanitaria(const TRelation* rel) const TString16 cat = recsog.get(SOG_CATDON); filtrato = categorie.is_key((const char*) cat); } - + // filtro per iniziale cognome + if (filtrato && (!app()._lettini.blank()) && (!app()._lettfin.blank())) + { + TString80 cognome = recsog.get(SOG_COGNOME); + int leni = app()._lettini.len(); + TString16 cognomei = cognome.left(leni); + int lenf = app()._lettfin.len(); + TString16 cognomef = cognome.left(lenf); + if (!(cognomei >= app()._lettini && cognomef <= app()._lettfin)) + filtrato = FALSE; + } return filtrato; } @@ -286,7 +297,7 @@ void TSitSanitaria::header_sezione(const TString16 codsez, const TString16 codso { const TString80 densez = current_cursor()->curr(LF_SEZIONI).get(SEZ_DENSEZ); const TString80 densot = current_cursor()->curr(LF_SEZIONI).get(SEZ_DENSOT); - TString intestazione(100); + TString intestazione(132); intestazione = "Sezione: "; intestazione << codsez; intestazione << "/"; @@ -326,6 +337,10 @@ bool TSitSanitaria::set_print(int) _tipo3 = _msk->get(F_TIPO3); _tipo4 = _msk->get(F_TIPO4); _tipo5 = _msk->get(F_TIPO5); + _lettini = _msk->get(F_LETTINI); + _lettini.left(15); + _lettfin = _msk->get(F_LETTFIN); + _lettfin.left(15); _contatore = 0; _totale = 0; reset_files(); diff --git a/at/at5200a.h b/at/at5200a.h index 15c55ff7f..cdd17f704 100755 --- a/at/at5200a.h +++ b/at/at5200a.h @@ -33,6 +33,8 @@ #define F_D_TIPO4 308 #define F_TIPO5 309 #define F_D_TIPO5 310 +#define F_LETTINI 311 +#define F_LETTFIN 312 #define F_ELENCO 401 #define F_ETICHETTE 402 diff --git a/at/at5200a.uml b/at/at5200a.uml index 224ae9606..90f943f6b 100755 --- a/at/at5200a.uml +++ b/at/at5200a.uml @@ -375,5 +375,22 @@ BEGIN FLAGS "D" END +STRING F_LETTINI 15 +BEGIN + PROMPT 2 18 "Selezione iniziali cognome: da " + FLAG "U" + //PICTURE "!!" +END + +STRING F_LETTFIN 15 +BEGIN + PROMPT 50 18 "a " + FLAG "U" + //VALIDATE (#F_LETTINI<=#F_LETTFIN) + //PICTURE "!!" +END + + + ENDPAGE ENDMASK