English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Document Orientation
  • ID Document
  • Informazioni

Get Structure

funzione copia link

Scopo

Questa funzione serve per recuperare lo schema del documento come oggetto di tipo IDDocumentStructure. Tramite lo schema del documento è possibile reperire informazioni approfondite sulla sua natura, sulle proprietà che supporta, sui servizi documentali ad esso associati. E' anche possibile modificare le proprietà dello schema, tenendo conto però che l'oggetto schema è statico: ogni modifica influirà sul comportamento dell'intera applicazione web, quindi di tutte le sessioni e non solo su quella che effettua la modifica.

Sintassi

IDDocumentStructure ds = null // Lo schema del documento
// 
ds := Documento.GetStructure()

Argomenti

Questa funzione non ha argomenti.

Valore di ritorno

Ritorna un oggetto di tipo IDDocumentStructure che rappresenta lo schema del documento.

Esempio di codice

// *******************************************
// Analizza il documento e carica le proprietà
// *******************************************

public void VersioniDO.CaricaProprietà(
  IDDocument Doc // Il documento da analizzare
)
{
  IDDocumentStructure ds = null // La struttura del documento
  int np = 1                    // Enumera le proprietà
  // 
  // Cancelliamo il contenuto precedente

  delete from ProprietàVersione
  // 
  // Recupero il meta schema dell'oggetto

  ds := Doc.GetStructure()
  // 
  // Enumeriamo le proprietà

  while np <= ds.GetPropertyCount()
  {
    IDPropertyDefinition pr = null // La definizione della proprietà np-esima
    string nome = ""               // Nome della proprietà
    string valore = ""             // Valore Attuale
    string vorg = ""               // Valore Originale
    // 
    // Recupero la definizione della proprietà np-esima

    pr := ds.GetPropertyDefinition(np)
    // 
    // Prelevo il nome e i valori

    nome := pr.UIName
    valore := Doc.GetProperty(np)
    vorg := Doc.GetOriginalValue(np)
    // 
    // Solo se la proprietà non è temporanea

    if NOT(pr.Transient)
    {
      // Creo la riga di proprietà nel pannello
      insert values into ProprietàVersione
         set NomeProprietà := nome
         set ValoreProprietà := valore
         set ValoreOriginale := vorg
         set IndiceProprietà := np
    }
    // 
    // Prossima proprietà

    np := np + ONE
  }
}
Attenzione: l'oggetto ritornato è statico: ogni modifica influirà sul comportamento dell'intera applicazione web e non solo sulla sessione che la effettua.

Ultima modifica: 04/01/2022 / Validità: da 6.5.2680

Vedi Anche

  • ID Document Structure

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum