Attributten Xrm.Page.data.entity (klientsidereference)
Udgivet: januar 2017
Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Attributter indeholder dataene i formularen. Brug samlingen Xrm.Page.data.entity.attributter eller genvejsmetoden Xrm.Page.getAttribute til at få adgang til en samling af attributter. Du kan finde flere oplysninger i Grupper (klientsidereference).
Attributegenskaber og -metoder
Metoder for attributterne Boolesk og OptionSet
Metoderne getInitialValue, getOption, getOptions, getSelectedOption og getText gør det muligt at få oplysninger om booleske eller OptionSet-attributter.kontrolelementer
Adgangskontrolelementer, der er knyttet til attributter.getAttributeType
Hent attributtypen.getFormat
Hent attributformatet.getIsDirty
Bestemmer, om værdien af en attribut er ændret, siden den sidst blev gemt.getIsPartyList
Bestemmer, om en opslagsattribut repræsenterer et partylist-opslag.getMaxLength
Hent den maksimale strenglængde, som en attribut, der gemmer strengdata, kan have.getName
Hent navnet på attributten.getParent
Hent en henvisning til objektet Xrm.Page.data.entity, der er overordnet alle attributter.getUserPrivilege
Bestemmer, hvilke rettigheder en bruger har til felter, der bruges sikkerhed på feltniveau.Talattributmetoder
Brug metoderne getMax, getMin og getPrecision til at få adgang til oplysninger om egenskaberne for attributter med tal.Hændelsen OnChange
Brug metoderne addOnChange, removeOnChange og fireOnChange til at administrere hændelseshandlere for hændelsen OnChange.RequiredLevel
Brug metoderne setRequiredLevel og getRequiredLevel til at styre, om en attribut skal have en værdi for at gemme en post.SubmitMode
Brug metoderne setSubmitMode og getSubmitMode til at kontrollere, om værdien af en attribut skal sendes, når en post gemmes.Værdi
Brug metoderne getValue og setValue til at bestemme den værdi, der er angivet for en attribut, og til at ændre værdien.
Metoder for attributterne Boolesk og OptionSet
Metoderne getInitialValue, getOption, getOptions, getSelectedOption og getText gør det muligt at få oplysninger om Boolean eller OptionSet-attributter.
getInitialValue
Returnerer en værdi, der repræsenterer den værdi, der er angivet for en OptionSet eller Boolean-attribut, når formularen åbnes.
Attributtyper: OptionSet og Boolesk
Xrm.Page.getAttribute(arg).getInitialValue()
- Returværdi
Type: tal. Startværdien for attributten.
getOption
Returnerer et indstillingsobjekt med den værdi, der svarer til det argument, der overføres til metoden.
Attributtyper: OptionSet
Xrm.Page.getAttribute(arg).getOption(value)
Argumenter
Streng eller talværdiReturværdi
Type: indstillingsobjekt med egenskaberne text og value.
getOptions
Returnerer en matrix af indstillingsobjekter, der repræsenterer de gyldige indstillinger for en OptionSet-attribut.
Attributtyper: OptionSet
Xrm.Page.getAttribute(arg).getOptions()
- Returværdi
Type: matrix af indstillingsobjekter.
getSelectedOption
Returnerer det indstillingsobjektet, der er valgt i en OptionSet-attribut.
Attributtyper: OptionSet
Xrm.Page.getAttribute(arg).getSelectedOption()
- Returværdi
Type: indstillingsobjekt med egenskaberne text og value.
getText
Returnerer en strengværdi med tekst til den indstilling for en OptionSet-attribut, der er valgt i øjeblikket.
Attributtyper: OptionSet
Xrm.Page.getAttribute(arg).getText()
Returværdi
Type: streng. Værdien af text for den valgte indstilling.Bemærk
Når der ikke er markeret nogen indstilling, returnerer getText en tom strengværdi.
kontrolelementer
Se Grupper (klientsidereference) for at få mere at vide om de metoder, der vises af samlinger.
Da hver attribut kan være repræsenteret mere end én gang på siden, giver kontrolelementsamlingen adgang til alle kontrolelementer, der repræsenterer den pågældende attribut. Hvis attributten er repræsenteret af kun ét felt på siden, bliver længden af denne samling 1. Når du bruger kontrolelementet for metoden 51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getName, er navnet på det første kontrolelement det samme som navnet på attributten. Den anden forekomst af et kontrolelement for den pågældende attribut er '<attributeName>1'. Mønsteret <attributeName>+ N fortsætter for hvert ekstra kontrolelement, der føjes til formularen for en bestemt attribut.
Når en formular viser kontrolelementet for et forretningsprocesforløb i overskriften, føjes yderligere kontrolelementer til hver attribut, der vises i forretningsprocesforløbet. Disse kontrolelementer har et entydigt navn som følgende: header_process_<attribute name>.
Når du udfører handlinger på kontrolelementer, der er knyttet til en attribut, skal du altid tage i betragtning, at kontrolelementet kan være inkluderet mere end én gang på siden, og du bør generelt udføre de samme handlinger for hvert kontrolelement for attributten. Du kan gøre dette ved at gennemgå samlingen af attributkontrolelementer og udføre handlingerne på hvert kontrolelement.
Nedenstående eksempel viser et JavaScript-bibliotek med to genanvendelige funktioner, der bruger samlingen af attributkontrolelementer til at vise og skjule kontrolelementer:
SDK.Sample.hideAllAttributeControls: skjuler alle kontrolelementer for attributten.
SDK.Sample.showAllAttributeControls: viser alle kontrolelementer for attributten.
if (typeof (SDK) == "undefined")
{SDK = { __namespace: true }; }
SDK.Sample = { __namespace: true };
SDK.Sample.hideAllAttributeControls = function (attributeLogicalName) {
/// <summary>
/// Hides all controls for the attribute.
/// </summary>
/// <param name="attributeLogicalName" type="String" mayBeNull="false" optional="false" >
/// The logical name of an attribute.
/// </param>
if ((typeof attributeLogicalName != "string") ||
(attributeLogicalName.length <= 3))
{ throw new Error("SDK.Sample.hideAllAttributeControls attributeLogicalName parameter must be a string at least 4 characters long."); }
Xrm.Page.getAttribute(attributeLogicalName).controls.forEach(
function (control, i) {
control.setVisible(false);
}
);
}
SDK.Sample.showAllAttributeControls = function (attributeLogicalName) {
/// <summary>
/// Shows all controls for the attribute.
/// </summary>
/// <param name="attributeLogicalName" type="String" mayBeNull="false" optional="false" >
/// The logical name of an attribute.
/// </param>
if ((typeof attributeLogicalName != "string") ||
(attributeLogicalName.length <= 3))
{ throw new Error("SDK.Sample.showAllAttributeControls attributeLogicalName parameter must be a string at least 4 characters long."); }
Xrm.Page.getAttribute(attributeLogicalName).controls.forEach(
function (control, i) {
control.setVisible(true);
}
);
}
Hvis du vil bruge disse funktioner, skal du sende det logiske navn på attributten, som vist her:
//Hide the controls for the subject attribute.
SDK.Sample.hideAllAttributeControls("subject");
//Show the controls for the subject attribute.
SDK.Sample.showAllAttributeControls("subject");
getAttributeType
Returnerer en strengværdi, der repræsenterer attributtypen.
Attributtyper: alle
Xrm.Page.getAttribute(arg).getAttributeType()
Returværdi
Type: strengDenne metode returnerer en af følgende strengværdier:
boolean
datetime
decimal
double
integer
lookup
memo
money
optionset
string
getFormat
Returnerer en strengværdi, der repræsenterer formateringsindstillingerne for attributten.
Attributtyper: alle
Xrm.Page.getAttribute(arg).getFormat()
Returværdi
Type: strengDenne metode returnerer en af følgende strengværdier eller null:
date
datetime
duration
email
language
none
phone
text
textarea
tickersymbol
timezone
url
Bemærk
Disse formatoplysninger repræsenterer generelt formateringsindstillingerne for programfeltet. Formatindstillinger til booleske felter er ikke angivet.
I nedenstående tabel vises de formatstrengværdier, der kan forventes for hver type af attributskematype og formatindstilling.
Programfelttype |
Formateringsindstilling |
Attributtype |
Formater værdi |
---|---|---|---|
Dato og klokkeslæt |
Kun dato |
datetime |
dato |
Dato og klokkeslæt |
Dato og klokkeslæt |
datetime |
dato/klokkeslæt |
Heltal |
Varighed |
integer |
varighed |
Enkelt tekstlinje |
string |
||
Heltal |
Sprog |
optionset |
sprog |
Heltal |
Intet |
integer |
ingen |
Enkelt tekstlinje |
Tekstområde |
string |
tekstområde |
Enkelt tekstlinje |
Tekst |
string |
text |
Enkelt tekstlinje |
Aktiesymbol |
string |
aktiesymbol |
Enkelt tekstlinje |
Telefon |
string |
-telefon |
Heltal |
Tidszone |
optionset |
tidszone |
Enkelt tekstlinje |
URL-adresse |
string |
url-adresse |
getIsDirty
Returnerer en boolesk værdi, der angiver, om der er ændringer til attributværdien, som ikke er gemt.
Attributtyper: alle
Xrm.Page.getAttribute(arg).getIsDirty()
- Returværdi
Type: Boolesk værdi. Sand, hvis der ændringer, der ikke er gemt, ellers falsk.
getIsPartyList
Returnerer en boolesk værdi, der angiver, om opslaget repræsenterer et partylist-opslag. PartyList-opslag giver mulighed for, at flere poster angives, f.eks. som feltet Til: for en mailobjektpost.
Attributtyper: opslag
Xrm.Page.getAttribute(arg).getIsPartyList()
Returværdi
Type: Boolesk værdi. Sand, hvis opslagsattributten er en partylist, ellers falsk.Bemærkninger
Denne metode er kun tilgængelig for 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties.
getMaxLength
Returnerer et tal, der angiver maksimumlængden på en attribut af typen streng eller notat.
Attributtyper: streng, notat
Xrm.Page.getAttribute(arg).getMaxLength()
Returværdi
Type: tal. Den tilladte maksimumlængde for en streng til denne attribut.Bemærk
Mailformularattributten description er en notatattribut, men den har ikke metoden getMaxLength.
getName
Returnerer en streng, der repræsenterer det logiske navn på attributten.
Attributtyper: alle
Xrm.Page.getAttribute(arg).getName()
- Returværdi
Type: streng. Det logiske navn på attributten.
getParent
Returnerer objektet Xrm.Page.data.entity, der er overordnet alle attributter.
Denne funktion findes for at give en ensartet grænseflade til andre objekter. Da hver attribut returnerer det samme objekt, er der i dette tilfælde ikke mange situationer, hvor det er praktisk.
Attributtyper: alle
Xrm.Page.getAttribute(arg).getParent()
- Returværdi
Type:Xrm.Page.data.entity-objekt.
getUserPrivilege
Returnerer et objekt med tre booleske egenskaber, der svarer til rettigheder, der angiver, om brugeren kan oprette, læse eller opdatere værdier for en attribut. Denne funktion er beregnet til brug, når sikkerhed på feltniveau ændrer en brugers rettigheder til en bestemt attribut. Du kan finde flere oplysninger under Hvordan feltsikkerhed kan bruges til at styre adgangen til feltværdier i Microsoft Dynamics 365.
Attributtyper: alle
Xrm.Page.getAttribute(arg).getUserPrivilege()
Returværdi
Type: objektObjektet har tre booleske egenskaber:
canRead
canUpdate
canCreate
Talattributmetoder
Brug metoderne getMax, getMin og getPrecision til at få adgang til oplysninger om egenskaberne for attributter med tal.
getMax
Returnerer et tal, der angiver den tilladte maksimumværdi for en attribut.
Attributtyper: penge, decimal, heltal, dobbelt
Xrm.Page.getAttribute(arg).getMax()
- Returværdi
Type: tal. Den tilladte maksimumværdi for attributten.
getMin
Returnerer et tal, der angiver den tilladte minimumværdi for en attribut.
Attributtyper: penge, decimal, heltal, dobbelt
Xrm.Page.getAttribute(arg).getMin()
- Returværdi
Type: tal. Den tilladte maksimumværdi for attributten.
getPrecision
Returnerer det tilladte antal cifre til højre for decimalpunktet.
Attributtyper: penge, decimal, dobbelt og heltal
Xrm.Page.getAttribute(arg).getPrecision()
- Returværdi
Type: tal. Det tilladte antal cifre til højre for decimalpunktet.
Hændelsen OnChange
Der findes tre metoder, du kan bruge til at arbejde med hændelsen onChange for en attribut:
addOnChange
removeOnChange
fireOnChange
addOnChange
Angiver en funktion der skal kaldes, når værdien for attributten ændres.
Xrm.Page.getAttribute(arg).addOnChange([function reference])
Parameter
Type: funktionspointerBemærkninger: Funktionen føjes til bunden af hændelseshandlerens pipeline. Kørselskonteksten er automatisk angivet til at være den første parameter, der sendes til hændelseshandleren. Du kan finde flere oplysninger under Kontekst for udførelse (klientsidereference).
Eksempel: I dette eksempel indeholder JScript-biblioteket to funktioner. Når funktionen addMessageToOnChange tilføjes til formularhændelsen OnLoad, tilføjes funktionen displayMessage som en handler for hændelsen OnChange for den første attribut i formularen.
function addMessageToOnChange() { Xrm.Page.data.entity.attributes.get(0).addOnChange(displayOrgName); } function displayOrgName(execContext) { Xrm.Utility.alertDialog(execContext.getContext().getOrgUniqueName()); }
removeOnChange
Fjerner en funktion fra hændelseshandleren OnChange for en attribut.
Xrm.Page.getAttribute(arg).removeOnChange([function reference])
Parameter
Type: funktionsreferenceEksempel: I dette eksempel indeholder JScript-biblioteket to funktioner. Når funktionen removeMessageFromOnChange tilføjes til en anden formularhændelse, fjernes funktionen displayOrgName som en handler for hændelsen OnChange for den første attribut i formularen.
function removeMessageFromOnChange() { Xrm.Page.data.entity.attributes.get(0).removeOnChange(displayOrgName); } function displayOrgName(execContext) { Xrm.Utility.alertDialog(execContext.getContext().getOrgUniqueName()); }
fireOnChange
Bevirker, at hændelsen OnChange opstår på attributten, så du kan køre ethvert script, der er knyttet til hændelsen.
Attributtyper: alle
Xrm.Page.getAttribute(arg).fireOnChange()
RequiredLevel
Du kan kontrollere, om programmet skal kræve, at et felt indeholder data, før en post kan gemmes. Brug metoderne getRequiredLevel og setRequiredLevel til at justere dette krav.
getRequiredLevel
Returnerer en strengværdi, der angiver, om en værdi for attributten kræves eller anbefales.
Attributtyper: alle
Xrm.Page.getAttribute(arg).getRequiredLevel()
Returværdi
Type: strengReturnerer en af de tre mulige værdier:
none
required
recommended
setRequiredLevel
Angiver, om der kræves eller anbefales data til attributten, før posten kan gemmes.
Vigtigt
Reduktion af det krævede niveau for en attribut kan forårsage en fejl, når siden gemmes. Hvis attributten kræves af serveren, vil der opstå en fejl, hvis der ikke er nogen værdi for attributten.
Denne metode understøttes kun i forbindelse med felter i en formular. Du kan ikke bruge denne metode med attributter, der vises i forretningsproces-kontrolelementet, til at angive kravniveauet for et trin i et forretningsprocesforløb. Du kan finde oplysninger om metoder på klientsiden, der er tilgængelige for trin i forretningsprocesforløbet, under Trinmetoder
Attributtyper: alle
Xrm.Page.getAttribute(arg).setRequiredLevel(requirementLevel)
Argumenter
Type: strengEn af følgende værdier:
none
required
recommended
SubmitMode
Du kan styre, hvornår data til en attribut sendes, når en post oprettes eller gemmes. F.eks. har du måske et felt i formularen, der kun er beregnet til at styre logikken i formularen. Du er ikke interesseret i at hente dataene i det. Du har måske angivet det, så dataene ikke gemmes. Eller du har en registreret plug-in, som afhænger af den værdi, der altid medtages. Du vil måske angive attributten, så den altid medtages. Attributter, der ikke opdateres, efter at posten er gemt første gang, f.eks. createdby, er angivet, så de ikke sendes, når der gemmes. Hvis du vil gennemtvinge, at en attributværdi skal sendes, uanset om den er ændret eller ej, kan du bruge funktionen setSubmitMode med tilstandsparameteren angivet til "altid".
Når du bruger setSubmitMode har du tre muligheder:
always: Værdien sendes altid.
never: Værdien sendes aldrig. Når denne indstilling er angivet, kan der ikke redigeres data i noget felt i formularen for denne attribut.
dirty (standard): Værdien sendes ved oprettelse, hvis den ikke er null, og når der gemmes, men kun hvis den er ændret.
Brug getSubmitMode til at bestemme den aktuelle indstilling.
getSubmitMode
Returnerer en streng, der angiver, hvornår dataene fra attributten sendes, når posten gemmes.
Attributtyper: alle
Xrm.Page.getAttribute(arg).getSubmitMode()
Returværdi
Type: strengReturnerer en af de tre mulige værdier:
always
never
dirty
Standardværdien for redigerbare felter er 'ændret', hvilket betyder, at værdien kun sendes til serveren, når den pågældende dataværdi ændres.
setSubmitMode
Angiver, om data fra attributten sendes, når posten gemmes.
Attributtyper: alle
Xrm.Page.getAttribute(arg).setSubmitMode()
Argumenter
Type: strengEn af følgende værdier:
always: Dataene sendes, når der gemmes.
never: Dataene sendes aldrig, når der gemmes. Når denne indstilling bruges, kan feltet eller felterne i formularen for denne attribut ikke redigeres.
dirty: Standardfunktionsmåde. Hvis dataene er ændret, sendes de, når der gemmes.
Værdi
Adgang til eller angivelse af værdien af attributter er de mest almindeligt udførte handlinger i formularscripts.
getValue
Henter dataværdien for en attribut.
Attributtyper: alle
Xrm.Page.getAttribute(arg).getValue()
Returværdi
Type: afhænger af attributtypen.Attributtype
Returtype
boolesk
dato/klokkeslæt
For at få strengversionen af en dato ved hjælp af Microsoft Dynamics 365-brugerens landestandard, skal du bruge metoderne format og localeFormat. Andre metoder formaterer datoer ved hjælp af operativsystemets landestandard i stedet for brugerens Microsoft Dynamics 365 indstillinger for landestandard.
decimal
Dobbelt
heltal
opslag
En matrix af opslagsobjekter.
Bemærk
Visse opslag giver mulighed for, at flere poster tilknyttes i et opslag, f.eks. som feltet Til: for en mailobjektpost. Alle dataværdier for opslag bruger derfor en matrix af opslagsobjekter – også selvom opslagsattributten ikke understøtter, at der tilføjes mere end én postreference.
Hvert opslag har følgende egenskaber:
- entityType
Streng: navnet på det objekt, der vises i opslaget
- id
Streng: Strengrepræsentationen af GUID-værdi for den post, der vises i opslaget.
- navn
Streng: Den tekst, der repræsenterer posten, der skal vises i opslaget.
notat
penge
optionset
streng
setValue
Angiver dataværdien for en attribut.
Attributtyper: alle
Xrm.Page.getAttribute(arg).setValue()
Argumenter
Afhænger af attributtypen.Attributtype
Argumenttype
boolesk
dato/klokkeslæt
decimal
dobbelt
Heltal
opslag
En matrix af opslagsobjekter.
Bemærk
Visse opslag, der er kendt som 'partylist'-opslag, giver mulighed for, at flere poster tilknyttes i et opslag, f.eks. som feltet Til: for en mailobjektpost. Alle dataværdier for opslag bruger derfor en matrix af opslagsobjekter – også selvom opslagsattributten ikke understøtter, at der tilføjes mere end én postreference.
Hver opslagsværdi har følgende egenskaber:
- entityType
Streng: det logiske navn på det objekt, der repræsenteres af opslaget.
- id
Streng: Strengrepræsentationen af GUID-værdi for den post, der vises i opslaget. Værdien skal svare til følgende format: {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}.
- navn
Streng: Den tekst, der repræsenterer posten, der skal vises i opslaget. Typisk den primære attribut for objektet.
I Angiv værdi for opslagsattribut kan du se et eksempel på en helper-funktion, du kan oprette for at angive enkle opslagsattributværdier.
notat
penge
optionset
Bemærk
Metoden getOptions returnerer indstillingsværdier som strenge. Du skal bruge parseInt til at konvertere dem til tal, før du kan bruge disse værdier til at angive værdien for en optionset-attribut.
De gyldige statuscode (Statusårsag) indstillinger afhænger af den aktuelle tilstandskode for posten. Feltet statecode (statusfeltet) kan ikke angives i formularscripts. Du kan se, hvilke statecode-værdier der er gyldige, i attributternes metadata. Du kan se en liste over standardværdier for systemobjekter i TechNet: Standardværdier for status-og statusårsag. For brugerdefinerede objekter skal du bruge browseren til objektmetadata, der er beskrevet i Gennemse metadata for organisationen. Endelig skal du også tage hensyn til eventuelle brugerdefinerede tilstandsovergange, der er anvendt på feltet.Flere oplysninger:TechNet: Definer overgange for statusårsag.
Streng
Bemærk
Et strengfelt med e-mail-formatet kræver, at strengen repræsenterer en gyldig e-mail-adresse.
Bemærk
-
Opdatering af en attribut ved hjælp af setValue får ikke OnChange-hændelseshandlere til at køre. Hvis du vil have OnChange-hændelseshandlerne til at køre, du skal bruge fireOnChange ud over setValue.
-
Når Microsoft Dynamics 365 til tablets ikke er tilsluttet serveren, fungerer setValue ikke.
-
Du kan ikke angive værdien af sammensatte attributter.Flere oplysninger:Skrive scripts for sammensatte attributter.
Angiv værdi for opslagsattribut
I nedenstående eksempel vises definitionen af en setSimpleLookupValue-helper-funktion, der angiver værdien for enkle opslagsattributter.
function setSimpleLookupValue(LookupId, Type, Id, Name) {
/// <summary>
/// Sets the value for lookup attributes that accept only a single entity reference.
/// Use of this function to set lookups that allow for multiple references,
/// a.k.a 'partylist' lookups, will remove any other existing references and
/// replace it with just the single reference specified.
/// </summary>
/// <param name="LookupId" type="String" mayBeNull="false" optional="false" >
/// The lookup attribute logical name
/// </param>
/// <param name="Type" type="String" mayBeNull="false" optional="false" >
/// The logical name of the entity being set.
/// </param>
/// <param name="Id" type="String" mayBeNull="false" optional="false" >
/// A string representation of the GUID value for the record being set.
/// The expected format is "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}".
/// </param>
/// <param name="Name" type="String" mayBeNull="false" optional="false" >
/// The text to be displayed in the lookup.
/// </param>
var lookupReference = [];
lookupReference[0] = {};
lookupReference[0].id = Id;
lookupReference[0].entityType = Type;
lookupReference[0].name = Name;
Xrm.Page.getAttribute(LookupId).setValue(lookupReference);
}
Nedenstående vises et eksempel, der bruger funktionen setSimpleLookupValue til at indstille attributværdien primarycontactid på en firmaformular:
setSimpleLookupValue("primarycontactid", "contact", "{6D9D4FCF-F4D3-E011-9D26-00155DBA3819}", "Brian Lamee");
Se også
Programmeringsreference på klientsiden
Formularscripter - hurtig henvisning
Skriv kode til Microsoft Dynamics 365-formularer
Bruge Xrm.Page-objektmodel
Microsoft Dynamics 365
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret