Patch level :10.0 228

Files correlati     :ce0.exe ce0500a.msk
Ricompilazione Demo : [ ]
Commento            :
sistemate le ricerche nella maschera di immissione cespiti. Non erano mai funzionate così bene...anzi, non erano mai funzionate


git-svn-id: svn://10.65.10.50/trunk@18210 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2009-02-06 12:31:47 +00:00
parent 3ea712c4cd
commit 26ebee4491
2 changed files with 47 additions and 42 deletions

View File

@ -119,6 +119,7 @@ protected:
int calcola_stato_attivita();
bool cespite_ok() const;
void set_cespi_filter();
void crea_filtro(TString& filter) const;
public:
int stato_attivita() const { return _staat; }
@ -152,6 +153,31 @@ void TQuery_mask::on_user_search(TOperable_field& o)
}
}
//metodo per creare il filtro in base ai parametri maschera
void TQuery_mask::crea_filtro(TString& filter) const
{
if (get(F_SELECT) == "I") // Filtro per impianto
{
const TString& imp = get(F_IMPIANTO);
if (imp.full())
filter << '(' << CESPI_CODIMP << "=\"" << imp << "\")";
}
else // Filtro per attività
{
filter << "(STR(" << CESPI_CODCGRA << "=" << get_int(F_GRUPPO) << ')';
TString4 specie = get(F_SPECIE); specie.rtrim(); // Toglie spazi FINALI
filter << "&&(" << CESPI_CODSPA << "=\"" << specie << "\"))";
}
const int cat = get_int(F_CATEGORIA);
if (cat > 0)
{
if (filter.full())
filter << "&&";
filter << "(STR(CODCAT==" << cat << "))";
}
}
void TQuery_mask::on_search_event(TOperable_field& o)
{
TToken_string order, fields, header;
@ -181,22 +207,10 @@ void TQuery_mask::on_search_event(TOperable_field& o)
rel.add("CIM","CODTAB==CODIMP");
TString filter;
if (get(F_SELECT) == "I") // Filtro per impianto
{
const TString& imp = get(F_IMPIANTO);
if (!imp.empty())
filter << CESPI_CODIMP << "=\"" << imp << '"';
}
else // Filtro per attività
{
filter << "STR(" << CESPI_CODCGRA << "=" << get_int(F_GRUPPO) << ')';
TString4 specie = get(F_SPECIE); specie.rtrim(); // Toglie spazi FINALI
filter << "&&(" << CESPI_CODSPA << "=\"" << specie << "\")";
}
crea_filtro(filter);
TSorted_cursor cur(&rel, order, filter);
TCursor_sheet sht(&cur, order, TR("Cespiti"), header, 0, 1);
TCursor_sheet sht(&cur, fields, TR("Cespiti"), header, 0, 1);
if (sht.run() == K_ENTER)
{
@ -243,18 +257,8 @@ bool TQuery_mask::cespite_ok() const
void TQuery_mask::set_cespi_filter()
{
TString filter;
if (get(F_SELECT) == "I") // Filtro per impianto
{
const TString& imp = get(F_IMPIANTO);
if (!imp.empty())
filter << CESPI_CODIMP << "=\"" << imp << '"';
}
else // Filtro per attività
{
filter << "STR(" << CESPI_CODCGRA << "=" << get_int(F_GRUPPO) << ')';
TString4 specie = get(F_SPECIE); specie.rtrim(); // Toglie spazi FINALI
filter << "&&(" << CESPI_CODSPA << "=\"" << specie << "\")";
}
crea_filtro(filter);
efield(F_IDCESPITE).browse()->set_filter(filter);
efield(F_DESC).browse()->set_filter(filter);
}
@ -319,6 +323,7 @@ bool TQuery_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
}
if (e == fe_close && o.empty() && !field(F_IDCESPITE).empty() && !cespite_ok())
return error_box(TR("È necessario specificare la categoria del nuovo cespite"));
set_cespi_filter();
}
}
break;

View File

@ -6,7 +6,7 @@ ENDPAGE
PAGE "Anagrafica cespiti" 0 2 0 0
GROUPBOX DLG_NULL 78 6
GROUPBOX DLG_NULL 78 8
BEGIN
PROMPT 0 1 "@bParametri ditta"
END
@ -57,7 +57,7 @@ END
RADIOBUTTON F_SELECT 1 75
BEGIN
PROMPT 1 3 ""
PROMPT 1 4 "Ricerca per: "
FLAGS "Z"
ITEM "A|Attività"
MESSAGE SHOW,1@|HIDE,2@
@ -67,14 +67,14 @@ END
NUMBER F_GRUPPO 2
BEGIN
PROMPT 1 5 "Gruppo "
PROMPT 1 7 "Gruppo "
FLAGS "Z"
GROUP 1
END
STRING F_SPECIE 4
BEGIN
PROMPT 16 5 "Specie "
PROMPT 16 7 "Specie "
FLAGS "_"
USE CCB
JOIN %CAT ALIAS 400 INTO CODTAB=CODTAB[5,10]
@ -93,14 +93,14 @@ END
STRING F_DESC_GRSP 60 45
BEGIN
PROMPT 31 5 ""
PROMPT 31 7 ""
FLAGS "D"
GROUP 1
END
NUMBER F_IMPIANTO 10
BEGIN
PROMPT 1 5 "Impianto "
PROMPT 1 7 "Impianto "
FLAGS "Z"
USE CIM
INPUT CODTAB F_IMPIANTO
@ -114,7 +114,7 @@ END
STRING F_DESC_IMP 50 45
BEGIN
PROMPT 26 5 ""
PROMPT 26 7 ""
FLAGS "Z"
USE CIM KEY 2
INPUT S0 F_DESC_IMP
@ -127,7 +127,7 @@ END
NUMBER F_CATEGORIA 2
BEGIN
PROMPT 1 7 "Categoria "
PROMPT 1 9 "Categoria "
FLAGS "BZ"
DRIVENBY F_GRUPPO
DRIVENBY F_SPECIE
@ -137,7 +137,7 @@ END
STRING F_DESC_CAT 60 58
BEGIN
PROMPT 16 7 ""
PROMPT 16 9 ""
FLAGS "B"
DRIVENBY F_GRUPPO
DRIVENBY F_SPECIE
@ -145,7 +145,7 @@ END
STRING F_IDCESPITE 10
BEGIN
PROMPT 1 8 "Cespite "
PROMPT 1 10 "Cespite "
FLAGS "UZ"
USE LF_CESPI
INPUT IDCESPITE F_IDCESPITE
@ -167,7 +167,7 @@ END
STRING F_DESC 60 50
BEGIN
PROMPT 24 8 ""
PROMPT 24 10 ""
USE LF_CESPI KEY 3
INPUT DESC F_DESC
DISPLAY "Descrizione@50" DESC
@ -184,24 +184,24 @@ BEGIN
KEY 2
END
GROUPBOX DLG_NULL 78 13
GROUPBOX DLG_NULL 78 12
BEGIN
PROMPT 1 9 "@bRicerce alternative e personalizzate"
PROMPT 0 11 "@bRicerche alternative e personalizzate"
END
BUTTON F_SEARCH1 22 2
BEGIN
PROMPT 2 10 "Per categoria"
PROMPT 1 12 "Per categoria"
END
BUTTON F_SEARCH2 22 2
BEGIN
PROMPT 28 10 "Per impianto"
PROMPT 27 12 "Per impianto"
END
BUTTON F_SEARCH3 22 2
BEGIN
PROMPT 54 10 "Per stabilimento"
PROMPT 53 12 "Per stabilimento"
END
ENDPAGE