Patch level : AT

Files correlati     : at1300a.msk at1.exe
Ricompilazione Demo : [ ]
Commento            : Aggiunta selezione per categorie in stampa benemerenze


git-svn-id: svn://10.65.10.50/trunk@10563 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 2002-10-24 09:05:18 +00:00
parent 5ced9b7ae7
commit ba4d75fbe7
3 changed files with 193 additions and 16 deletions

View File

@ -49,6 +49,7 @@ class TStampaBenemerenze : public TPrintapp
TMask* _msk;
TEti_bensez_form* _form_eti;
TEti_bensez_form* _form_let;
TAssoc_array _categorie;
int _counter;
int _cur;
char _tiposta;
@ -60,6 +61,8 @@ class TStampaBenemerenze : public TPrintapp
int _contatore;
int _etlarghezza, _etcolonne;
bool _stampa80, _etictot;
static bool filter_func_benem(const TRelation* rel);
protected:
virtual bool user_create();
@ -83,6 +86,20 @@ TCursor* TEti_bensez_form::cursor() const { return app().current_cursor(); }
TRelation* TEti_bensez_form::relation() const { return cursor()->relation(); }
bool TStampaBenemerenze::filter_func_benem(const TRelation* rel)
{
bool filtrato = TRUE;
TRectype recsog = rel->lfile(LF_SOGGETTI).curr();
// filtro per categorie
TAssoc_array& categorie = app()._categorie;
if (categorie.items() != 0)
{
const TString16 cat = recsog.get(SOG_CATDON);
filtrato = categorie.is_key((const char*) cat);
}
return filtrato;
}
print_action TStampaBenemerenze::postprocess_print(int file, int counter)
{
if (_contatore > 0)
@ -424,6 +441,27 @@ bool TStampaBenemerenze::set_print(int m)
}
current_cursor()->setfilter((const char*) filtro, TRUE);
// filtro per categorie
_categorie.destroy();
const TString16 catpri = _msk->get(F_CAT1);
const TString16 catsec = _msk->get(F_CAT2);
const TString16 catter = _msk->get(F_CAT3);
const TString16 catqua = _msk->get(F_CAT4);
const TString16 catqui = _msk->get(F_CAT5);
const TString16 catses = _msk->get(F_CAT6);
if (catpri.not_empty())
_categorie.add((const char*) catpri);
if (catsec.not_empty())
_categorie.add((const char*) catsec);
if (catter.not_empty())
_categorie.add((const char*) catter);
if (catqua.not_empty())
_categorie.add((const char*) catqua);
if (catqui.not_empty())
_categorie.add((const char*) catqui);
if (catses.not_empty())
_categorie.add((const char*) catses);
current_cursor()->set_filterfunction(filter_func_benem);
_counter = 0;
_tipoold = "**";
reset_files();

View File

@ -15,6 +15,19 @@
#define F_TIPOSTA 112
#define F_D_TIPOBEN 113
#define F_CAT1 201
#define F_D_CAT1 202
#define F_CAT2 203
#define F_D_CAT2 204
#define F_CAT3 205
#define F_D_CAT3 206
#define F_CAT4 207
#define F_D_CAT4 208
#define F_CAT5 209
#define F_D_CAT5 210
#define F_CAT6 211
#define F_D_CAT6 212
#define F_SINTETICO 501
#define F_COMPLETO 502
#define F_ETICHETTE 503

View File

