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; TMask* _msk;
TEti_bensez_form* _form_eti; TEti_bensez_form* _form_eti;
TEti_bensez_form* _form_let; TEti_bensez_form* _form_let;
TAssoc_array _categorie;
int _counter; int _counter;
int _cur; int _cur;
char _tiposta; char _tiposta;
@ -61,6 +62,8 @@ class TStampaBenemerenze : public TPrintapp
int _etlarghezza, _etcolonne; int _etlarghezza, _etcolonne;
bool _stampa80, _etictot; bool _stampa80, _etictot;
static bool filter_func_benem(const TRelation* rel);
protected: protected:
virtual bool user_create(); virtual bool user_create();
virtual bool user_destroy(); virtual bool user_destroy();
@ -83,6 +86,20 @@ TCursor* TEti_bensez_form::cursor() const { return app().current_cursor(); }
TRelation* TEti_bensez_form::relation() const { return cursor()->relation(); } 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) print_action TStampaBenemerenze::postprocess_print(int file, int counter)
{ {
if (_contatore > 0) if (_contatore > 0)
@ -424,6 +441,27 @@ bool TStampaBenemerenze::set_print(int m)
} }
current_cursor()->setfilter((const char*) filtro, TRUE); 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; _counter = 0;
_tipoold = "**"; _tipoold = "**";
reset_files(); reset_files();

View File

@ -15,6 +15,19 @@
#define F_TIPOSTA 112 #define F_TIPOSTA 112
#define F_D_TIPOBEN 113 #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_SINTETICO 501
#define F_COMPLETO 502 #define F_COMPLETO 502
#define F_ETICHETTE 503 #define F_ETICHETTE 503

View File

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