DM.Entities.Profile

Questa funzione ritorna un oggetto Javascript rappresentante l'entità del Profilo di DocsMarshal.
La funzionalità è integrabile direttamente in risposta alle chiamate di ricerca sui profili già esistenti in DocsMarshal.

Inizializzazione

Per creare l'entità è necessario fornire al costruttore i dati del profilo

  • profileData (obbligatorio): oggetto contenente i dati del profilo
  • fields: se non già specificato nel primo parametro (profileData.Fields) è necessario specificare l'elenco dei campi presenti nel profilo

var profile = new DM.Entities.Profile(profileData, fields)

Metodi

  • getFieldValueByExternalId(fieldExternalId, defaultValue)
    Permette di ricavare il valore di un campo attraverso il suo externalId
    Esempio: 'mioCampo'
  • getFieldValueById(fieldId, defaultValue)
    Permette di ricavare il valore di un campo attraverso il suo id
    Esempio: 435
  • getFieldValueByDbFieldName(fieldName, defaultValue)
    Permette di ricavare il valore di un campo attraverso il suo nome di database
    Esempio: 'C435'

Esempi

DM.setSessionId('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');
//chiamata di ricerca dati
let search = await DM.ajax.post(DM.getPortalUrl('/DMSearch/Execute'), callParameters);
//creo le mie entità a partire dai risultati della ricerca
let profiles = search.result.Profiles.map(profile => new DM.Entities.Profile(profile, search.result.Fields));
//filtro i profili di un Repeater con valore del campo con ExternalId 'Importo' > 0
let validProfiles = repeaterInstance.applyProfilesFilter(function(profile){ profile.getFieldValueByExternalId('Importo', 0) > 0 })
//se inclusi in ricerca, ho anche la possibilità di accedere a valori di campi in DynAss
let valoreInDynAss = profile.getFieldValueByExternalId("ExternalIdDynAss.ExternalIdCampo");