@ -35,12 +35,12 @@ PAGE "Elenco benemerenze per sezione" -1 -1 78 20
GROUPBOX DLG_NULL 77 4
BEGIN
PROMPT 1 0 "Scelta sezioni/sottogruppi"
PROMPT 1 1 "Scelta sezioni/sottogruppi"
END
STRING F_SEZINI 2
BEGIN
PROMPT 2 1 "Da "
PROMPT 2 2 "Da "
FLAGS "U"
USE LF_SEZIONI
INPUT CODSEZ F_SEZINI
@ -59,7 +59,7 @@ END
STRING F_D_SEZINI 25
BEGIN
PROMPT 11 1 ""
PROMPT 11 2 ""
FLAGS "U"
USE LF_SEZIONI KEY 2
INPUT DENSEZ F_D_SEZINI
@ -74,7 +74,7 @@ END
STRING F_SOTINI 2
BEGIN
PROMPT 2 2 " "
PROMPT 2 3 " "
COPY ALL F_SEZINI
CHECKTYPE SEARCH
HELP "Codice sottogruppo da cui partire"
@ -82,7 +82,7 @@ END
STRING F_D_SOTINI 25
BEGIN
PROMPT 11 2 ""
PROMPT 11 3 ""
FLAGS "U"
COPY USE F_D_SEZINI
INPUT DENSEZ F_D_SEZINI
@ -95,7 +95,7 @@ END
STRING F_SEZFIN 2
BEGIN
PROMPT 41 1 "A "
PROMPT 41 2 "A "
FLAGS "U"
USE LF_SEZIONI
INPUT CODSEZ F_SEZFIN
@ -114,7 +114,7 @@ END
STRING F_D_SEZFIN 25
BEGIN
PROMPT 49 1 ""
PROMPT 49 2 ""
FLAGS "U"
USE LF_SEZIONI KEY 2
INPUT DENSEZ F_D_SEZFIN
@ -129,7 +129,7 @@ END
STRING F_SOTFIN 2
BEGIN
PROMPT 41 2 " "
PROMPT 41 3 " "
COPY ALL F_SEZFIN
CHECKTYPE SEARCH
HELP "Codice sottogruppo finale"
@ -137,7 +137,7 @@ END
STRING F_D_SOTFIN 25
BEGIN
PROMPT 49 2 ""
PROMPT 49 3 ""
FLAGS "U"
COPY USE F_D_SEZFIN
INPUT DENSEZ F_D_SEZFIN
@ -148,24 +148,150 @@ BEGIN
HELP "Sottogruppo finale"
END
GROUPBOX DLG_NULL 77 5
BEGIN
PROMPT 1 5 "Categorie"
END
STRING F_CAT1 2
BEGIN
PROMPT 2 6 ""
FLAGS "U"
USE CTD
INPUT CODTAB F_CAT1
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@30" S0
OUTPUT F_CAT1 CODTAB
OUTPUT F_D_CAT1 S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Categoria di appartenenza"
END
STRING F_D_CAT1 30
BEGIN
PROMPT 8 6 ""
FLAGS "D"
END
STRING F_CAT2 2
BEGIN
PROMPT 2 7 ""
FLAGS "U"
USE CTD
INPUT CODTAB F_CAT2
COPY DISPLAY F_CAT1
OUTPUT F_CAT2 CODTAB
OUTPUT F_D_CAT2 S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Categoria di appartenenza"
END
STRING F_D_CAT2 30
BEGIN
PROMPT 8 7 ""
FLAGS "D"
END
STRING F_CAT3 2
BEGIN
PROMPT 2 8 ""
FLAGS "U"
USE CTD
INPUT CODTAB F_CAT3
COPY DISPLAY F_CAT1
OUTPUT F_CAT3 CODTAB
OUTPUT F_D_CAT3 S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Categoria di appartenenza"
END
STRING F_D_CAT3 30
BEGIN
PROMPT 8 8 ""
FLAGS "D"
END
STRING F_CAT4 2
BEGIN
PROMPT 40 6 ""
FLAGS "U"
USE CTD
INPUT CODTAB F_CAT4
COPY DISPLAY F_CAT1
OUTPUT F_CAT4 CODTAB
OUTPUT F_D_CAT4 S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Categoria di appartenenza"
END
STRING F_D_CAT4 30
BEGIN
PROMPT 46 6 ""
FLAGS "D"
END
STRING F_CAT5 2
BEGIN
PROMPT 40 7 ""
FLAGS "U"
USE CTD
INPUT CODTAB F_CAT5
COPY DISPLAY F_CAT1
OUTPUT F_CAT5 CODTAB
OUTPUT F_D_CAT5 S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Categoria di appartenenza"
END
STRING F_D_CAT5 30
BEGIN
PROMPT 46 7 ""
FLAGS "D"
END
STRING F_CAT6 2
BEGIN
PROMPT 40 8 ""
FLAGS "U"
USE CTD
INPUT CODTAB F_CAT6
COPY DISPLAY F_CAT1
OUTPUT F_CAT6 CODTAB
OUTPUT F_D_CAT6 S0
CHECKTYPE NORMAL
WARNING "Codice non presente"
HELP "Categoria di appartenenza"
END
STRING F_D_CAT6 30
BEGIN
PROMPT 46 8 ""
FLAGS "D"
END
GROUPBOX DLG_NULL 77 4
BEGIN
PROMPT 1 5 "Selezioni dati per la stampa"
PROMPT 1 10 "Opzioni per la stampa"
END
DATA F_DATAINI
BEGIN
PROMPT 2 6 "Benemerenze dal "
PROMPT 2 11 "Benemerenze dal "
END
DATA F_DATAFIN
BEGIN
PROMPT 31 6 "al "
PROMPT 31 11 "al "
END
STRING F_TIPOBEN 2
BEGIN
PROMPT 2 7 "Tipo benemerenza "
PROMPT 2 12 "Tipo benemerenza "
FLAGS "U"
USE BNZ
INPUT CODTAB F_TIPOBEN
@ -180,20 +306,20 @@ END
RADIOBUTTON F_TIPOSTA 40
BEGIN
PROMPT 2 9 "Stampa per sezione "
PROMPT 1 14 "Stampa per sezione "
ITEM "B|che ha attribuito la benemerenza"
ITEM "S|di appartenenza attuale"
END
STRING F_D_TIPOBEN 30
BEGIN
PROMPT 25 7 ""
PROMPT 25 12 ""
FLAGS "D"
END
TEXT DLG_NULL
BEGIN
PROMPT 57 7 "(vuota = tutte)"
PROMPT 57 12 "(vuota = tutte)"
END
ENDPAGE