English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Reportistica
  • Libreria Book
  • Proprietà

Is Printing

proprietà copia link

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

boolean StampaInCorso = 0 // Indica se il book è in fase di stampa
// 
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
  }
}
Normalmente il valore di questa proprietà viene modificato negli eventi di formattazione, in quanto il sistema sovrascrive il suo valore all'inizio della procedura di stampa (avviata mediante il metodo Print del book). In particolare possiamo decidere sezione per sezione (e pagina mastro per pagina mastro) se vogliamo far credere al sistema che sta stampando realmente o sta solo presentando in anteprima. Per esempio potremmo avere preparato un book con un logo che viene mostrato solo in anteprima perché la stampante già possiede la carta intestata. Però potremmo comunicare al sistema che quando un determinato utente effettua il login (o una particolare stampante che non sia dotata di carta intestata viene selezionata) occorre stampare anche le box previste solo per l'anteprima. Per fare questo possiamo forzare il valore della proprietà nell'evento BeforeFormatting della sezione (o nell'evento OnFormatting della pagina) che contiene la box, ripristinando poi tale valore negli eventi di formattazione delle sezioni/pagine successive.

Ultima modifica: 24/08/2022 / Validità: da 6.5.2680

Vedi Anche

  • Print Destination (proprietà)
  • On Before Formatting (evento)
  • Before Formatting (evento)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum