English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Librerie Componenti
  • File Mangler
  • Impostazione Parametri

Add Parameter

procedura copia link

Scopo

Imposta il valore di un parametro presente nel template.

Sintassi

FileMangler.AddParameter(nome parametro, valore parametro)

Argomenti

Nome Parametro È una stringa che specifica il nome del parametro da impostare. Per ottenere il valore un template di tipo XLS deve contenere NamedRange con questo nome, un template di tipo RTF deve contenere un segnalibro con questo nome ed un template di tipo PDF deve contenere un TextField con questo nome. I nomi devono essere uguali anche come lettere maiuscole/minuscole.
Valore Parametro Contiene il valore da impostare nel template. Può essere di qualunque tipo eccetto BLOB.

Esempio di codice

// *****************************************************************
// Crea il file XLS relativo all'ordine corrente e lo mostra a video
// *****************************************************************

public void Ordini.CreaXLS(
  boolean toCSV                    // Vero per esportare anche un file CSV
  optional string MailAddress = "" // Indirizzo di posta elettronica al qu...
)
{
  FileMangler fm = new()  // Istanzio il componente FileMangler usando la ...
  boolean res = 0         // 
  string CSVFileName = "" // 
  // 
  // Aggiungo i valori provenienti dalla query di lookup uno per uno

  fm.AddParameter(NomeCliente, Ordini.NomeSocietaClienti.Text)
  fm.AddParameter(NomeImpiegato, Ordini.CognomeImpiegati.Text)
  // 
  // Aggiungo i parametri dell'ordine prendendoli dalla riga corrente del
  // recordset del pannello Ordini

  fm.AddValues(Ordini.Recordset)
  // 
  // Aggiungo i dettagli dell'ordine passando l'intero recordset e il nome del
  // named range sul file XLS

  fm.AddRecordset(DettagliOrdine, DettagliOrdini.Recordset)
  // 
  // Imposto il componente per l'utilizzo della libreria POI

  fm.XLSEngine := POI
  // 
  // Creo un nuovo file XLS partendo dal template, poi lo apro

  res := fm.TranslateFile(Path() +c C\ +c FileMangler.xls, Path() +c C\ +c
    FileManglerOutput.xls)
  // 
  // Se c'è stato un errore lo segnalo

  if res <> ZERO
    ...
  // 
  // Se devo creo anche su file CSV il recordset dei dettagli ordine

  if toCSV
    ...
  // 
  // Se è stato specificato un indirizzo di posta devo procedere all'invio del
  // file via mail

  if MailAddress <> Empty String
    ...
  else  // Se non devo mandare la mail mostro il file
    ...
  // 
  // Imposto il file come temporaneo, al termine della sessione corrente sarà
  // automaticamente cancellato dal sistema.

  EsempiGL.AddTempFile(Path() +c C\ +c FileManglerOutput.xls)
}
Per far sì che il template riceva il valore del parametro occorre seguire alcune linee guida:
  • Nel caso di file Excel (XLS) occorre creare un NamedRange (Intervallo Nominato) il cui nome sia uguale a quello del parametro da sostituire e che sia formato da due celle disposte in verticale. La cella superiore deve contenere il nome del NamedRange, la cella inferiore un valore che identifichi il tipo dei dati contenuti, un numero (ad esempio "0") per campi numerici; una data (ad esempio 01/01/2000) per i campi data, una stringa (ad esempio "a") per tutti gli altri.
  • Nel caso di file Word (RTF) occorre creare un segnalibro (contenente almeno un carattere), con nome uguale al nome del parametro da utilizzare.
  • Nel caso di file PDF occorre creare un campo TextField (utilizzando per esempio Adobe 8) con nome uguale al nome del parametro da utilizzare. Per avere indicazioni su come creare il template, riferirsi alla documentazione del metodo TranslateFile
  • Se il template non contiene il parametro così come specificato sopra, non avverrà alcuna sostituzione, ma non viene dato errore. In questo modo è possibile anche eliminare dal template dati non desiderati da parte degli utenti finali.
  • Nella valorizzazione di un parametro di tipo data quando si opera in C# è necessario prestare particolare attenzione, poiché la valorizzazione con una data invalida impedirebbe la stampa del parametro nel file di output.
  • Questo componente non è supportato nelle applicazioni offline.

Ultima modifica: 10/01/2023 / Validità: da 6.5.2680

Vedi Anche

  • Add Recordset (procedura)
  • Add Values (procedura)
  • Scarica il file template XLS utilizzato nell'esempio.

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum