Set e get note nel campo in CRM 2011 JavaScript
-
12-12-2019 - |
Domanda
Ho bisogno di impostare il campo Note sul valore del campo Notes in un'altra entità nel modulo CRM 2011.Quindi, ho bisogno di sapere come ottenere e impostare il campo Notes usando JavaScript.E non sono in grado di ottenere il nome del campo Notes all'interno della sezione come puoi vedere nell'immagine qui sotto.
Soluzione
OK Ci sono due approcci richiesti qui.
@philip_rich ha sottolineato che le annotazioni per i record esistenti vengono create non appena perdono la messa a fuoco e possono quindi essere interrogate.Dovresti essere in grado di trovare il codice esistente per questo abbastanza facilmente (se no, chiedi qui).
Tu stesso riconosciuto che per i nuovi record (non salvati), le annotazioni non vengono salvate fino a quando non viene salvato il record principale.Non esiste un modo supportato per accedere al valore nel campo Notes a questo punto, tuttavia questo brutto pezzo di codice dovrebbe ottenere il valore che cerchi.Attenzione che dal momento che non è supportato, è vulnerabile ai cambiamenti DOM nei moduli:
var myNotesText = document.getElementById("notescontrol").contentWindow.document.getElementById("NotesTable").children[1].children[4].children[0].innerText;
. Altri suggerimenti
Le note in CRM sono chiamate "annotazioni" sotto il cofano.Si crea un'annotazione come qualsiasi altro tipo di record CRM e associa quindi l'annotazione con la registrazione dell'entità di interesse.Non ho tentato di recuperare campi di note da JavaScript esplicitamente (che normalmente ho fatto questo tramite un plug-in, che è documentato nell'SDK).Tuttavia, non vedo alcuna ragione per cui non è stato possibile eseguire una query di Odata per recuperare annotazioni in cui il record di entità associato era di tipo di entità X ad esempio.
In JS non è necessario assegnare, crea una nota.
Ma hai sicuramente bisogno di un'entità creata prima di poter allegare una nota ad esso.
Le note possono essere due tipi una nota e un allegato.
Ecco l'esempio di come è possibile creare una semplice nota (testo) (annotazione) da JS.
function _createAnnotation(entity, subject, text) {
var orgService = GetOrganizationService();
var annotation = {};
annotation.Name = "annotation";
annotation._properties = [];
annotation._propertyTypes = [];
annotation._properties['objectid'] = entity;
annotation._propertyTypes['objectid'] = 'lookup';
annotation._properties['subject'] = subject;
annotation._propertyTypes['subject'] = 'string';
annotation._properties['notetext'] = text;
annotation._propertyTypes['notetext'] = 'string';
annotation._properties['isdocument'] = 'false';
annotation._propertyTypes['isdocument'] = 'boolean';
annotation._properties['mimetype'] = 'text/html';
annotation._propertyTypes['mimetype'] = 'string';
orgService.Create(annotation);
}
.
Dove:
Entity - (EntityReference) dell'entità che si desidera allegare una nota a.
Oggetto - (stringa) Soggetto di una nota.
Testo - (stringa) Corpo di una nota.
Se si desidera collegare un documento MS Office, è necessario modificare i parametri ISDocument e Mimetype .