Per strutture documentali complesse, con INDE è possibile inserire dei sotto-pannelli con indicazione del pannello master.
In questo modo, se il pannello di dettaglio è collegato ad una classe per la quale è stata definita una collection sul documento principale, allora il pannello lavora automaticamente sulla collection del documento principale.
E tutto questo è perfetto.
Manca, secondo me, solo un "piccolo" particolare. Eventuali condizioni di where inserite sulla master query del pannello di dettaglio, vengono ignorate. In una situazione normale, può anche essere corretto; si presume che i dati del pannello debbano essere quelli della collection del documento.
Il problema nasce quando si vogliono filtrare i documenti presenti nel pannello di dettaglio.
Mi capita spesso, di dover fare videate dove una singola collection viene editata in più sotto-pannelli diversi, ognuno contenente un "set" dei record della collection del documento padre.
Un esempio sono le fatture del cliente.
Sulla classe CLIENTE ho la collection delle fatture (tutte), ma nella videata del cliente, voglio mostrare due pannelli: uno per le fatture di acquisto e uno per le fatture di vendita.
Attualmente gli unici due modi che ho trovato sono:
- creare più collection sul documento principale: il problema è che in questo caso, tutti gli automatismi sulla classe che riguardano la collection, devono essere duplicati.
- gestire la proprietà hidden sugli elementi della collection: il problema è che i pannelli non possono essere visibili contemporaneamente. Devono essere o in una tabbed view o in due pagine di pannello diverse; inoltre è necessario gestire il cambio di pagina per aggiornare lo stato hidden dei documenti.
Sarebbe comodo poter definire un filtro aggiuntivo (meglio ancora usare quello della master query di pannello) per indicare quali elementi della collection devono essere caricati nel pannello di dettaglio.