Del via


Kontekst for udførelse (klientsidereference)

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Kørselskonteksten er en valgfri parameter, der kan overføres til en JavaScript biblioteksfunktion via en hændelseshandler. Denne indstilling vises i dialogboksen med egenskaber for handleren, når du angiver navnet på funktionen. Denne indstilling er angivet for et <Handler> (FormXml)-element ved hjælp af attributten passExecutionContext.

Kørselskonteksten overføres automatisk til funktioner, der er angivet ved hjælp af metoderne Xrm.Page.data.fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_addOnSave og Xrm.Page.data.entityAttribute.6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_addOnChange og Xrm.Page.uiControl.51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_addPreSearch.

Metoder til udførelse af kontekst

  • getContext
    Metode, der returnerer objektet Klientsidekontekst (klientsidereference).

  • getDepth
    Metode, der returnerer en værdi, der angiver den rækkefølge, hvori denne handler udføres.

  • getEventArgs
    Metode, der returnerer et objekt med metoder til at administrere hændelsen Save.

  • getEventSource
    Metode, der returnerer en reference til det objekt, som hændelsen opstod på.

  • getFormContext
    Metode, der returnerer en reference til en formular eller et redigerbart gitter, afhængigt af hvor metoden blev hentet.

  • Delte variabler
    Delte variabler tillader deling af en variabel med andre handlere for den samme hændelse. Du kan bruge metoderne setSharedVariable og getSharedVariable til at arbejde med delte variabler.

getContext

Metode, der returnerer objektet Klientsidekontekst (klientsidereference)

ExecutionContextObj.getContext()
  • Returværdi
    Type: objekt

getDepth

Metode, der returnerer en værdi, der angiver den rækkefølge, hvori denne handler udføres.

  • Returværdi
    Type: Tal

    Rækkefølgen begynder med 0.

getEventArgs

Metode, der returnerer et objekt med metoder til at administrere hændelsen Save.

Bemærk

Denne metode returnerer null for en hvilken som helst hændelse, bortset fra hændelsen Save.

ExecutionContextObj.getEventArgs()

getEventSource

Metode, der returnerer en reference til det objekt, som hændelsen opstod på.

ExecutionContextObj.getEventSource()
  • Returværdi
    Type: objekt

    Denne metode returnerer objektet fra objektmodellen Xrm.Page, der er kilden til hændelsen, ikke et HTMLDOM-objekt. I en OnChange-hændelse returnerer denne metode f.eks. attributobjektet Xrm.Page.data.entity, der repræsenterer den ændrede attribut.

getFormContext

Metode, der returnerer en reference enten til formularen (Xrm.Page) eller et redigerbart gitter, afhængigt af hvor metoden blev kaldet.

ExecutionContextObj.getFormContext()
  • Returværdi
    Type: objekt

    Denne metode returnerer en reference enten til objektet fra Xrm.Page -objektmodellen, eller dabc9332-54f3-4b1e-ac98-a3c5a4641b0c#BKMK_GridRow -objektet i et redigerbart gitter, afhængigt af hvor metoden blev kaldet. Med denne metode kan du oprette fælles hændelseshandlere, der kan fungere enten i en formular eller et redigerbart gitter, afhængigt af hvor de blev kaldet.

    Flere oplysninger: Bruge Xrm.Page-objektmodel og Redigerbare gitterobjekter og -metoder (klientsidereference)

    Bemærk

    Denne metode blev introduceret i December 2016 – opdatering til Dynamics 365 (online og det lokale miljø).

  • Eksempel
    Følgende eksempelkode demonstrerer, hvordan du kan oprette en metode, der angiver meddelelsen i et formularfelt eller en redigerbar gittercelle, afhængigt af hvor du registrerede scriptet (d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_FieldOnChangeEvent eller dabc9332-54f3-4b1e-ac98-a3c5a4641b0c#BKMK_OnChange-hændelse for redigerbart gitter):

    function commonEventHandler(executionContext) {
        var entityObject = executionContext.getFormContext().data.entity;
        var telephoneAttr = entityObject.attributes.getByName('telephone1');
        var isNumberWithCountryCode = telephoneAttr.getValue().substring(0,1) === '+';
    
        // telephoneField will be an Xrm.Page control if invoked from a form OnChange event;
        // telephoneField will be a editable grid GridCell object if invoked from editable grid OnChange event.
        var telephoneField = telephoneAttr.controls.getByIndex(0);
    
        if (!isNumberWithCountryCode) {
            telephoneField.setNotification('Please include the country code beginning with ‘+’.', 'countryCodeNotification');
        }
        else {
            telephoneField.clearNotification('countryCodeNotification');
        }
    }
    

Delte variabler

Delte variabler tillader deling af en variabel med andre handlere for den samme hændelse. Du bruger metoderne setSharedVariable og getSharedVariable til at overføre variabler mellem funktioner.

setSharedVariable

Angiver værdien af en variabel, som skal bruges af en handler, når den aktuelle handler er fuldført.

ExecutionContextObj.setSharedVariable(key, value)
  • Argumenter
    String: Navnet på variablen

    Object: Værdien, som skal angives.

getSharedVariable

Henter en variabel, der er angivet vha. setSharedVariable.

ExecutionContextObj.getSharedVariable(key)
  • Argumenter
    String: Navnet på variablen.

  • Returværdi
    Type: objekt

    Den specifikke type afhænger af, hvad objektets værdi er.

Se også

Programmeringsreference på klientsiden

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret