Formularscripter - hurtig henvisning
Udgivet: januar 2017
Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Dette emne indeholder en hurtig henvisning til hyppigt anvendte formularscript-metoder baseret på de opgaver, du udfører med dem. Se Programmeringsreference på klientsiden for at få den fulde henvisning. Alle eksempler på denne side anvender standardformularen for firmaobjekter, medmindre andet er angivet.
Dette emne indeholder
Attributter
Få adgang til attributter
Hent eller angiv objektattributdata
Hent attributmetadata
Gem hændelsesargumenter
Vis meddelelser
Kontrolelementer
Få adgang til formularkontrolelementer
Åbn headerkontrolelementer
Åbn kontrolelementer i forretningsprocesforløb
Kontrolelementmetoder til formularer
OptionSet-kontrolelementmetoder
Kontrolelementmetoder til webressourcer og IFRAME
Kontrolelementmetoder til opslag
Kontrolelementmetoder til undergitter
Kontrolelementmetoder til datoer
Formularnavigation
Faner og sektioner
Tilføj eller fjern hændelseshandlere på kørselstidspunktet
Kontekstafhængige oplysningsmetoder
Hent, opdater eller gem objektdata
Attributter
Attributter gemmer de data, der er tilgængelige i posten.
Få adgang til attributter
Der er adgang til attributter fra samlingen Xrm.Page.data.entity.attributes. For at få adgang til en attribut, kan du bruge metoden **Xrm.Page.data.entity.attributes.**9b85e46f-ca6e-4313-af04-4290e3c6ab8b#BKMK_get eller genvejsversionen Xrm.Page.getAttribute. Metoden get accepterer fire typer argumenter:
Streng: Returnerer et attributobjekt, hvor attributnavnet matcher strengen.
Tal: Returnerer det attributobjekt, hvor Xrm.Page.data.entity.attributes-samlingsindekset matcher tallet.
Ingen: Returnerer en matrix af alle attributterne.
Delegate function(attribute,index): Returnerer en matrix af attributter fra samlingen Xrm.Page.data.entity.attributes, som får stedfortræderfunktionen til at returnere true.
Opgave |
Eksempel |
---|---|
Få adgang til en attribut efter navn |
var nameAttribute = Xrm.Page.getAttribute("name"); Tildeler attributten for feltet Kontonavn til variablen nameAttribute |
Få adgang til en attribut efter indeks |
var firstAttribute = Xrm.Page.getAttribute(0); Tildeler den første attribut i samlingen Xrm.Page.data.entity.attributes til variablen firstAttribute. |
Få adgang til alle attributter |
var allAttributes = Xrm.Page.getAttribute(); Tildeler en matrix med alle attributter i samlingen Xrm.Page.data.entity.attributes til variablen allAttributes. |
Få adgang til alle attributter, som opfylder et specifikt kriterie |
var optionsetAttributes = Xrm.Page.getAttribute(function (attribute, index) { Tildeler en matrix med alle attributter i samlingen Xrm.Page.data.entity.attributes, som opfylder de kriterier, der er angivet i den anonyme funktion, som returnerer true, når attributtypen er “optionset” til variablen optionsetAttributes. |
Samlingen Xrm.Page.data.entity.attributes har også en 9b85e46f-ca6e-4313-af04-4290e3c6ab8b#BKMK_forEach-metode, som du kan bruge til at få adgang til attributter i en funktion. Følgende funktion writeRequiredAttributesToConsole skriver navnene på attributter, som kræver data, til fejlfindingskonsollen:
function writeRequiredAttributesToConsole() {
var requiredAttributeNames = [];
Xrm.Page.data.entity.attributes.forEach(
function (attribute, index) {
if (attribute.getRequiredLevel() == "required")
{ requiredAttributeNames.push(attribute.getName()); }
});
if (requiredAttributeNames.length > 0) {
if (typeof console != "undefined") {
console.log(requiredAttributeNames.join());
}
}
else {
if (typeof console != "undefined") {
console.log("No required attributes detected");
}
}
}
Dette emne indeholder
Hent eller angiv objektattributdata
Eksemplerne i den følgende tabel viser, hvordan du kan hente eller ændre data, som er gemt i attributter.
Opgave |
Metode |
Eksempel |
---|---|---|
Hent værdien af en attribut |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getValue |
var nameValue = Xrm.Page.getAttribute("name").getValue(); Tildeler værdien af feltet Firmanavn til variablen nameValue. |
Angiv værdien af en attribut |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_setValue |
Xrm.Page.getAttribute("name").setValue("new name"); Angiver værdien af feltet Firmanavn til "nyt navn". |
Hent tekstværdien af den OptionSet-attribut, der er valgt i øjeblikket |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getText |
var addressType = Xrm.Page.getAttribute("address1_addresstypecode").getText(); Tildeler teksten for den valgte indstilling i feltet Adressetype til variablen addressType. |
Hent det indstillingsobjekt, der er valgt i øjeblikket, i en optionset-attribut |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getSelectedOption |
var addressTypeOption = Xrm.Page.getAttribute("address1_addresstypecode").getSelectedOption(); Tildeler den valgte indstilling i feltet Adressetype til variablen addressTypeOption. |
Dette emne indeholder
Hent attributmetadata
Eksemplerne i den følgende tabel viser, hvordan du kan forespørge om attributindstillinger for at forstå, hvilken type attribut det er, eller ændre attributtens funktionsmåde.
Opgave |
Metode |
Eksempel |
---|---|---|
Hent attributtypen |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getAttributeType |
var attributeType = Xrm.Page.getAttribute(0).getAttributeType(); Tildeler den strengværdi, som repræsenterer attributtypen for den første attribut, til variablen attributeType. |
Hent, hvordan attributten er formateret |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getFormat |
var attributeFormat = Xrm.Page.getAttribute(0).getFormat(); Tildeler den strengværdi, som repræsenterer formatet af den første attribut, til variablen attributeFormat. |
Hent den første værdi af en Boolean- eller optionset-attribut |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getInitialValue |
var attributeInitialValue = Xrm.Page.getAttribute("address1_addresstypecode").getInitialValue(); Tildeler den første talværdi i feltet Adressetype til variablen attributeInitialValue. |
Bestem, om en attributværdi er blevet ændret |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getIsDirty |
var isNameChanged = Xrm.Page.getAttribute("name").getIsDirty(); Tildeler en Boolean-værdi, som angiver, om feltet Firmanavn er blevet ændret, til variablen isNameChanged. |
Bestemmer, om en opslagsattribut repræsenterer et partylist-opslag. |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getIsPartyList |
var isPartyList = Xrm.Page.getAttribute("to").getIsPartyList(); Tildeler en Boolean-værdi, som angiver, om E-mail-objektfeltet til repræsenterer et deltagerliste-opslag. Denne metode er kun tilgængelig for 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Hent den maksimale tilladte værdi for en attribut, som indeholder et tal |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getMax |
var newValue = 100000000000001; Tildeler en Boolean-værdi, som angiver, om værdien af variablen newValue overskrider maksimumværdien for feltet Kreditgrænse, til variablen newValueBelowMax. |
Hent den maksimale tilladte længde for en attribut, som indeholder en streng |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getMaxLength |
var newAccountName = "A Store"; Tildeler en Boolean-værdi, , som angiver, om værdien af variablen newAccountName overskrider den maksimale tilladte længde for feltet Firmanavn, til variablen nameTooLong. |
Hent den minimale tilladte værdi for en attribut, som indeholder et tal |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getMin |
var newValue = -1; Tildeler en Boolean-værdi, som angiver, om værdien af variablen newValue er under minimumværdien for feltet Kreditgrænse, til variablen newValueBelowMin. |
Henter det logiske navn for en attribut |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getName |
var attributeName = Xrm.Page.getAttribute(0).getName(); Tildeler det logiske navn for den første attribut på siden til variablen attributeName |
Hent det indstillingsobjet, som repræsenterer en værdi |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getOption |
var addressTypeOption = Xrm.Page.getAttribute("address1_addresstypecode").getOption(1); Viser en besked med teksten for feltindstillingen Adressetype med værdien 1. |
Hent en talværdi, som repræsenterer præcisionniveauet for talattributten |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getPrecision |
var creditLimitPrecision = Xrm.Page.getAttribute("creditlimit").getPrecision(); Tildeler præcisionsværdien for feltet Kreditgrænse til variablen creditLimitPrecision. |
Hent en strengværdi, som repræsenterer, om det kræves, at en attribut har en værdi |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getRequiredLevel |
var creditLimitRequired = Xrm.Page.getAttribute("creditlimit").getRequiredLevel(); Værdien af variablen creditLimitRequired kan være none, required eller recommended. |
Ændre, om data kræves i et felt for at gemme en post |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_setRequiredLevel |
Xrm.Page.getAttribute("creditlimit").setRequiredLevel("required"); Gør feltet Kreditgrænse obligatorisk. |
Bestem, om dataatributten bliver sendt, når posten gemmes |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getSubmitMode |
var nameSubmitMode = Xrm.Page.getAttribute("name").getSubmitMode(); Værdien af variablen nameSubmitMode vil være enten always, never eller dirty for at repræsentere submitMode for feltet Firmanavn. |
Kontroller, om data i en attribut bliver gemt, når posten gemmes |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_setSubmitMode |
Xrm.Page.getAttribute("name").setSubmitMode("always"); Eksemplet tvinger værdien i feltet Firmanavn til altid at blive gemt, selv når den ikke er blevet ændret. |
Når sikkerhed på feltniveau er blevet anvendt for en attribut, |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getUserPrivilege |
var canUpdateNameAttribute = Xrm.Page.getAttribute("name").getUserPrivilege().canUpdate; Tildeler en Boolean-værdi, som repræsenterer brugerens rettighed til at opdatere feltet Firmanavn til variablen canUpdateNameAttribute. |
Dette emne indeholder
Gem hændelsesargumenter
Når man håndhæver forretningslogik er det ofte nødvendigt at forhindre, at en post gemmes, så brugeren kan tilføje de nødvendige oplysninger. For at gøre dette skal du konfigurere hændelseshandleren til at overføre via kørselskonteksten. Kørselskonteksten indeholder metoden getEventArgs til hentning af argumenter til hændelsen. Disse argumenter indeholder metoder, du kan bruge til at kontrollere, om en post bliver gemt, eller til at rette forespørgsel om egenskaber, som fortæller dig om save-hændelsen.
Opgave |
Eksempel |
---|---|
Forhindre at en post gemmes. |
function My_PreventSaveFunction(eContext) { Brug parameteren eContext til at registrere kørselskonteksten, og brug preventDefault-metoden, som følger med hændelsesargumenterne. |
Bestem, hvilken handling som aktiverede lagringen. |
function My_GetSaveModeTextFunction(eContext) { Brug parameteren eContext til at registrere kørselskonteksten, og brug getSaveMode-metoden, som følger med hændelsesargumenterne, til at konvertere heltalskodeværdien til tekst. |
Dette emne indeholder
Vis meddelelser
Meddelelser er en metode til at vise en besked til brugeren.
Opgave |
Metode |
Eksempel |
---|---|---|
Vis en meddelelse i nærheden af kontrolelementet for at angive, at data ikke er gyldige. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setnotification |
Xrm.Page.getAttribute("name").controls.forEach( Angiver en fejlmeddelelse om validering på hvert kontrolelement i formularen for attributten Firmanavn. Når denne meddelelse vises, kan posten ikke gemmes. Denne metode er kun tilgængelig for 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Fjern en meddelelse, som allerede vises for et kontrolelement. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_clearnotification |
Xrm.Page.getAttribute("name").controls.forEach( Rydder alle fejlmeddelelser om validering på hvert kontrolelement i formularen for attributten Firmanavn. Denne metode er kun tilgængelig for 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Vis meddelelser på formularniveau |
0375b206-d2bf-4034-a41d-fb476ecb4438#BKMK_setFormNotification |
Xrm.Page.ui.setFormNotification( Viser meddelelsen "Hello" øverst i formularen med et ikon for systemoplysninger. Denne metode er kun tilgængelig for 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Fjern meddelelser på formularniveau |
0375b206-d2bf-4034-a41d-fb476ecb4438#BKMK_clearFormNotification |
Xrm.Page.ui.clearFormNotification("helloMsg"); Rydder den meddelelse, som tidligere blev angivet, ved brug af "helloMsg" som uniqueid-parameter. Denne metode er kun tilgængelig for 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Viser en ikke-blokerende beskeddialogboks med en tilbagekaldsfunktion. |
72a66f93-92df-42b9-a8fd-b6125c7fe83b#BKMK_alertDialog |
var alertDisplayed = false; Vis en besked, og angiv værdien for variablen alertDisplayed, når den er lukket. Denne metode er kun tilgængelig for 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Vis en ikke-blokerende bekræft-dialogboks med forskellige tilbagekald afhængigt af den knap, som brugeren klikker på |
72a66f93-92df-42b9-a8fd-b6125c7fe83b#BKMK_confirmDialog |
var agree = false; Vis en bekræftelsesmeddelelse, og indstil værdien for variablen agree afhængig af svaret. Denne metode er kun tilgængelig for 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Dette emne indeholder
Kontrolelementer
Kontrolelementerne repræsenterer brugergrænsefladeelementerne i formularen. Hver attribut i formularen har mindst ét kontrolelement tilknyttet. Ikke alle kontrolelementer er tilknyttet til en attribut.IFRAME, webressource og undergitre er kontrolelementer, som ikke har attributter.
Få adgang til formularkontrolelementer
Kontrolelementer er tilgængelige fra samlingen Xrm.Page.ui.controls. Du kan få adgang til et kontrolelement ved hjælp af metoden **Xrm.Page.ui.controls.**9b85e46f-ca6e-4313-af04-4290e3c6ab8b#BKMK_get eller genvejsversionen Xrm.Page.getControl.
Hentningsmetoden accepterer fire typer argumenter:
Streng: Returnerer et kontrolelement, hvor det logiske navn matcher strengen.
Tal: Returnerer det kontrolelement, hvor Xrm.Page.ui.controls-samlingsindekset matcher tallet.
Ingen: Returnerer en matrix af alle kontrolelementer.
Delegate function(control,index): Returnerer en matrix af alle kontrolelementer fra den Xrm.Page.ui.controls-samling, som får stedfortræderfunktionen til at returnere sand.
Opgave |
Eksempel |
---|---|
Få adgang til alle kontrolelementer for en specifik attribut |
var nameControls = Xrm.Page.getAttribute("name").controls.get(); Tildeler en matrix af alle kontrolelementer for attributten name til variablen nameControls. |
Få adgang til et kontrolelement ud fra navn |
var nameControl = Xrm.Page.getControl("name"); Tildeler det første kontrolelement, som repræsenterer feltet Firmanavn, til variablen nameControl. Det første kontrolelement, som tilføjes til en formular for en attribut, har det samme navn som attributten. Hvert yderligere kontrolelementnavn vil få et indeksnummer knyttet til navnet. Tre kontrolelementer for navneattributten vil f.eks. have navnene: name, name1 og name2 respektivt. |
Få adgang til et kontrolelement efter indeks |
var firstControl = Xrm.Page.getControl(0); Tildeler det første kontrolelement i samlingen Xrm.Page.ui.controls til variablen firstControl. |
Få adgang til alle kontrolelementer |
var allControls = Xrm.Page.getControl(); Tildeler en matrix af alle kontrolelementerne i samlingen Xrm.Page.ui.controls til variablen allControls. |
Få adgang til alle kontrolelementer, som opfylder et specifikt kriterie |
var optionsetControls = Xrm.Page.getControl(function (control, index) { Tildeler en matrix af alle attributterne i samlingen Xrm.Page.ui.controls, som opfylder de kriterier, som er angivet i den anonyme funktion, som returnerer true, når kontroltypen er “optionset”, til variablen optionsetControls. |
Hver sektion har en samling af kontrolelementer, som kun indeholder kontrolelementer for den pågældende sektion. Det følgende kodeeksempel tildeler variablen generalTabAccountInfoSectionControls til en matrix af kontrolelementer i sektionen Adresse på fanen Generelt.
var generalTabAccountInfoSectionControls = Xrm.Page.ui.tabs.get("general").sections.get("address").controls.get();
Bemærk
Hver attribut findes kun én gang i formularen, men der kan tilføjes et felt til formularen for attributten flere gange. Hvert felt, som tilføjes, opretter endnu et kontrolelement. Formularer kan tilpasses yderligere, når du har skrevet dine scripter. De scripter, du skriver for attributkontrolelementer, bør forudsætte at de er blevet inkluderet i formularen flere gange. Handlinger, du vil udføre på et kontrolelement for en attribut, skal også anvendes på alle kontrolelementer for den attribut. Hvis du f.eks. vil deaktivere et kontrolelement, men kun ét af dem, kan brugeren stadig indtaste data ved hjælp af et andet kontrolelement. Af denne årsag anbefaler vi, at du bruger det følgende mønster ved hjælp af samlingen 9b85e46f-ca6e-4313-af04-4290e3c6ab8b#BKMK_forEach til at anvende den samme logik for alle kontrolelementer for en attribut, selv hvis der kun er ét kontrolelement på det tidspunkt du skriver scriptet.
Xrm.Page.getAttribute("name").controls.forEach(function (control, index) { control.setDisabled(true); });
Dette emne indeholder
Åbn headerkontrolelementer
Kontrolelementerne i headeren følger navngivningskonventionen, hvor der står "header_" foran navnet på kontrolelementet. Hvis for eksempel attributten name findes i headeren, kan du åbne den ved hjælp af:
var nameControlInHeader = Xrm.Page.getControl("header_name");
Åbn kontrolelementer i forretningsprocesforløb
Kontrolelementerne i styringen af forretningsprocesforløbet følger navngivningskonventionen, hvor der står "header_process_" foran navnet på kontrolelementet. Hvis for eksempel attributten name findes i headeren, kan du åbne den ved hjælp af:
var nameControlInBPF = Xrm.Page.getControl("header_process_name");
Bemærk
Kun kontrolelementer i den aktive fase findes i gruppen Xrm.Page.ui.controls, når formularen indlæses. Andre kontrolelementer til forretningsprocesforløbet tilføjes, når der vælges en fase til det aktuelle objekt.
Kontrolelementmetoder til formularer
Når du har fået adgang til et kontrolelement, kan du kalde følgende metoder.
Opgave |
Metode |
Eksempel |
---|---|---|
Bestem, om et kontrolelement er synligt |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getVisible |
var isNameVisible = Xrm.Page.getControl("name").getVisible(); Tildeler en Boolean-værdi til variablen isNameVisible, som repræsenterer, hvorvidt feltet Firmanavn er synligt. |
Skjul eller vis et kontrolelement |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setVisible |
Xrm.Page.getControl("name").setVisible(false); Skjuler feltet Firmanavn. |
Hent en reference til attributten for kontrolelementet |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getAttribute |
var nameAttribute = Xrm.Page.getControl("name").getAttribute(); Tildeler attributten for kontrolelementet for feltet Firmanavn til variablen nameAttribute. Bemærk Ikke all kontrolelementer har attributter. |
Bestem typen af kontrolelement |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getControlType |
var optionSetControls = Xrm.Page.getControl(function (control, index) { return control.getControlType() == "optionset"; }); Tildeler en matrix af optionset-kontrolelementer til variablen optionSetControls. |
Bestem, om et kontrolelement er aktiveret |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getDisabled |
var disabledControls = Xrm.Page.getControl(function(control, index) { return control.getDisabled(); }); Tildeler en matrix af deaktiverede kontrolelementer til variablen disabledControls. Bemærk Webressource- og undergitter-kontrolelementer understøtter ikke denne metode. |
Deaktiver eller aktiver et kontrolelement |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setDisabled |
Xrm.Page.getAttribute("name").controls.forEach(function (control, index) { control.setDisabled(true); }); Deaktiver hver kontrolelement for attributten name. Tip Husk, at enhver attribut kan have flere kontrolelementer. |
Hent etiketten til et kontrolelement |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getLabel |
var nameControlLabel = Xrm.Page.getControl("name").getLabel(); Tildeler værdien af kontrolelementet for feltet Firmanavn til variablen nameControlLabel. |
Skift etiketten for et kontrolelement |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setLabel |
Xrm.Page.getControl("name").setLabel("Company Name"); Skifter etiketten for feltet Firmanavn til Virksomhedsnavn. |
Hent navnet på et kontrolelement |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getName |
var firstControlName = Xrm.Page.getControl(0).getName(); Tildeler navnet på det første kontrolelement i samlingen Xrm.Page.ui.controls til variablen firstControlName. |
Hent det overordnede element for et kontrolelement |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getParent |
var parentSection = Xrm.Page.getControl("name").getParent(); Tildeler den overordnede sektion af kontrolelementet for feltet Firmanavn til variablen parentSection. |
Sæt fokus på et kontrolelement |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setFocus |
Xrm.Page.getControl("name").setFocus(); Sætter fokus på feltet Kontonavn. |
Dette emne indeholder
OptionSet-kontrolelementmetoder
Optionsets har nogle særlige metoder. Det er vigtigt at huske på, at attributten definerer de gyldige indstillinger for et optionset. Når du arbejder med et optionset-kontrolelement, kan du manipulere tilgængelige indstillinger, men du kan ikke oprette nye indstillinger.
Opgave |
Metode |
Eksempel |
---|---|---|
Tilføj en indstilling til et optionset-kontrolelement |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_addOption |
var addressTypeCodeControl = Xrm.Page.getControl("address1_addresstypecode"); Ved hjælp af en reference til kontrolelementet for feltet Adressetype skal du åbne attributten for kontrolelementet og bruge metoden 6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getOption til at angive variablen billToAddressOption til den indstilling, som repræsenterer indstillingen Faktura til. Brug 51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_clearOptions til at fjerne eksisterende indstillinger, og brug addOption til at angive billToAddressOption som den eneste tilgængelige indstilling for dette kontrolelement. |
Fjern alle indstillingerne fra et optionset-kontrolelement |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_clearOptions |
Xrm.Page.getControl("address1_addresstypecode").clearOptions(); Fjern alle indstillingerne fra kontrolelementet for feltet Adressetype. |
Fjern en enkelt indstilling fra et optionset-kontrolelement. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_removeOption |
Xrm.Page.getControl("address1_addresstypecode").removeOption(1); Fjern indstillingen Faktura til fra kontrolelementet for feltet Adressetype. |
Dette emne indeholder
Kontrolelementmetoder til webressourcer og IFRAME
Et IFRAME-kontrolelement giver dig mulighed for at inkludere en side i en formular ved at levere en URL. En HTML-webressource tilføjet til en formular præsenteres ved hjælp af et IFRAME-element.Silverlight og billedwebressourcer er indlejret direkte i siden.
Opgave |
Metode |
Eksempel |
---|---|---|
Hent parameterværdien for den dataforespørgselsstreng, der blev sendt til en Silverlight-webressource. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getData |
var dataValue = Xrm.Page.getControl("WebResource_SilverLightControl").getData(); Tildeler den værdi, der blev sendt via parameteren for dataforespørgselsstrengen, til variablen dataValue. |
Hent URL for det indhold, der vises i øjeblikket i en IFRAME. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getSrc |
var iframeSource = Xrm.Page.getControl("IFRAME_targetPage").getSrc(); Tildeler den streng, som repræsenterer den aktuelle IFRAME.src-attributværdi til variablen iframeSource. |
Indstil URL-adressen for indholdet til at blive vist i en IFRAME. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setSrc |
Xrm.Page.getControl("IFRAME_targetPage").setSrc("http://www.bing.com"); Indstiller en URL-adresse til at være IFRAME.src for kontrolelementet. |
Hent URL, som repræsenterer den konfigurerede standard URL for en IFRAME. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getUrl |
var initialUrl = Xrm.Page.getControl("IFRAME_bing").getInitialUrl(); Tildeler den første URL, som er konfigureret til at blive vist i IFRAME, til variablen initialUrl. |
Henter objektet i den formular, som repræsenterer webressourcen eller IFRAME. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getObject |
var obj = Xrm.Page.getControl("IFRAME_bing").getObject(); Tildeler en objektreference til variablen obj. For en IFRAME vil dette blive IFRAME DOM (Document Object Model)-elementet. For en Silverlight-webressource vil det være det Objekt-element, som repræsenterer det indlejrede Silverlight-plug-in. |
Dette emne indeholder
Kontrolelementmetoder til opslag
Et fælles krav til opslagskontrolelementer er at angive standardvisningen, når en bruger opdaterer feltet.
Opgave |
Metode |
Eksempel |
---|---|---|
Tilføj en brugerdefineret visning for et opslag. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_addCustomView |
var viewId = "{C7034F4F-6F92-4DD7-BD9D-9B9C1E996380}"; Indstiller variablerne viewId, viewDisplayName, fetchXml og layoutXml til at blive videresendt som argumenter, så der tilføjes en brugerdefineret visning som standardvisning til kontrolelementet opslagsfeltet Overordnet firma. |
Hent standardvisningen for et opslag. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getDefaultView |
var defaultViewId = Xrm.Page.getControl("parentaccountid").getDefaultView(); Tildel id-værdien for standardvisningen til variablen defaultViewId. |
Angiv standardvisningen for et opslag. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setDefaultView |
var viewId = "{C7034F4F-6F92-4DD7-BD9D-9B9C1E996380}"; Indstiller standardvisningen for kontrolelementet for feltet Overordnet firma til værdien id i variablen viewId. |
Filtrer de poster, der returneres til et opslagskontrolelement |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_addCustomFilter |
Følgende kodeeksempel er til opslag i salgsmulighedsformularen Firma (parentaccountid). Når funktionen Sdk.setParentAccountIdFilter er angivet i formularhændelseshandleren Onload, føjes funktionen Sdk.filterCustomAccounts til hændelsen PreSearch for dette opslag. Resultatet er, at kun konti med kategori (accountcategorycode)-værdien Foretrukken kunde (1) returneres.
|
Dette emne indeholder
Kontrolelementmetoder til undergitter
SubGrid-kontrolelementet er et gitter i en formular. Det har en entydig metode.
Opgave |
Metode |
Eksempel |
---|---|---|
Opdater de data, som vises i undergitteret |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_refresh |
Xrm.Page.getControl("accountcontactsgrid").refresh(); Opdater Kontaktersubgrid. |
Dette emne indeholder
Kontrolelementmetoder til datoer
Kontrolelement til dato har en entydig metode.
Opgave |
Metode |
Eksempel |
---|---|---|
Angiv, om et kontrolelement til dato skal vise klokkeslætsdelen af datoen. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setShowTime |
Xrm.Page.getControl("createdon").setShowTime(false); Indstil feltet Oprettet, så klokkeslættet ikke vises. Denne metode er kun tilgængelig for 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Dette emne indeholder
Formularnavigation
Du kan bruge og manipulere navigationselementerne på formularens venstre side. Disse navigationselementer registrerer typisk poster med relation til den post, der vises i formularen.
Du kan få adgang til navigationselementer ved hjælp af samlingen Xrm.Page.ui.navigation.items. Som i alle samlinger i formularen er der en 9b85e46f-ca6e-4313-af04-4290e3c6ab8b#BKMK_get- og en 9b85e46f-ca6e-4313-af04-4290e3c6ab8b#BKMK_forEach-metode.
Opgave |
Metode |
Eksempel |
---|---|---|
Hent navnet for et navigationselement |
bcf7210d-df71-43a5-8052-a76de0d4763d#BKMK_getId |
var navItemIds = []; Opret en navItemIds-matrix, som indeholder id-værdierne for hvert navigationselement i samlingen Xrm.Page.ui.navigation.items. |
Hent etiketten for et navigationselement |
bcf7210d-df71-43a5-8052-a76de0d4763d#BKMK_getLabel |
var navAddressesLabel = Xrm.Page.ui.navigation.items.get("navAddresses").getLabel(); Tildeler etiketten for navigationselementet Flere adresser til variablen navAddressesLabel. |
Angiv etiketten for et navigationselement |
bcf7210d-df71-43a5-8052-a76de0d4763d#BKMK_setLabel |
Xrm.Page.ui.navigation.items.get("navAddresses").setLabel("Other Addresses"); Skift etiketten for navigationselement Flere adresser til Andre adresser. |
Vis eller skjul et navigationselement |
bcf7210d-df71-43a5-8052-a76de0d4763d#BKMK_setVisible |
Xrm.Page.ui.navigation.items.get("navAddresses").setVisible(false); Skjul navigationselementet More Addresses. |
Bestem, om et navigationselement er synligt |
bcf7210d-df71-43a5-8052-a76de0d4763d#BKMK_getVisible |
var moreAddressesVisible = Xrm.Page.ui.navigation.items.get("navAddresses").getVisible() Tildel en Boolean-værdi til variablen moreAddressesVisible for at repræsentere, om navigationselementet Flere adresser er synligt. |
Sæt fokus på et navigationselement. |
bcf7210d-df71-43a5-8052-a76de0d4763d#BKMK_setFocus |
Xrm.Page.ui.navigation.items.get("navAddresses").setFocus(); Sæt fokus på navigationselementet Flere adresser. |
Dette emne indeholder
Faner og sektioner
Hver formular har en samling af faner. Hver fane har en samling af sektioner. Hver sektion har en samling af kontrolelementer. Du kan via programmering få adgang til disse elementer og anvende deres metoder.
Opgave |
Metode |
Eksempel |
---|---|---|
Bestem, om en fane skal udvides eller skjules |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_getDisplayState |
var isGeneralTabExpanded = (Xrm.Page.ui.tabs.get("general").getDisplayState() == "expanded") Tildel en Boolean-værdi til variablen isGeneralTabExpanded, som angiver, om fanen Generelt skal udvides. |
Udvid eller skjul en fane |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabsetDisplayState |
Xrm.Page.ui.tabs.get("general").setDisplayState("collapsed"); Skjul fanen Generelt. |
Bestem, om en fane er synlig |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabgetVisible |
var isGeneralTabVisible = Xrm.Page.ui.tabs.get("general").getVisible(); Tildel en Boolean-værdi til variablen isGeneralTabVisible, som angiver, om fanen Generelt er synlig. |
Vis eller skjul en fane |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabsetVisible |
Xrm.Page.ui.tabs.get("general").setVisible(false); Skjul fanen Generelt. |
Hent etiketten for en fane |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabgetLabel |
var generalTabLabel = Xrm.Page.ui.tabs.get("general").getLabel(); Tildel faneetiketten Generelt til variablen generalTabLabel. |
Skift etiketten for en fane |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabsetLabel |
Xrm.Page.ui.tabs.get("general").setLabel("Major"); Skift faneetiketten Generelt til Overordnet. |
Sæt fokus på en fane |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabsetFocus |
Xrm.Page.ui.tabs.get("general").setFocus(); Sæt fokus på fanen Generelt. |
Hent navnet på fanen |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabgetName |
var firstTabName = Xrm.Page.ui.tabs.get(0).getName(); Tildel navnet på den første fane til variablen firstTabName. |
Hent den overordnede fane for en sektion |
a90df20b-42a6-444e-9912-e0ffab11daec#BKMK_sectionGetParent |
Xrm.Page.getControl("industrycode").getParent().getParent().setFocus(); Sæt fokus på fanen, som indeholder feltet Branche. |
Bestem, om en sektion er synlig |
a90df20b-42a6-444e-9912-e0ffab11daec#BKMK_sectionGetVisible |
var industrySectionVisible = Xrm.Page.getControl("industrycode").getParent().getVisible(); Tildel en Boolean-værdi til variablen industrySectionVisible, som angiver, om sektionen, som indeholder feltet Branche, er synlig. |
Vis eller skjul en sektion |
a90df20b-42a6-444e-9912-e0ffab11daec#BKMK_sectionSetVisible |
Xrm.Page.getControl("industrycode").getParent().setVisible(false); Skjul den sektion, som indeholder feltet Branche. |
Hent etiketten for en sektion |
a90df20b-42a6-444e-9912-e0ffab11daec#BKMK_getLabel |
var industryFieldSectionLabel = Xrm.Page.getControl("industrycode").getParent().getLabel(); Tildel etiketten for sektionen, som indeholder feltet Branche, til variablen industryFieldSectionLabel. |
Skift etiketten for en sektion. |
a90df20b-42a6-444e-9912-e0ffab11daec#BKMK_sectionSetLabel |
Xrm.Page.getControl("industrycode").getParent().setLabel("Detailed Information"); Skift etiketten for den sektion, som indeholder feltet Branche, til Detaljerede oplysninger. |
Dette emne indeholder
Tilføj eller fjern hændelseshandlere på kørselstidspunktet
Hændelseshandlere konfigureres normalt ved hjælp af formulareditoren i programmet, men du kan også tilføje dem til formularens OnSave-hændelse og attributtens OnChange-hændelser på kørselstidspuntet ved hjælp af disse APIs. Eksemplerne i denne sektion henviser til følgende funktionsdefinition:
function myFunction() {
//perform action here
}
Når du tilføjer en anonym funktion, skal funktionen have et navn at referere til for at fjerne den.
Opgave |
Metode |
Eksempel |
---|---|---|
Tilføj en funktion til hændelsen OnSave |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_addOnSave |
Xrm.Page.data.entity.addOnSave(myFunction); Tilføj funktionen myFunction til hændelsen OnSave. |
Fjern en funktion fra hændelsen OnSave |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_removeOnSave |
Xrm.Page.data.entity.removeOnSave(myFunction); Fjern funktionen myFunction til hændelsen OnSave. |
Tilføj en funktion til hændelsen OnChange for en attribut. |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_addOnChange |
Xrm.Page.getAttribute("name").addOnChange(myFunction); Tilføj funktionen myFunction til hændelsen OnChange for feltet Firmanavn. |
Fjern en funktion fra hændelsen OnChange for en attribut |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_removeOnChange |
Xrm.Page.getAttribute("name").removeOnChange(myFunction); Flyt funktionen myFunction til hændelsen OnChange for feltet Firmanavn. |
Tilføj en funktion til hændelsen PreSearch for et opslagskontrolelement. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_addPreSearch |
Følgende kodeeksempel er til opslag i salgsmulighedsformularen Firma (parentaccountid). Når funktionen Sdk.setParentAccountIdFilter er angivet i formularhændelseshandleren Onload, føjes funktionen Sdk.filterCustomAccounts til hændelsen PreSearch for dette opslag. Resultatet er, at kun konti med kategori (accountcategorycode)-værdien Foretrukken kunde (1) returneres.
|
Brug d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange og d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected til hændelser, der indtræffer i styringen af forretningsprocesforløbet. Disse hændelser har kun metoder til tilføjelse eller fjernelse af hændelseshandlere ved hjælp af programmering.Flere oplysninger:Metoder til at administrere hændelseshandlere.
Dette emne indeholder
Kontekstafhængige oplysningsmetoder
Brug disse metoder til at få oplysninger om brugeren, organisationen og klienten. Følgende tabel indeholder nogle af de mest nyttige kontekstmetoder. Du kan se alle kontekstmetoderne under Klientsidekontekst (klientsidereference)
Opgave |
Metode |
Eksempel |
---|---|---|
Hent URL for at oprette forbindelse til organisationen. |
var serverUrl = Xrm.Page.context.getClientUrl(); Tildel en streng, som repræsenterer URL, til variablen serverUrl. |
|
Hent det entydige id for den aktuelle bruger. |
var userId = Xrm.Page.context.getUserId(); Tildel en streng, som repræsenterer brugerens id, til variablen userId. |
|
Hent navnet for den aktuelle bruger. |
var userName = Xrm.Page.context.getUserName(); Tildel en streng, som repræsenterer brugerens navn, til variablen userName. Denne metode er kun tilgængelig for 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
|
Hent den sprogkode, som repræsenterer brugerens foretrukne brugergrænsefladesprog. |
var userLCID = Xrm.Page.context.getUserLcid(); Tildel et tal, som angiver brugerens foretrukne sprog, til variablen userLCID. |
|
Hent en matrix af strenge, som repræsenterer GUID-værdierne for hver sikkerhedsrolle, som er tildelt til den aktuelle bruger, og alle teams, som brugeren er tilknyttet til. |
var userRoles = Xrm.Page.context.getUserRoles(); Tildel en matrix af strenge, som repræsenterer brugerens sikkerhedsroller, til variablen userRoles. |
|
Bestem, om scriptet kører i Microsoft Dynamics 365 til Outlook-klienten. |
var isOutlookClient = (Xrm.Page.context.client.getClient() == "Outlook"); Tildel en Boolean-værdi, som repræsenterer, hvorvidt din kode kører i Dynamics 365 til Outlook-klienten, til variablen isOutlookClient. |
|
Bestem, om brugeren arbejder offline, med Microsoft Dynamics 365 til Microsoft Office Outlook med offlineadgang-klienten. |
var IsOffline = (Xrm.Page.context.client.getClientState() == "Offline"); Tildel en Boolean-værdi, som repræsenterer, om brugeren arbejder offline i øjeblikket, til variablen IsOffline. |
Dette emne indeholder
Hent, opdater eller gem objektdata
Følgende tabel indeholder metoder, du kan bruge til at få oplysninger om den aktuelle post eller til at gemme ændringer. Du kan finde flere oplysninger i Xrm.Page.data.entity (klientsidereference) og Xrm.Page.data (klientsidereference).
Opgave |
Metode |
Eksempel |
---|---|---|
Hent det logiske navn for det aktuelle objekt |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_getEntityName |
var entityName = Xrm.Page.data.entity.getEntityName(); Tildel det logiske objektnavn til variablen entityName. |
Hent værdien for den primære attribut for det aktuelle objekt. |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_getPrimaryAttributeValue |
var primaryAttributeValue = Xrm.Page.data.entity.getPrimaryAttributeValue(); Tildel værdien for den primære attribut til variablen primaryAttributeValue. Denne metode er kun tilgængelig for 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Hent Id for den aktuelle post |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_getId |
var recordId = Xrm.Page.data.entity.getId(); Tildel id for posten til variablen recordId. |
Opdaterer dataene i formularen asynkront uden genindlæsning af siden. |
ab100e06-a3ba-47f8-a8f8-7b5fab2ab66d#BKMK_refresh |
Xrm.Page.data.refresh(); Opdaterer dataene i formularen. Denne metode er kun tilgængelig for 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Gem den aktuelle post |
Xrm.Page.data.entity.fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_save |
Xrm.Page.data.entity.save(); Gemmer posten. Der er valgfri argumenter. Brug saveandclose eller saveandnew til at udføre de tilsvarende handlinger. |
Gem den aktuelle post asynkront med mulighed for at angive |
Xrm.Page.data.ab100e06-a3ba-47f8-a8f8-7b5fab2ab66d#BKMK_dataSave |
Xrm.Page.data.save().then( Gemmer posten og viser en meddelelse med status for lagringen. Denne metode er kun tilgængelig for 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Fastslå, om data i den aktuelle post er blevet ændret. |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_getIsDirty |
var isDirty = Xrm.Page.data.entity.getIsDirty(); Tildel en Boolean-værdi, som repræsenterer, hvorvidt data i posten er blevet ændret, til variablen isDirty. |
Hent en streng, som repræsenterer de data, der bliver sendt til serveren, når posten gemmes. |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_getDataXml |
var dataXml = Xrm.Page.data.entity.getDataXml(); Tildel en streng, som repræsenterer de data, som skal gemmes, til variablen dataXml. |
Dette emne indeholder
Se også
Bruge Xrm.Page-objektmodel
Skriv kode til Microsoft Dynamics 365-formularer
Programmeringsreference på klientsiden
Microsoft Dynamics 365
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret