Scopo
Permette di sapere se in un dato momento il sistema sta stampando una pagina di un book su PDF o su stampante.
Quando un book viene stampato mediante il metodo Print, il sistema, utilizzando il valore della proprietà PrintDestination, calcola il valore di questa proprietà a seconda che si tratti di una stampa vera e propria (PDF, PRINTER) o di una anteprima su schermo (SCREEN).
Il sistema la utilizza per poter gestire correttamente i flags ShowWhenPrinted e ShowWhenPreviewed delle box del book. Se il valore della proprietà è TRUE vuol dire che il sistema sta stampando una pagina su PDF o stampante. Pertanto tutte le box che hanno il flag ShowWhenPrinted impostato verranno stampate e tutte le box che hanno il flag ShowWhenPrinted non impostato non verranno stampate.
Se il valore della proprietà è FALSE vuol dire che il sistema sta mostrando una pagina in anteprima sullo schermo. Pertanto tutte le box che hanno il flag ShowWhenPreviewed impostato verranno stampate e tutte le box che hanno il flag ShowWhenPreviewed non impostato non verranno stampate.
E' possibile modificare tale comportamento via codice semplicemente cambiando il valore della proprietà durante la stampa (negli eventi di formattazione). In questo modo possiamo mostrare box che avevamo previsto dovessero apparire solo in anteprima anche se stampiamo su PDF e, viceversa, possiamo mostrare box che avevamo previsto dovessero apparire solo se il book veniva stampato su PDF o stampante anche se il book stesso è mostrato in anteprima.
Sintassi
//
StampaInCorso := Book.IsPrinting
Quando letta
Restituisce True o False a seconda che il sistema stia stampando una pagina di un book su PDF o su stampante o che la stia semplicemente mostrando in anteprima.
Quando impostata
Cambia il comportamento del sistema riguardo alla gestione dei flags ShowWhenPrinted e ShowWhenPreviewed delle box di un report. Se impostata a TRUE informa il sistema che il book che è in fase di stampa non è in anteprima (anche se mostrato solo a video dentro al browser); se impostata a FALSE informa il sistema che il book è mostrato in anteprima (anche se sta per essere stampato su PDF o stampante).
Esempio di codice
// Fired when a page is formatting
// *******************************
event Prodotti.BookProdotti.BookProdottiPage.OnFormatting()
{
// Se sto stampando sulla EPSON, non ho la carta intestata. Stampo io
// il logo facendo credere al sistema che sono in anteprima
if BookProdotti.PrinterName = Epson 800 LS AND BookProdotti.IsPrinting
{
BookProdotti.IsPrinting := False
}
}
Ultima modifica: 24/08/2022 / Validità: da 6.5.2680