It is currently 23 October 2019, 16:36 Advanced search

Abilitare il comando Print Book senza book a design time

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Abilitare il comando Print Book senza book a design time

Postby f.faleschini » 10 September 2019, 16:07

Se in un pannello non ha book non vedo il pulsante di stampa, provando con

pannello.setCommandEnabled(PrintBook,true)

non funziona.

La documentazione dice:

Se nessun book è collegato al pannello questo comando non ha effetto. In questo caso il bottone di stampa non appare nella toolbar.


Posso fare un mio pulsante custom, però mi piaceva capire se c'è un modo di fare apparire il pulsante PrintBook del pannello.

Grazie.

Si può al limite attaccare a runtime un book a runtime?

PS:
il motivo per cui non ho un book a design time è
Nel pannello i book sono definiti in una dll (fatta in inde), il flusso (desiderato) è indicativamente:
1) L'utente clicca sul pulsante PrintBook
2) il pannello interroga la dll
3) la dll ritorna la lista dei book
4) il pannello la mostra all'utente la lista
5) l'utente sceglie un book
6) la dll genera il pdf
f.faleschini
 
Posts: 442
Joined: 12 April 2017, 9:09

Re: Abilitare il comando Print Book senza book a design time

Postby m.sirri » 12 September 2019, 13:47

Puoi fare una personalizzazione al javascript (IDPanel.prototype.UpdateToolbar) e mostrare il bottone anche se non c'è un book.

var canprn = this.IsCommandEnabled(RD3_Glb.PCM_PRINT) && cannav/* && this.HasBook*/;
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8224
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)

Re: Abilitare il comando Print Book senza book a design time

Postby f.faleschini » 13 September 2019, 8:12

Grazie, il js funziona per mostrare il pulsante, però la cosa non mi è totalmente utile.

Ho un doppio problema:
1) l'evento on print del pannello non scatta se non ho un book collegato al pannello, questo lo posso bypassare creando un book "finto"/"da non usare mai" (chiamato bookFInto) e poi in on print faccio cancel e stampo il "mio" book
2) nell'evento on print non riesco a stampare book che sono definiti al di fuori della videata corrente (se devo caricare un book a runtime non può essere nel form a design time), simulo il mio problema così:
dentro Videata1 creo una variabile globale di videata di tipo IDBook, chiamata this.runtimeBook
in Videata2 creo un bookProva, Videata2 ha la funzione MioBook che ritorna IDBook (e ritorna bookProva.IdBook())
nell'onload di Videata1 faccio this.runtimeBook = Videata2.MioBook() - in "teoria" a questo punto VIdeata1 "ha" runtimeBook
se nell'onPrint di Videata1 faccio
Cancel = true //per non stampare bookFinto
this.runtimeBook.PrintDestinaion = SCREEN
this.runtimeBook.Print(1,-1)
non stampa il book, nel debug vedo che fa la query però poi non lo stampa (anche se metto PrintDestinaion = PDF non lo fa)

però se invece di popolare la variabile così this.runtimeBook = Videata2.MioBook() faccio una copia di bookProva (chiamata bookProvaCopia) e la metto in Videata1 e nellaload faccio this.runtimeBook = bookProvaCopia
il book viene stampato.
Il debug è molto simile al caso "this.runtimeBook = Videata2.MioBook()" solo che alla fine vedo che fa in più
FireOnDynamicProperties events
IMDB is changed - updating controls
Videata- remove tempmessage...

QUINDI
Mi sembra che ci sia come un vincolo per cui una videata alla fine della fiera possa stampare solo book in essa contenuti.

Magari mi sbaglio, se sì mi potete suggerire dove per favore?
f.faleschini
 
Posts: 442
Joined: 12 April 2017, 9:09

Re: Abilitare il comando Print Book senza book a design time

Postby f.faleschini » 13 September 2019, 15:48

Oggi ho fatto un'assistenza e ho scoperto che i Book sono oggetti privati di videata, non lo sapevo e questo spiega tutto.

QUindi bisogna lavorare con videate, non posso farmi dare un IDBook da un plugin ma mi farò dare una videata che stampa il book.

Io ho l'esigenza di usare l'anteprima del book, se mi bastasse il PDF sarebbe più facile.

Alla fine ho risolto usando un comando Custom.

(ho scritto questo messaggio per chiudere il thread)
f.faleschini
 
Posts: 442
Joined: 12 April 2017, 9:09


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: No registered users and 13 guests