English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Document Orientation
  • ID Document
  • Proprietà

Set Property

procedura copia link

Scopo

Questa funzione consente di impostare il valore attuale di una delle proprietà pubbliche del documento riferenziandola per indice.

Può quindi essere utile per realizzare un servizio documentale trasversale che modifica i documenti senza dover conoscerne il tipo.

Sintassi

IDDocument doc = new() // Il documento da modificare
// 
doc.SetProperty(indice proprietà, valore)

Argomenti

Indice Proprietà E' un numero intero da 1 al numero di proprietà pubbliche del documento e indica quale proprietà deve essere impostata. Se l'indice è al di fuori dei valori indicati si otterrà un'eccezione
Valore E' il nuovo valore che la proprietà deve assumere

Esempio di codice

// ***************************************************
// Fired when a panel command is about to be executed.
// ***************************************************

event Ispettore.ProprietàOggetto.OnCommand(
  int Command          // Command issued
  inout boolean Cancel // Set to TRUE to cancel the command
)
{
  IDDocument doc = null // Il documento da modificare
  // 
  // Recupero il documento attivo

  doc := Struttura.ActiveDocument
  // 
  // Se ho premuto il tasto SALVA

  if Command = Update
  {
    // Chiedo al documento se permette di essere modificato
    if doc.GetLock(??, ??, ??)
    {
      // Apro una transazione documentale
      doc.BeginTransaction()
      // 
      // Ciclo sulle proprietà in memoria

      for each row
      {
         select
           NomeProprietàOggetto := NomeProprietà
           ValoreProprietàOggetto := ValoreProprietà
           ValoreOriginaleProprietàOggetto := ValoreOriginale
           IndiceProprietàOggetto := IndiceProprietà
         from
           ProprietàOggetto // Master Table
         // 
         record po
           string NomeProprietàOggetto            // 
           string ValoreProprietàOggetto          // 
           string ValoreOriginaleProprietàOggetto // 
           int IndiceProprietàOggetto             // 
         // 
         // Se la proprietà è statao modificata...

         if po.ValoreProprietàOggetto <> po.ValoreOriginaleProprietàOggetto
         {
           // La scrivo nel documento
           doc.SetProperty(po.IndiceProprietàOggetto, po.ValoreProprietàOggetto)
         }
      }
      // 
      // Chiudo la transazione

      doc.EndTransaction()
    }
    else  // Dico che il documento non vuole essere modificato
    {
      EsempiDO.MessageBox(MSG Documento Essere)
    }
  }
}
  • L'espressione passata nel parametro valore può essere di un qualunque tipo base, tuttavia è consigliabile che corrisponda al tipo della proprietà che si sta per impostare. Se, ad esempio, si sta impostando una proprietà String, è consigliabile usare una espressione stringa all'interno del parametro valore.

Ultima modifica: 16/11/2022 / Validità: da 6.5.2680

Vedi Anche

  • Get Property Index (funzione)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum