In sintesi
In questa lezione costruiamo il report di stampa dell'ordine.
Nota: questo video corso è stato realizzato con la versione 4 di Instant Developer. Anche se i contenuti sono ancora attuali e sono utili per imparare ad utilizzare Instant Developer, alcune affermazioni sono di fatto superate. Per i dettagli e le ultime novità sulle funzionalità illustrate vi rimandiamo alla sezione di reference che viene tenuta aggiornata giornalmente.
Creiamo adesso il report per la stampa dell'ordine correntemente selezionato.
Aggiungiamo un book al panel Orders con il comando del menu contestuale Add Book del pannello.
Notiamo che il report del book è stato già riempito dal Instant Developer con i
dati necessari, prendendo le relazioni dalla master query del pannello e impostando il layout del report in base al layout form del pannello sorgente.
Vogliamo ora inserire nel report i dati relativi alle righe dell'ordine selezionato.
Anzitutto è necessario creare una condizione nella master query del report , ed impostarne la formula in modo tale da stampare solamente i dati relativi all'ordine correntemente selezionato.
Per selezionare i dati delle righe dell'ordine aggiungiamo un collegamento alla tabella Order Details nella master query, tirando la tabella sulla master query con il tasto shift premuto.
Successivamente selezioniamo tutti i campi della tabella appena inserita e li aggiungiamo alla master query.
Inoltre, se le tabelle utilizzate nella master query possiedono dei campi con il flag autocode a FALSE, sarà necessario impostare lo stesso flag a TRUE nei relativi campi della master query del book.
Per visualizzare correttamente i dati dell'ordine e delle righe d'ordine abbiamo bisogno di creare un gruppo nel report, e per farlo è sufficiente tirare il campo Order ID sul report. Instant Developer creerà autonomamente le sezioni di gruppo.
Entriamo nell'editor del report e spostiamo i dati relativi all'ordine nella sezione Header del gruppo, eventualmente adattando le dimensioni.
Per aggiungere i dati delle righe d'orine tiriamo i campi dalla master query alla sezione detail.
Notiamo che Instant Developer ci aiuta nella formattazione del report, inserendo le box relative agli header dei campi nella sezione header del gruppo, e le box con i dati dei campi nella sezione detail.
Cancelliamo le sezioni che non ci interessano
Nel caso in cui si possa verificare la condizione in cui è presente un ordine, ma non sono presenti righe d'ordine, la query così creata non ritornerà alcun record. Questo perché l'auto join tra le tabella gestito da Instant Developer è impostato come inner join. In questo caso il motore dei book non stamperà nulla.
Per stampare comunque i dati dell'ordine impostiamo il join tra le tabelle come outer join. Per farlo cambiamo il relativo flag nelle proprietà del collegamento alla tabella Order Details contenuto nella master query del book.
Verifichiamo il lavoro svolto e salviamo il progetto.