It is currently 8 June 2025, 20:32 Advanced search

rendere coerente la cancellazione da codice (DO)

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

rendere coerente la cancellazione da codice (DO)

Postby theguru » 8 December 2015, 21:40

Ho una form con un pannello figlio che mostra diverse collection, in base al valore del pannello padre (funzionamento "classico" master-detail).
Ho una collection coll, loaded, sulla quale eseguo operazioni via codice.

Se la collection coll è visualizzata:
- se faccio un aggiornamento ad un suo documento, la modifica è correttamente visualizzata dal presentation manager
- se inserisco un nuovo documento al suo interno, la modifica è correttamente visualizzata dal presentation manager
- se rimuovo (con remove_at) un documento, la modifica è correttamente visualizzata dal presentation manager

Se la collection coll NON è visualizzata (ma sempre loaded):
- se faccio un aggiornamento ad un suo documento, la modifica è correttamente visualizzata dal presentation manager (*)
- se inserisco un nuovo documento al suo interno, la modifica è correttamente visualizzata dal presentation manager (*)
- se rimuovo (con remove_at) un documento, la modifica viene ignorata dal presentation manager (rimane visualizzato un documento inesistente nella DO)

credo che sia una incongruenza da correggere, che oltretutto mi forza necessariamente a ricaricare dal db le collection, per poterne visualizzare i dati corretti.

(*)intendo che viene visualizzata quando richiamo a video la collection interessata.
User avatar
theguru
 
Posts: 972
Joined: 29 January 2014, 13:01

Re: rendere coerente la cancellazione da codice (DO)

Postby s.zagni » 12 December 2015, 8:39

Molto probabilmente questa operazione non aggiorna in automatico i pannelli a cui è collegata la collection, se questi sono non visibili a video (FreezeWhenHidden)....
Potresti provare al termine della tua procedura (dopo il remove_at) a fare UpdatePanel del pannello Detail ma ho paura che non funzionerà per il motivo sopra.

Sono interessato anche io alla risposta di Progamma
s.zagni
 
Posts: 942
Joined: 9 April 2014, 8:33

Re: rendere coerente la cancellazione da codice (DO)

Postby theguru » 12 December 2015, 13:13

Guarda, ho fatto una marea di prove , nella fattispecie "update panel" non lo posso usare perché la procedura che elimina il documento non conosce a priori il documento che sta eliminando ed i pannelli che potrebbero contenerlo.
Questo aggiornamento dovrebbe essere automatico ed in effetti funziona perfettamente in caso di modifica o aggiunta di documenti in collection.
In generale l'eliminazione sembra essere un po' buggata, ed il problema risiede nella comunicazione tra framework DO e presentation manager: se cerco ad esempio di editare un documento cancellato, ricevo un errore di sistema, perché in effetti non è più presente nella collection, ma rimane visibile come riga del pannello.
User avatar
theguru
 
Posts: 972
Joined: 29 January 2014, 13:01

Re: rendere coerente la cancellazione da codice (DO)

Postby s.zagni » 14 December 2015, 8:03

Ultima prova: hai provato ad usare la RefreshUserInterface della IDDocument? Di sicuro non funziona lo stesso ma tentar non nuoce

http://doc.instantdeveloper.com/?ARTID=A0FB4D50-5849-454F-97C8-55ABE5C8CF84&LANG=it
s.zagni
 
Posts: 942
Joined: 9 April 2014, 8:33

Re: rendere coerente la cancellazione da codice (DO)

Postby theguru » 14 December 2015, 16:17

eccomi.
si si, tra i primi tentativi, ho provata a chiamarla sull'oggetto padre della collection incriminata, sia sul capostipite del form, ma nulla.
L'unica soluzione sembra essere settare la variabile loaded a false, dopodiché ricaricare la coll da DB.
Però è un passaggio sul db fisico davvero inutile...
User avatar
theguru
 
Posts: 972
Joined: 29 January 2014, 13:01

Re: rendere coerente la cancellazione da codice (DO)

Postby lucabaldini » 14 December 2015, 16:17

Non ho capito se il problema che descrivi è quello di cui hai scritto in un questo thread http://forum.instantdeveloper.com/viewtopic.php?t=69975

E' lo stesso caso?
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna

Re: rendere coerente la cancellazione da codice (DO)

Postby theguru » 14 December 2015, 16:29

Si, è lo stesso.
Però Luca, mi sembra che la descrizione del problema sia davvero chiara.
Ti assicuro che non voglio polemizzare, anzi ti ringrazio per aver preso in esame il problema.
Se dovessi riassumerla in poche parole, direi che la funzione di eliminazione di un record da una collection, quando questa non è visualizzata in un form in primo piano, pasticci un po'.
Se hai delle domande specifiche ti risponderò al meglio, dato che la soluzione di questo problema mi interessa molto
User avatar
theguru
 
