It is currently 25 February 2020, 17:33 Advanced search

after formatting strano errore

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

after formatting strano errore

Postby info@maxsoftware.it » 7 February 2020, 11:40

come mai dà errore sull'impostazione del visible?

LibroFattureTIR.ReportFatturaTir.TOTALEFT.visible = true
LibroFattureTIR.ReportFatturaTir.Valuta.visible = true

LibroFattureTIR.ReportFatturaTir.Valuta1.visible = true
LibroFattureTIR.ReportFatturaTir.TOTALEFT1.visible = true
LibroFattureTIR.ReportFatturaTir.Segue.visible = false
Attachments
Cattura.JPG
Cattura.JPG (24.87 KiB) Viewed 231 times
info@maxsoftware.it
 
Posts: 82
Joined: 5 September 2017, 14:36

Re: after formatting strano errore

Postby lucabaldini » 7 February 2020, 15:17

Non è facile rispondere senza avere i dati... vedo solo l'errore.

Però un eccezione nell'AfterFormatting può capitare se la sezione si spezza... in quel caso non è detto che il pezzo ci sia in quell'istanza... Però non so se è questo il caso.

La tua sezione si spezza? Se è questo il caso potrebbe essere quello il problema. Il sistema dovrebbe notificare più volte l'AfterFormatting in quel caso... per ciascun pezzo.
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 3892
Joined: 1 October 2010, 17:03
Location: Bologna

Re: after formatting strano errore

Postby info@maxsoftware.it » 12 February 2020, 11:28

La cosa strana e che se metto la stessa funzione nel before funziona mentre nell'after non trova l'oggetto.
Non capisco.

MR
info@maxsoftware.it
 
Posts: 82
Joined: 5 September 2017, 14:36

Re: after formatting strano errore

Postby lucabaldini » 12 February 2020, 15:34

Mi aspetto sia così.

Se hai una sezione spezzabile (che si può rompere, per esempio, a metà):
- nel before formatting il sistema non sa se la sezione ci starà tutta sulla pagina che sta formattando quindi, quando l'evento è notificato, c'è tutta l'istanza completa e nell'evento non hai
problemi
- poi il sistema, dato lo spazio rimanente sulla pagina, vede cosa ci sta. Se la sezione ci sta tutta, bene. Notifica l'evento AfterFormatting e lì puoi "vedere" tutti gli oggetti contenuti nella sezione
- se, invece, non c'è abbastanza spazio, il sistema spezza la sezione. Quindi notifica l'evento Afterformatting per il pezzo che ci sta. Quindi può capitare che tu referenzi oggetti che non ci sono in quel pezzo e potresti avere problemi.
- poi, nella pagina successiva, il sistema riprova ad incollare il pezzo rimanente (SENZA notificare il before formatting... la sezione è già stata formattata)... se ci sta, bene... in quel caso ri-notifica l'evento AfterFormatting per il pezzo rimasto. Se non ci sta la spezza nuovamente e notifica l'AfterFormatting per il pezzo che ci sta e tiene in cache per la prossima pagina il pezzo rimanente... e così via...
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 3892
Joined: 1 October 2010, 17:03
Location: Bologna

Re: after formatting strano errore

Postby lucabaldini » 12 February 2020, 15:35

Ora, potrebbe essere interessante valutare di non dare eccezione se la box non c'è nell'after formatting... ma generare solo un warning nel debug (se il modulo di debug è attivo).

Però dovrei analizzare la cosa e vedere se è fattibile... dovrei proteggere tutti i metodi che accedono agli oggetti proteggendo il fatto che l'oggetto (box, span) possa non esserci durante l'AfterFormatting.

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

Re: after formatting strano errore

Postby lucabaldini » 12 February 2020, 15:36

Ho creato un ticket di analisi per capire se posso evitare nullpointer in quel caso...

Se, però, tutto quello che ho detto non ti torna, bisogna capire meglio cosa succede... magari qualche screenshot potrebbe aiutare...
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 3892
Joined: 1 October 2010, 17:03
Location: Bologna

Re: after formatting strano errore

Postby info@maxsoftware.it » 12 February 2020, 16:08

Intanto Grazie.
NE approfitto per chiederti qualche chiarimento.

