It is currently 9 June 2025, 9:03 Advanced search

[BOOK] Query di lookup

Questo forum è nato con lo scopo di raccogliere le proposte di modifica di Instant Developer e discuterne insieme.

[BOOK] Query di lookup

Postby s.zagni » 11 December 2014, 14:07

Buongiorno,

Vorrei sapere cosa ne pensate. Mi trovo spesso nella situazione in cui su un book devo caricare informazioni proveniente da documenti collegati (es. Oggetto->Categoria oggetto) tramite FK.

Il problema è che nei book non sono presenti le query di lookup per la decodifica di tale dati. Il che mi costringe ogni volta ad intraprendere due possibili strade:
1)Il book lo creo su una tabella IMDB che riempio con i dati interessati (ad ogni aggiornamento devo svuotarla e riempirla di nuovo);
2)Nell'evento BeforeFormatting carico il documento collegato e prendo le informazioni collegate (ogni volta che stampo il libro ricarica anche i documenti).

In tutti e due i casi devo creare strutture apposite tutte le volte.... E' tanto complesso aggiungere le query di lookup anche ai book (anche solo in decodifica)?
s.zagni
 
Posts: 942
Joined: 9 April 2014, 8:33

Re: [BOOK] Query di lookup

Postby lucabaldini » 16 December 2014, 15:25

Le query di lookup nei book si ottengono semplicemente inserendo delle JOIN (inner o outer a seconda se la FK è obbligatoria o meno).... Non c'è bisogno di lookup.

Nei pannelli le lookup sono necessarie (se non obbligatorie) quando i pannelli devono poter scrivere su una particolare tabella. Se il pannello è scrivibile deve esserci una sola tabella nella query principale dato che il sistema calcola automaticamente le istruzioni di INSERT, UPDATE, DELETE a partire dall'istruzione di SELECT del pannello. Se la query è troppo complessa (con JOIN) il sistema non è in grado di capire su quale tabella eseguire l'operazione.

Il book non ha questa limitazione in quanto non scrive direttamente sul database, quindi puoi usare tranquillamente JOIN per recuperare i dati correlati. Tra l'altro è proprio quello che viene fatto da InDe quando crei un book in maniera automatica da un pannello. Se il pannello ha 2 lookup InDe inserisce nella query del book la stessa tabella del pannello e, in JOIN, le tabelle di tutte le lookup.
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna

Re: [BOOK] Query di lookup

Postby s.zagni » 17 December 2014, 8:08

Chiedo scusa ma nella domanda non avevo specificato che il libro è DO, oppure, molte volte basato su tabella IMDB.

Nel caso del DO, il book viene creato con le JOIN ma su tabelle DB (non avrei problema delle lookup ma avrei una incongruenza in quanti il pannello è basato su DO e il libro su DB e preferiamo evitare queste situazioni); nel caso di tabella IMDB sono costretto ad inserire manualmente i campi di decodifica e caricarli dal documento principale uno ad uno.
s.zagni
 
Posts: 942
Joined: 9 April 2014, 8:33

Re: [BOOK] Query di lookup

Postby lucabaldini » 17 December 2014, 11:19

Nel caso IMDB puoi usare le join oppure, come hai fatto tu, aggiungere i campi di decodifica e valorizzarli quando carichi i dati nella tabella IMDB.

Per quanto riguarda i book DO non è facile fare la JOIN tra classi... ma ci sono vari modi anche per i book DO:
- usare un book DB (concordo che se il pannello è DO ed il book è DB non è una soluzione perfetta ma dipende molto dal caso e da quel che devi fare... io questa configurazione l'ho usata più di una volta)
- usare le named properties dei documenti. E' sufficiente creare una colonna calcolata del book DO con una costante come valore (es: "NomeArticolo") e poi usando gli eventi relativi alle named properties lasciare che sia il documento a fornire la decodifica al book. Ho aggiunto una variabile di tipo articolo al documento usato nel book e la creo e carico solo se qualcuno ne ha bisogno (cioè chiamava gli eventi relativi alle named properties).
- aggiungere proprietà in più al documento e valorizzarle con una master query di caricamento della classe... così il documento ha sia il valore dell'IDarticolo ma anche il NomeArticolo. A questo punto puoi usare quel campo anche nella query del report DO.


User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna

Re: [BOOK] Query di lookup

Postby s.zagni » 17 December 2014, 13:24

Beh in effetti non avevo pensato alle named properties che potrebbero fare al caso mio... le query di lookup sarebbero più comode da impostare ma pazienza, se ci sono strade alternative vanno bene lo stesso.

Grazie per la disponibilità
s.zagni
 
Posts: 942
Joined: 9 April 2014, 8:33

Re: [BOOK] Query di lookup

Postby lucabaldini » 17 December 2014, 13:53

Beh, non volevo "esaurire" la cosa... ma, innanzitutto, fornire un modo per ottenere quel che vuoi... poi continuo a pensare alla cosa... sono sicuro che mi verrà in mente qualcosa... magari l'idea delle lookup potrebbe non essere una cattiva idea... ma ci devo pensare.
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna


Return to Proposte di modifica

Who is online

Users browsing this forum: No registered users and 14 guests