Startseite > Anleitung, CRM 2011, CRM 2011 online, JavaScript > CRM 2011 – Hilfreiche JavaScript Codeschnippsel Version 3

CRM 2011 – Hilfreiche JavaScript Codeschnippsel Version 3

Anbei findet ihr die dritte Version meines Artikels über hilfreiche JavaScript Codeschnippsel im CRM. Er beinhaltet neben den Beispielen des ersten beiden Artikels weitere Beispiele und kleinere Fehlerkorrekturen, die mir durch Oliver Graf und Jan Nebendahl angetragen wurden, vielen Dank für diese Informationen.

Den Wert eines Feldes auslesen
Xrm.Page.getAttribute(‚Feldname‘).getValue();

Den Wert eines Feldes setzen
Xrm.Page.getAttribute(‚Feldname‘).setValue(‚NeuerWert‘);

Den Wert eines Lookup-Feldes auslesen
var lookup = new Array();
lookup =Xrm.Page.getAttribute(‚Feldname‘).getValue();
lookup[0].id;
lookup[0].name;
lookup[0].entityType

Den Wert eines Lookup-Feldes setzen
var lookup = new Array();
lookup[0] = new Object();
lookup[0].id = ‚GUID des Datensatzes‘;
lookup[0].name = ‚Name des Datensatzes‘;
lookup[0].entityType = typeValue;
Xrm.Page.getAttribute(‚Feldname‘).setValue(lookup);

ID des aktuellen Datensatzes ermitteln
Xrm.Page.data.entity.getId();

Ein Feld anzeigen/verstecken
Xrm.Page.ui.controls.get(‚Feldname‘).setVisible(true);
Xrm.Page.ui.controls.get(‚Feldname‘).setVisible(false);

Den Label eines Feldes ausblenden
Xrm.Page.ui.controls.get(‚Feldname‘).setLabel(“);

Eine Sektion (Tab) anzeigen/verstecken
Xrm.Page.ui.tabs.get(2).setVisible(true);
Xrm.Page.ui.tabs.get(2).setVisible(false);

Anstelle des Indexes für den Tab kann auch der Name des Tabs verwendet werden

Das OnChange Ereignis eines Feldes aufrufen
Xrm.Page.getAttribute(‚Feldname‘).fireOnChange();

Den ausgewählten Eintrag einer Pickliste auslesen
Xrm.Page.getAttribute(‚Feldname‘).getSelectedOption().text;

Den Wert einer Pickliste setzen
Xrm.Page.getAttribute(‚Feldname‘).setValue(parseInt(Wert));

Den Level eine Feldes setzen
Xrm.Page.getAttribute(‚Feldname‘).setRequiredLevel(’none‘);
Xrm.Page.getAttribute(‚Feldname‘).setRequiredLevel(‚required‘);
Xrm.Page.getAttribute(‚Feldname‘).setRequiredLevel(‚recommended‘);

Den Focus auf ein Feld setzen
Xrm.Page.getControl(‚Feldname‘).setFocus(true);

OnSave Ereignis abbrechen
event.returnValue = false;

Ein Feld schreibschützen
Xrm.Page.getControl(‚Feldname‘).setDisabled(true);

Ein Schreibgeschütztes Feld in der Datenbank speichern
Xrm.Page.getAttribute(‚Feldname‘).setSubmitMode(‚always‘)

Nur eine Entitä bei einem Lookup anzeigen
document.getElementById(‚customerid‘).setAttribute(‚lookuptypes‘, ‚1‘);

Möchte man mehrere Entitäten zur Auswahl anbieten, kann man diese durch Kommas getrennt angeben.
Das folgende Script zeigt z.B. noch die Entitäten Firma und Kontakt an.

document.getElementById(‚customerid‘).setAttribute(‚lookuptypes‘, ‚1, 2‘);
Zusätzlich muss dann noch der Defaulttype für das Lookup gesetzt werden
document.getElementById(‚customerid‘).setAttribute(‚defaulttype‘, ‚1‘);

Wird die Standardardanzeige des Lookups entfernt, muss zusätzlich eine neue Standardanzeige definiert werden
Xrm.Page.getControl(‚customerid‘).setDefaultView(‚GUID der View‘);
Vielen Dank an Jan Nebendahl für den Hinweis.

Auf den Formularstatus prüfen
var formType= Xrm.Page.ui.getFormType();
1 = create
2 = update
3 = Read Only
4 = Disabled
6 = Bulk Edit

Schlagwörter: , ,
  1. 3. Februar 2012 um 12:01

    Wirklich eine schöne Sammlung! Die „lookup-defaults“ hab ich mir mal gleich in meinen Werkzeugkoffer gelegt 🙂

    Daniel

  2. Frank Beil
    20. Februar 2013 um 11:52

    Der Trick mit dem Tab ausblenden ist wirklich gut. Vielen Dank dafür.
    Aber nach dem Speichern wird die jeweilige Sektion wieder angezeigt. Kann man diese Einstellung irgendwie speichern?
    Viele Grüße aus Berlin
    Frank

    • 22. Februar 2013 um 16:52

      Hallo Frank,
      du musst den Code nur im OnLoad des Formulares laden, dann wird der Tab auch nach dem Speichern nicht angezeigt.

  1. 29. Februar 2012 um 12:32
  2. 29. Februar 2012 um 12:33
  3. 14. März 2023 um 18:30
  4. 19. März 2023 um 21:12
    ijp

Hinterlasse einen Kommentar