Il tutto e' nato per un Book Fattura che nel caso ci siano più pagine il totale,Specchio iva, Rate pagamento, devono essere mostrate solo in ultima pagina mentre nelle precedenti voglio indicare ** segue**
Ho ragionato con la funzione Numero di pagine Totali e Pagina in stampa
Se TOTALE PAGINE=PAGINA CORRENTE Stampa TOTALE altrimenti Stampa SEGUE.

Se utilizzo BEFORFORMATTING il manuale dice:

"..In questo evento non è consigliabile utilizzare il risultato della funzione PageNumber del book poiché la sezione non è ancora stata posizionata all'interno di una pagina e la pagina corrente potrebbe non essere quella su cui viene stampata la sezione. Dopo la notifica dell'evento, infatti, il sistema effettua la formattazione vera e propria della sezione e potrebbe scoprire che non c'è spazio sufficiente sulla pagina corrente per inserire ciò che è stato formattato. In questo caso il sistema conserva in memoria la copia della sezione già formattata e la posizionerà sulla pagina successiva. L'evento giusto per leggere il numero di pagina è l'evento di AfterFormatting della sezione.."
(al momento ho utilizzato questo metodo e da alcuni test sembra funzionare, ma ho timore di funzionamenti anomali viste le premesse precedenti.)

Per cui l'ho messo nel AFTERFORMATTING e da qui l'errore. Non trova gli span totali o altro.

Grazie
MR
info@maxsoftware.it
 
Posts: 82
Joined: 5 September 2017, 14:36

Re: after formatting strano errore

Postby lucabaldini » 14 February 2020, 15:29

Ho verificato e tutto funziona correttamente.

Guarda questo caso:
RepDesignTime.png
RepDesignTime.png (36.28 KiB) Viewed 121 times

Questo è il mio report di design-time. Come vedi c'è una sola sezione di dettaglio con 4 grandi box colorate. La sezione è spezzabile.
E ci sono 2 eventi: BeforeFormatting e AfterFormatting dove leggo l'RD3 ID di tutte le box contenute. Se la mia ipotesi sotto è corretta dovrei avere problemi quando la sezione si spezza.

A run-time la pagina si adatta al contenuto per cui può capitare che la sezione si debba spezzare. Ed in fatti lo fa:

Pagina1:
Pag1.png
Pag1.png (11.99 KiB) Viewed 121 times


Pagina 2:
Pag2.png
Pag2.png (12.81 KiB) Viewed 121 times


Ma non ci sono problemi. Semplicemente la funzione restituisce stringa vuota:

Debug pagina 1:
DebugPag1.png
DebugPag1.png (69.26 KiB) Viewed 121 times


Debug pagina2:
DebugPag2.png
DebugPag2.png (25.36 KiB) Viewed 121 times


Come si vede quando la sezione si spezza nell'after formatting vedo solo gli oggetti che sono stati effettivamente inseriti nella pagina. Poi, quando vado in pagina 2, viene inserito il pezzo rimanente e viene nuovamente notificato l'evento di AfterFormatting per il pezzo rimasto.
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 3892
Joined: 1 October 2010, 17:03
Location: Bologna

Re: after formatting strano errore

Postby lucabaldini » 14 February 2020, 15:32

Ora veniamo al tuo caso. E' corretto usare l'AfterFormatting per il numero di pagina, perché nel BeforeFormatting non sei sicuro che quella sezione stia sulla pagina in fase di formattazione.

Può capitare che il sistema notifichi l'evento di BeforeFormatting, poi provi ad inserire la sezione nella pagina e non ci sta, quindi la sezione finisce nella prossima pagina. Se hai usato l'evento BeforeFormatting per scrivere il numero di pagina in questo caso è sbagliato perché la sezione è stata stampata su una pagina diversa.

Tutto questo, ovviamente, dipende molto dal tuo book. Se la sezione ci sta sempre (perché, per esempio, ha una box dedicata a lei nella pagina mastro) allora anche il before formatting va bene. Tutte le copie di quella sezione saranno sempre stampate e non succederà mai che vengano formattate su una pagina e poi stampate su un'altra.

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

Re: after formatting strano errore

Postby lucabaldini » 14 February 2020, 15:33

Ora l'errore. Mi potresti dire meglio quale errore ottieni? E dove?

Magari uno screenshot della videata di debug aiuterebbe a capire meglio... :-)
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 3892
Joined: 1 October 2010, 17:03
Location: Bologna

Next

Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: dr_whiteriver, Google [Bot] and 15 guests