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:
parent
3ea712c4cd
commit
26ebee4491
@ -119,6 +119,7 @@ protected:
|
|||||||
int calcola_stato_attivita();
|
int calcola_stato_attivita();
|
||||||
bool cespite_ok() const;
|
bool cespite_ok() const;
|
||||||
void set_cespi_filter();
|
void set_cespi_filter();
|
||||||
|
void crea_filtro(TString& filter) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
int stato_attivita() const { return _staat; }
|
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)
|
void TQuery_mask::on_search_event(TOperable_field& o)
|
||||||
{
|
{
|
||||||
TToken_string order, fields, header;
|
TToken_string order, fields, header;
|
||||||
@ -181,22 +207,10 @@ void TQuery_mask::on_search_event(TOperable_field& o)
|
|||||||
rel.add("CIM","CODTAB==CODIMP");
|
rel.add("CIM","CODTAB==CODIMP");
|
||||||
|
|
||||||
TString filter;
|
TString filter;
|
||||||
|
crea_filtro(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 << "\")";
|
|
||||||
}
|
|
||||||
|
|
||||||
TSorted_cursor cur(&rel, order, 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)
|
if (sht.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
@ -243,18 +257,8 @@ bool TQuery_mask::cespite_ok() const
|
|||||||
void TQuery_mask::set_cespi_filter()
|
void TQuery_mask::set_cespi_filter()
|
||||||
{
|
{
|
||||||
TString filter;
|
TString filter;
|
||||||
if (get(F_SELECT) == "I") // Filtro per impianto
|
crea_filtro(filter);
|
||||||
{
|
|
||||||
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 << "\")";
|
|
||||||
}
|
|
||||||
efield(F_IDCESPITE).browse()->set_filter(filter);
|
efield(F_IDCESPITE).browse()->set_filter(filter);
|
||||||
efield(F_DESC).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())
|
if (e == fe_close && o.empty() && !field(F_IDCESPITE).empty() && !cespite_ok())
|
||||||
return error_box(TR("È necessario specificare la categoria del nuovo cespite"));
|
return error_box(TR("È necessario specificare la categoria del nuovo cespite"));
|
||||||
|
set_cespi_filter();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -6,7 +6,7 @@ ENDPAGE
|
|||||||
|
|
||||||
PAGE "Anagrafica cespiti" 0 2 0 0
|
PAGE "Anagrafica cespiti" 0 2 0 0
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 6
|
GROUPBOX DLG_NULL 78 8
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 1 "@bParametri ditta"
|
PROMPT 0 1 "@bParametri ditta"
|
||||||
END
|
END
|
||||||
@ -57,7 +57,7 @@ END
|
|||||||
|
|
||||||
RADIOBUTTON F_SELECT 1 75
|
RADIOBUTTON F_SELECT 1 75
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 3 ""
|
PROMPT 1 4 "Ricerca per: "
|
||||||
FLAGS "Z"
|
FLAGS "Z"
|
||||||
ITEM "A|Attività"
|
ITEM "A|Attività"
|
||||||
MESSAGE SHOW,1@|HIDE,2@
|
MESSAGE SHOW,1@|HIDE,2@
|
||||||
@ -67,14 +67,14 @@ END
|
|||||||
|
|
||||||
NUMBER F_GRUPPO 2
|
NUMBER F_GRUPPO 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 "Gruppo "
|
PROMPT 1 7 "Gruppo "
|
||||||
FLAGS "Z"
|
FLAGS "Z"
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_SPECIE 4
|
STRING F_SPECIE 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 16 5 "Specie "
|
PROMPT 16 7 "Specie "
|
||||||
FLAGS "_"
|
FLAGS "_"
|
||||||
USE CCB
|
USE CCB
|
||||||
JOIN %CAT ALIAS 400 INTO CODTAB=CODTAB[5,10]
|
JOIN %CAT ALIAS 400 INTO CODTAB=CODTAB[5,10]
|
||||||
@ -93,14 +93,14 @@ END
|
|||||||
|
|
||||||
STRING F_DESC_GRSP 60 45
|
STRING F_DESC_GRSP 60 45
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 31 5 ""
|
PROMPT 31 7 ""
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_IMPIANTO 10
|
NUMBER F_IMPIANTO 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 "Impianto "
|
PROMPT 1 7 "Impianto "
|
||||||
FLAGS "Z"
|
FLAGS "Z"
|
||||||
USE CIM
|
USE CIM
|
||||||
INPUT CODTAB F_IMPIANTO
|
INPUT CODTAB F_IMPIANTO
|
||||||
@ -114,7 +114,7 @@ END
|
|||||||
|
|
||||||
STRING F_DESC_IMP 50 45
|
STRING F_DESC_IMP 50 45
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 26 5 ""
|
PROMPT 26 7 ""
|
||||||
FLAGS "Z"
|
FLAGS "Z"
|
||||||
USE CIM KEY 2
|
USE CIM KEY 2
|
||||||
INPUT S0 F_DESC_IMP
|
INPUT S0 F_DESC_IMP
|
||||||
@ -127,7 +127,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_CATEGORIA 2
|
NUMBER F_CATEGORIA 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 7 "Categoria "
|
PROMPT 1 9 "Categoria "
|
||||||
FLAGS "BZ"
|
FLAGS "BZ"
|
||||||
DRIVENBY F_GRUPPO
|
DRIVENBY F_GRUPPO
|
||||||
DRIVENBY F_SPECIE
|
DRIVENBY F_SPECIE
|
||||||
@ -137,7 +137,7 @@ END
|
|||||||
|
|
||||||
STRING F_DESC_CAT 60 58
|
STRING F_DESC_CAT 60 58
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 16 7 ""
|
PROMPT 16 9 ""
|
||||||
FLAGS "B"
|
FLAGS "B"
|
||||||
DRIVENBY F_GRUPPO
|
DRIVENBY F_GRUPPO
|
||||||
DRIVENBY F_SPECIE
|
DRIVENBY F_SPECIE
|
||||||
@ -145,7 +145,7 @@ END
|
|||||||
|
|
||||||
STRING F_IDCESPITE 10
|
STRING F_IDCESPITE 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 8 "Cespite "
|
PROMPT 1 10 "Cespite "
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
USE LF_CESPI
|
USE LF_CESPI
|
||||||
INPUT IDCESPITE F_IDCESPITE
|
INPUT IDCESPITE F_IDCESPITE
|
||||||
@ -167,7 +167,7 @@ END
|
|||||||
|
|
||||||
STRING F_DESC 60 50
|
STRING F_DESC 60 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 24 8 ""
|
PROMPT 24 10 ""
|
||||||
USE LF_CESPI KEY 3
|
USE LF_CESPI KEY 3
|
||||||
INPUT DESC F_DESC
|
INPUT DESC F_DESC
|
||||||
DISPLAY "Descrizione@50" DESC
|
DISPLAY "Descrizione@50" DESC
|
||||||
@ -184,24 +184,24 @@ BEGIN
|
|||||||
KEY 2
|
KEY 2
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 13
|
GROUPBOX DLG_NULL 78 12
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 9 "@bRicerce alternative e personalizzate"
|
PROMPT 0 11 "@bRicerche alternative e personalizzate"
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON F_SEARCH1 22 2
|
BUTTON F_SEARCH1 22 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 10 "Per categoria"
|
PROMPT 1 12 "Per categoria"
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON F_SEARCH2 22 2
|
BUTTON F_SEARCH2 22 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 28 10 "Per impianto"
|
PROMPT 27 12 "Per impianto"
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON F_SEARCH3 22 2
|
BUTTON F_SEARCH3 22 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 54 10 "Per stabilimento"
|
PROMPT 53 12 "Per stabilimento"
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user