English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Reportistica
  • Libreria Sezione

Set Reprint

procedura copia link

Scopo

La procedura SetReprint chiede al sistema di ristampare la sezione con gli stessi dati e quindi senza cambiare la posizione nella nella query del report.

Sintassi

// Ristampa la sezione
Book.Sezione.SetReprint(Ristampa)

Argomenti

Ristampa E' un parametro booleano che indica al sistema se occorre o meno ristampare la sezione con gli stessi dati.

Esempio di codice

// ************************************
// Fired when the section is formatting
// ************************************

event CategorieBook1.BookCategorie.ReportCategorie.Detail.BeforeFormatting()
{
  // Tooltip nome categoria
  if NOT(IsNull(BookCategorie.DescrizioneCategorie))
    ...
  // 
  // Se devo mostrare la griglia... vado fino a fine pagina

  if Parametri.MostraGriglia = True
  {
    // Se devo, nascondo le celle che devono risultare vuote
    if Parametri.NascondiCelleVuote = True
    {
      BookCategorie.ReportCategorie.IdcategoriaHeader.Visible := False
      BookCategorie.ReportCategorie.Idcategoria.Visible := False
      BookCategorie.ReportCategorie.NomeCategoriaHeader.Visible := False
      BookCategorie.ReportCategorie.NomeCategoria.Visible := False
      // 
      BookCategorie.ReportCategorie.Detail.VisualStyle := Riquadro
    }
    // 
    // Se sono arrivato sull'ultimo record devo cominciare forzare la ristampa
    // delle sezioni

    if BookCategorie.ReportCategorie.Detail.RecordNumber() = BookCategorie.
      ReportCategorie.RecordsCount()
    {
      boolean flDone = 0 // Vale TRUE se ho finito di ristampare
      // 
      // Ho finito se sono arrivato alla fine della pagina e se ho stampato un
      // numero totale di sezioni multiplo del numero di colonne

      flDone := BookCategorie.ReportCategorie.Detail.YPos() + BookCategorie.
         ReportCategorie.Detail.Height + BookCategorie.ReportCategorie.Detail.
         Height = BookCategorie.PageBody.Height AND Parametri.
         NumeroCelleStampate % Parametri.NumeroColonne = Parametri.
         NumeroColonne - ONE
      // 
      // Se non ho finito

      if NOT(flDone)
      {
         // Forzo la ristampa della sezione
         BookCategorie.ReportCategorie.Detail.SetReprint(True)
         // 
         // Se è la prima volta, attivo questo semaforo che mi permette di
         // nascondere i dati contenuti nelle sezioni "forzate"

         if NOT(Parametri.NascondiCelleVuote)
         {
           // Dalla prossima sezione devo iniziare a nascondere i dati
           Parametri.NascondiCelleVuote := True
         }
      }
    }
    // 
    // Conto quante sezioni ho stampato in totale

    Parametri.NumeroCelleStampate := Parametri.NumeroCelleStampate + ONE
  }
}
  • Normalmente la procedura SetReprint viene chiamata all'interno dell'evento BeforeFormatting della sezione per indicare al sistema che occorre ristampare la sezione stessa senza muovere la riga corrente nella query del report.
  • La procedura SetReprint può essere utilizzata unicamente all'interno dell'evento BeforeFormatting della sezione. Al di fuori di tale evento la funzione non ha alcun effetto.
  • La procedura SetReprint chiede al sistema di ristampare la sezione utilizzando gli stessi dati. Qualora si debba stampare una griglia vuota occorre nascondere le eventuali box e span contenuti nella sezione, come mostrato nell'esempio di codice (vedi parametro NascondiCelleVuote).

Ultima modifica: 23/03/2021 / Validità: da 6.7.2900

Vedi Anche

  • Before Formatting (evento)
  • YPos (funzione)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum