Filtri

Salve a tutti. é possibile su un form attraverso un field filter o un table filter o via codice realizzare un filtro equivalente alla seguente condizione where di un comando SQL: WHERE Quantita Spedita < Quantita Ordine cioè in pratica creare un filtro che comporta il confronto tra il valore di due campi della tabella.

Con i filtri non si riesce, potresti marcare i record via codice, vedi OnOpenForm del form 61. (Se vuoi vedere solo le righe di un ordine che non siano completamente spedite, puoi filtrare sul campo “Completamente Spedito” = FALSE) Elena

Grazie della risposta, avrei un’ulteriore domanda: In visual basic, Access, .Net ecc è possibile creare query anche complesse che coinvolgono più tabelle in join e poi utilizzare la query realizzata come sorgente per una form o griglia dati, in Navision come è possibile realizzare qualche cosa di analogo? Grazie a tutti.

La cosa più semplice è farlo direttamente dentro Navision utilizzando una tabella temporanea e usandola come base del form. Mi spiego: crei un form che si basa su una tabella temporanea fatta ad hoc in base alla tua esigenza; nell’open del form inserisci in questa tabella i record che ti servono facendo qualsiasi join tra tabelle. E’ una cosa semplice e molto performante; mi sembra più facilmente realizzabile della tua richiesta. Marco

Grazie Marco. Seguirò le tue indicazioni. Come avrai intuito dalle mie domande, sono alle prime armi con la programmazione navision (vengo da ambienti Vb, Access, .Net, SQL SERVER), per cui ti chiedo, se li hai a portata di mano, qualche riferimento di codice di esempio (anche all’interno di navision stesso) o di manuale da indicarmi per procedere nel migliore dei modi. Ciao e grazie Mille.

quote:


Originally posted by rbindini
Grazie Marco. Seguirò le tue indicazioni. Come avrai intuito dalle mie domande, sono alle prime armi con la programmazione navision (vengo da ambienti Vb, Access, .Net, SQL SERVER), per cui ti chiedo, se li hai a portata di mano, qualche riferimento di codice di esempio (anche all’interno di navision stesso) o di manuale da indicarmi per procedere nel migliore dei modi. Ciao e grazie Mille.


Esempio classico: Form 344 (Naviga) [8D] Guarda nei trigger OnOpenForm (dove carica la tabella temporanea); OnFindRecord e OnNextRecord (dove fa in modo di leggere dalla tabella temporanea in memoria invece che da quella fisica definita come SourceTable) Anna

Grazie Anna, Studierò l’esempio che mi hai dato. Peccato però che in navision non si possano fare query in SQL, in molti casi semplificherebbe la vita!

Se passi ad usare SQL server come db, il sql puoi utlizzarlo per batch massicci… con le dovute precauzioni. D’altro canto, perdi tutta la struttura dei flowfields… od dovresti costruirti delle viste ad hoc per quelli che ti servono. Tieni comunque presente che con il C/AL puoi utilizzare oggetti e librerie esterne. O anche potresti smanettare con il c/front per inteffaccciare con il tuo sviluppo in .net Anche se non sempre si ottengono risultati decenti…