Pagina 1 di 1
Ricerca avanzata per data con valore di default
Inviato: 17 nov 2014, 11:33
da cianop
Ciao a tutti, ho una tabella che contiene l'elenco di tutti gli ordini e mi piacerebbe che quando apro la grid collegata questa mostrasse gli ultimi 3 mesi e poi con la ricerca avanzata andare eventualmente a modificare questo periodo.
Praticamente è come se avessi la ricerca avanzata per data impostata sugli ultimi 3 mesi all'inizio. Sto cercando di capire in quale evento inserire il codice e come interagire con il form della ricerca avanzata.
grazie
ciano
Re: Ricerca avanzata per data con valore di default
Inviato: 18 nov 2014, 08:12
da Fabio
Ciao, una cosa simile si può fare semplicemente ordinando per data decrescente.
L'elenco mostrerebbe nelle prime pagine gli ordini degli ultimi mesi.
Non c'è il controllo stretto sul periodo ma per l'utente l'utilità è la medesima.
Se invece vuoi ottenere esattamente gli ultimi 3 mesi potresti lavorare nell'evento onLoad:
costruendo una stringa che contiene il filtro "WHERE data.." ed accodandola alla stringa sql mediante la macro sc_where(add).
Questa stringa potrebbe essere valorizzata in base ad un parametro nell'url, presente solo quando apri la pagina da un link che lo valorizza.
Negli altri casi rimane vuota e quindi non interferisce con i parametri di ricerca avanzata.
Un po' legnoso come sistema però..
Re: Ricerca avanzata per data con valore di default
Inviato: 21 nov 2014, 09:34
da cianop
Ciao Fabio, ti ringrazio per la risposta, e mi è stata utile. Giusto un paio di precisazioni che potrebbero essere utili anche ad altri:
l'ordinamento decrescente nel mio caso aveva poco senso perchè la grid parte in modalità riassuntiva pivot.
ho inserito nell'envento onScriptInit della grid
if ([last_period]){
sc_select_where(add)=" and data between DATE_FORMAT((NOW() -INTERVAL 3 MONTH),'%Y-%m-01') and LAST_DAY(NOW() - INTERVAL 1 MONTH)";
}
che aggiunge il filtro sugli ultimi 3 mesi alla query. Dopo di che ho dovuto mettere nell'evento onValidate della Ricerca l'azzeramento della variabile [last_period]
[last_period]=0;
Il problema però è adesso come faccio a passargli questo parametro da una voce di menu?
Re: Ricerca avanzata per data con valore di default
Inviato: 21 nov 2014, 10:21
da Fabio
Ottimo. Hai colto in pieno il senso delle variabili globali.
Re: Ricerca avanzata per data con valore di default
Inviato: 12 dic 2014, 15:19
da cianop
Ciao, ho ancora un paio di problemi:
come faccio a passare un parametro da una voce di menu?
sembra che alla prima esecuzione richiamando la grid da una voce di menu la cosa funzioni, dopo di che faccio una ricerca per data e il parametro viene settato prima di inviare il form.
Se però richiamo ulteriormente la grid dalla voce di menu sembra che tale parametro resti settato, come se fosse una variabile di sessione anche se nella mia grid è impostato come parametro di input e quindi mi estrae tutti i mesi e non gli ultimi 12.
Ho provato anche a vedere come aggiungere un campo di input nascosto alla ricerca di una grid ma non riesco a capire come.
Mi sono perso...
Re: Ricerca avanzata per data con valore di default
Inviato: 16 dic 2014, 22:11
da admin
Nei menù le applicazioni vengono aperte come "link". I parametri nei link possono essere passati nell'url, esempio:
../mia_applicazione.php?parametro=x
Re: Ricerca avanzata per data con valore di default
Inviato: 27 gen 2015, 14:19
da cianop
Ciao Admin, ho provato in un po' di modi ma non c'è verso di passare un parametro da una voce di menu.
Io sto usando un menu orrizzontale in alto alla pagina che quindi utilizza un iframe per visualizzare le varie pagine selezionate dal menu.
Visualizzando nella pagine il link sotto la voce di menu vedo che ci sono già dei parametri che vengono passati, quindi l'aggiungere ?nomevar=valorevar non va granchè bene.
Aggiungendo invece &nomevar=valorevar nel link della voce di menu la variabile è scritta giusta ma cliccando l'applicazione va in loop cercando di caricare la pagina ma non si carica nulla.
altre opzioni di link tipo nome_app/?nomevar=valorevar o nome_app/index.php?nomevar=valorevar o nome_app/nome_app.php?nomevar=valorevar danno tutti pagina non trovata.
Re: Ricerca avanzata per data con valore di default
Inviato: 01 feb 2015, 08:30
da Fabio
Prova a valorizzare la tua variabile direttamente onscriptinit dell'applicazione.
Puoi usare uno "switch case" o un "if else" per determinare come valorizzare la variabile.
Così non usi il menù.