Posts: 972
Joined: 29 January 2014, 13:01

Re: rendere coerente la cancellazione da codice (DO)

Postby lucabaldini » 14 December 2015, 17:10

Premesso che nemmeno io voglio polemizzare non mi basta la frase "la funzione di eliminazione di un record da collection, quando questa non è visualizzata in un form un primo piano, pasticci un po'". Ci sono tante cose di cui dovrei tener conto per cercare di replicare e "tradurre" dall'italiano al Visual Code richiede tempo senza sapere tutte le condizioni al contorno.

Mi serve un caso concreto in cui il comportamento non sia quello che ti aspetti.

Partendo da quel caso concreto posso capire se è corretto o se il sistema sta sbagliando.

Raramente cerco di riprodurre sempre casi descritti "a voce" sul forum... non è il modo giusto di analizzare i problemi. Se facessi sempre così finirei per spendere molto tempo per cercare di replicare problemi che sembrano di livello 0 (facili da riprodurre e che capitano sempre in tutti i casi) ma che, se analizzati, si manifestano solo in casi particolari. Non sai quante volte ho cercato di riprodurre problemi che sembravano semplici ma che, dopo aver investito tanto tempo, ho dovuto abbandonare per scoprire che stavo guardando un caso diverso da quello descritto perché la persona si era dimenticata di dire che l'applicazione era offline, o era mobile, o il DB era Oracle, etc...

Quindi ti chiederei di provare a replicare il caso in un caso concreto. Se è come dici non ci vuole molto: nuovo progetto, documento e collection, carichi la collection, elimini il record, etc... Ci potrebbero essere problemi o potrebbe essere un caso specifico non gestito o potresti utilizzare pattern che non sono mai stati testati o usati prima.

Se riesci a replicare il caso (se vuoi puoi usare anche il database access che trovi dentro agli esempi: C:/Program Files (x86)/INDE/Examples/NWind/nwind_eng.mdb così fai prima)... importi categorie e prodotti e fai la prova.

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

Re: rendere coerente la cancellazione da codice (DO)

Postby theguru » 19 December 2015, 20:29

Guarda, potremmo stare qui ore a discutere quale sia il confine tra una corretta segnalazione "verbale" ed una in cui si renda necessario creare un esempio.
Può essere che io abbia mal giudicato questo caso, quindi, come richiesto, ti ho preparato un progetto di esempio.
Lo ho ottenuto copiando/importando/pulendo un progetto di ben più ampio respiro, in modo da non lasciare nulla al caso.
C'ho lavorato sopra praticamente una giornata, spero ne sia valsa la pena.
All'interno dello zip trovi un pdf con alcune istruzioni e spiegazioni su come riprodurre il problema.
Se ti chiedessi per quale motivo la procedura di salvataggio sia discretamente complessa:
si tratta di una strada per risolvere questo problema:
viewtopic.php?f=5&t=70029&p=119318#p119318
se ritieni opportuno puoi mostrarla allo stesso Giuseppe.
da questo comunque si capisce perché mi stia tanto a cuore: ho intenzione di utilizzare questa procedura ogni volta che salverò un documento, in ogni mio progetto, in modo da rendere coerente tutte le interfacce a video.
Ti mando il file via MP.
User avatar
theguru
 
Posts: 972
Joined: 29 January 2014, 13:01

Re: rendere coerente la cancellazione da codice (DO)

Postby lucabaldini » 21 December 2015, 8:06

Guarda, non è necessario discutere. L'idea è semplice: il forum non è il canale giusto per inviare segnalazioni di malfunzionamento. C'è una sezione apposita nel CRM dentro Instant Developer pensata proprio per questo.

Le segnalazioni di malfunzionamento vengono analizzate e tracciate. Se dopo l'analisi si evince che sono richieste correzioni o miglioramenti vengono creati ticket appositi che vengono anch'essi tracciati. Non possiamo provare a replicare tutte le situazioni che vengono descritte sul forum.

Tu ci hai messo una giornata per replicare il caso. Probabilmente non è un caso "base" che si presenta in qualunque condizione altrimenti l'avremmo già visto. Forse, se avessi provato io a replicarlo, ci avrei messo molto di più (o, meglio, mi sarei fermato prima ed avrei continuato a fare domande sul forum per cercare di capire meglio il caso). Sono sicuro che così facendo ci avremmo messo molto di più per arrivare in fondo. Mi è già capitato molte volte di provare a replicare casi descritti a voce e che, proprio perché non "di livello 0" non sono stato in grado di replicare.

L'assistenza ed il forum sono due strumenti differenti e rispondono ad esegenze differenti. Non sono la stessa cosa e non sono intercambiabili. Forse Giuseppe (che hai citato) può spiegarlo meglio.
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4990
Joined: 1 October 2010, 17:03
Location: Bologna

Next

Return to Proposte di modifica

Who is online

Users browsing this forum: No registered users and 38 guests