Beknopte naslag voor het opstellen van formulierscripts
Gepubliceerd: november 2016
Is van toepassing op: Dynamics CRM 2015
Dit onderwerp bevat een beknopt overzicht van veelgebruikte formulierscriptmethoden op basis van taken die u ermee uitvoert. Voor het volledige overzicht raadpleegt u Programmeerreferentie op de client. Alle voorbeelden op deze pagina gebruiken het entiteithoofdformulier van het standaardaccount tenzij anders is aangegeven.
In dit onderwerp
Kenmerken
Toegang verkrijgen tot kenmerken
Entiteitskenmerkengegevens ophalen of instellen
Kenmerkmetagegevens ophalen
Gebeurtenisargumenten opslaan
Meldingen weergeven
Besturingselementen
Toegang verkrijgen tot formulierbesturingselementen
Toegang verkrijgen tot besturingselementen voor kopteksten
Toegang verkrijgen tot bedrijfsprocesstroombesturingen
Methoden voor formulierbesturingselementen
OptionSet-besturingmethoden
Methoden voor IFRAME- en webresourcebesturingselementen
Methoden voor opzoekbesturingselementen
Methoden voor Subgrid-besturingselement
Methoden voor datumbesturingselement
Formuliernavigatie
Tabbladen en secties
Gebeurtenishandlers toevoegen of verwijderen tijdens runtime
Methoden voor contextuele informatie
Entiteitgegevens ophalen, vernieuwen of opslaan
Kenmerken
Kenmerken slaan de gegevens op die beschikbaar zijn in de record.
Toegang verkrijgen tot kenmerken
Kenmerken zijn beschikbaar vanuit de verzameling Xrm.Page.data.entity.attributes. Als u toegang tot een kenmerk wilt krijgen, kunt u de methode Xrm.Page.data.entity.attributes.get of de snelle versie Xrm.Page.getAttribute gebruiken. De mthode get accepteert vier typen argumenten:
Tekenreeks: Retourneert een kenmerkobject waarbij de naam van het kenmerk overeenkomt met de tekenreeks.
Getal: Retourneert het kenmerkobject waarbij de verzamelingsindex Xrm.Page.data.entity.attributes overeenkomt met het getal.
Geen: Retourneert een matrix van alle kenmerken.
Delegate function(attribute,index): retourneert een matrix van alle kenmerken uit de verzameling Xrm.Page.data.entity.attributes die ertoe leiden dat de gemachtigdefunctie true retourneert.
Opdracht |
Voorbeeld |
---|---|
Toegang tot een kenmerk verkrijgen op naam |
var nameAttribute = Xrm.Page.getAttribute("name"); Wijst het kenmerk voor het veld Accountnaam toe aan de variabele nameAttribute |
Toegang tot een kenmerk verkrijgen op index |
var firstAttribute = Xrm.Page.getAttribute(0); Wijst het eerste kenmerk in de verzameling firstAttributeXrm.Page.data.entity.attributes toe aan de variabele. |
Toegang verkrijgen tot alle kenmerken |
var allAttributes = Xrm.Page.getAttribute(); Wijst een matrix van alle kenmerken in de verzameling allAttributesXrm.Page.data.entity.attributes toe aan de variabele. |
Toegang verkrijgen tot alle kenmerken die voldoen aan specifieke criteria |
var optionsetAttributes = Xrm.Page.getAttribute(function (attribute, index) { Wijst een matrix van alle kenmerken in de verzameling Xrm.Page.data.entity.attributes die voldoen aan de criteria die zijn ingesteld in de anonieme functie, die true retourneert als het kenmerktype "optionset" is, toe aan de variabele optionsetAttributes. |
De verzameling Xrm.Page.data.entity.attributes bevat eveneens een methode forEach die u kunt gebruiken om toegang te verkrijgen tot kenmerken binnen een functie. De volgende functie writeRequiredAttributesToConsole schrijft de namen van kenmerken die gegevens vereisen weg naar de foutopsporingconsole:
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");
}
}
}
In dit onderwerp
Entiteitskenmerkengegevens ophalen of instellen
De voorbeelden in de volgende tabel laten ziet u hoe u gegevens kunt ophalen of wijzigen die zijn opgeslagen in kenmerken.
Opdracht |
Methode |
Voorbeeld |
---|---|---|
De waarde van een kenmerk ophalen |
var nameValue = Xrm.Page.getAttribute("name").getValue(); Wijst de waarde van het veld Accountnaam toe aan de variabele nameValue. |
|
De waarde van een kenmerk instellen |
Xrm.Page.getAttribute("name").setValue("new name"); Stelt de waarde van het veld Accountnaam in op "nieuwe naam". |
|
De tekstwaarde van de momenteel geselecteerde optie van een optiesetkenmerk ophalen |
var addressType = Xrm.Page.getAttribute("address1_addresstypecode").getText(); Wijst de tekst van de geselecteerde optie in het veld Adrestype toe aan de variabele addressType. |
|
Het momenteel geselecteerde optieobject in een kenmerk optionset ophalen |
var addressTypeOption = Xrm.Page.getAttribute("address1_addresstypecode").getSelectedOption(); Wijst de geselecteerde optie in het veld Adrestype toe aan de variabele addressTypeOption. |
In dit onderwerp
Kenmerkmetagegevens ophalen
De voorbeelden in de volgende tabel laten zien hoe u query's kunt uitvoeren op kernmerkeigenschappen om te achterhalen wat voor het kenmerk het is of om het gedrag van het kenmerk aan te passen.
Opdracht |
Methode |
Voorbeeld |
---|---|---|
Het type van het kenmerk ophalen |
var attributeType = Xrm.Page.getAttribute(0).getAttributeType(); Wijst de tekenreekswaarde die het type kenmerk vertegenwoordigt voor het eerste kenmerk toe aan de variabele attributeType. |
|
Ophalen hoe het kenmerk is opgemaakt |
var attributeFormat = Xrm.Page.getAttribute(0).getFormat(); Wijst de tekenreekswaarde die de indeling vertegenwoordigt voor het eerste kenmerk toe aan de variabele attributeFormat. |
|
De eerste waarde van een kenmerk Boolean of optionset ophalen |
var attributeInitialValue = Xrm.Page.getAttribute("address1_addresstypecode").getInitialValue(); Wijst de eerste getalwaarde van het veld Adrestype toe aan de variabele attributeInitialValue. |
|
Bepalen of een kenmerkwaarde is gewijzigd |
var isNameChanged = Xrm.Page.getAttribute("name").getIsDirty(); Wijst een waarde Boolean die aangeeft of de waarde van het veld Accountnaam is veranderd toe aan de variabele isNameChanged. |
|
Bepaalt of een opzoekkenmerk een partylistopzoekopdracht vertegenwoordigt. |
var isPartyList = Xrm.Page.getAttribute("to").getIsPartyList(); Wijst een Boolean waarde die aangeeft of het veld E-mail van een entiteit een partylistopzoekopdracht vertegenwoordigt. Deze methode is alleen beschikbaar voor Bijgewerkte entiteiten. |
|
De maximaal toegestane waarde voor een kenmerk dat een getal bevat ophalen |
var newValue = 100000000000001; Wijst een waarde Boolean die aangeeft of de waarde van de variabele newValue de maximumwaarde die is toegestaan voor het veld Kredietlimiet toe aan de variabele newValueBelowMax. |
|
De maximaal toegestane lengte voor een kenmerk dat een tekenreeks bevat ophalen |
var newAccountName = "A Store"; Wijst een waarde Boolean die aangeeft of de waarde van de variabele newAccountName de maximumlengte die is toegestaan voor het veld Accountnaam toe aan de variabele nameTooLong. |
|
De minimaal toegestane waarde voor een kenmerk dat een getal bevat ophalen |
var newValue = -1; Wijst een waarde Boolean die aangeeft of de waarde van de variabele newValue zich onder de minimumwaarde bevindt die is toegestaan voor het veld Kredietlimiet toe aan de variabele newValueBelowMin. |
|
De logische naam van een kenmerk ophalen |
var attributeName = Xrm.Page.getAttribute(0).getName(); Wijst de waarde van de logische naam van het eerste kenmerk op de pagina toe aan de variabele attributeName. |
|
Het optieobject dat een waarde vertegenwoordigt ophalen |
var addressTypeOption = Xrm.Page.getAttribute("address1_addresstypecode").getOption(1); Toont een waarschuwing die de tekst weergeeft van de veldoptie Adrestype met de waarde 1. |
|
Een getalwaarde ophalen die het precisieniveau voor het getalkenmerk vertegenwoordigt |
var creditLimitPrecision = Xrm.Page.getAttribute("creditlimit").getPrecision(); Wijst de precisiewaarde van het veld Kredietlimiet toe aan de variabele creditLimitPrecision. |
|
Een tekenreekswaarde ophalen die aangeeft of een kenmerk een waarde moet hebben |
var creditLimitRequired = Xrm.Page.getAttribute("creditlimit").getRequiredLevel(); De waarde van de variabele creditLimitRequired kan none, required of recommended zijn. |
|
Wijzigen of gegevens in een veld zijn vereist om een record te kunnen opslaan |
Xrm.Page.getAttribute("creditlimit").setRequiredLevel("required"); Maakt het veld Kredietlimiet vereist. |
|
Bepalen of de gegevens in een kenmerk worden verzonden wanneer de record wordt opgeslagen. |
var nameSubmitMode = Xrm.Page.getAttribute("name").getSubmitMode(); De waarde van de variabele nameSubmitMode is always, never of dirty om de submitMode voor het veld Accountnaam te vertegenwoordigen. |
|
Bepalen of gegevens in een kenmerk worden opgeslagen wanneer de record wordt opgeslagen |
Xrm.Page.getAttribute("name").setSubmitMode("always"); In het voorbeeld moet de veldwaarde Accountnaam altijd worden opgeslagen zelfs wanneer deze niet is gewijzigd. |
|
Als beveiliging op veldniveau is toegepast op een kenmerk, |
var canUpdateNameAttribute = Xrm.Page.getAttribute("name").getUserPrivilege().canUpdate; Wijst een Boolean waarde toe die de bevoegdheid van de gebruiker om het veld Accountnaam bij te werken naar de variabele canUpdateNameAttribute vertegenwoordigt. |
In dit onderwerp
Gebeurtenisargumenten opslaan
Bij het afdwingen van bedrijfslogica is het soms noodzakelijk om te voorkomen dat een record wordt opgeslagen, zodat de gebruiker vereiste informatie kan opnemen. Hiertoe moet u de gebeurtenishandler configureren zodat deze wordt doorgegeven in de uitvoeringscontext. De uitvoeringscontext bevat de methode getEventArgs om argumenten op te halen voor de gebeurtenis. Deze argumenten bevatten methoden die u kunt gebruiken om te bepalen of een record wordt opgeslagen of queryeigenschappen die informatie bevatten over de gebeurtenis save.
Opdracht |
Voorbeeld |
---|---|
Voorkomen dat een record wordt opgeslagen. |
function My_PreventSaveFunction(eContext) { Gebruik de parameter eContext om de uitvoeringscontext vast te leggen en gebruik de methode preventDefault die is opgenomen in de gebeurtenisargumenten. |
Bepalen welke actie de opslagbewerking heeft geïnitieerd. |
function My_GetSaveModeTextFunction(eContext) { Gebruik de parameter eContext om de uitvoeringscontext vast te leggen en gebruik de methode getSaveMode die is opgenomen in de gebeurtenisargumenten om de waarde van de gehele-getalcode te converteren naar tekst. |
In dit onderwerp
Meldingen weergeven
Meldingen bieden een manier om een bericht weer te geven aan de gebruiker.
Opdracht |
Methode |
Voorbeeld |
---|---|---|
Een bericht weergeven bij het besturingselement om aan te geven dat de gegevens niet geldig zijn. |
Xrm.Page.getAttribute("name").controls.forEach( Stelt een bericht over een validatiefout in bij elk besturingselement in het formulier voor het kenmerk Accountnaam. Zolang dit bericht wordt weergegeven, kan de record niet worden opgeslagen. Deze methode is alleen beschikbaar voor Bijgewerkte entiteiten. |
|
Verwijdert een bericht dat al wordt weergegeven voor een besturingselement. |
Xrm.Page.getAttribute("name").controls.forEach( Wist alle berichten over een validatiefout bij elk besturingselement in het formulier voor het kenmerk Accountnaam. Deze methode is alleen beschikbaar voor Bijgewerkte entiteiten. |
|
Meldingen op formulierniveau weergeven |
Xrm.Page.ui.setFormNotification( Geeft het bericht "Hallo" weer boven aan het formulier met een systeeminformatiepictogram. Deze methode is alleen beschikbaar voor Bijgewerkte entiteiten. |
|
Meldingen op formulierniveau verwijderen |
Xrm.Page.ui.clearFormNotification("helloMsg"); Wist het bericht dat eerder is ingesteld met "helloMsg" als parameter uniqueid ". Deze methode is alleen beschikbaar voor Bijgewerkte entiteiten. |
|
Een niet-blokkerend waarschuwingsdialoogvenster met een terugbelfunctie weergeven |
var alertDisplayed = false; Een waarschuwing weergeven en de waarde van de variabele alertDisplayed instellen wanneer deze is gesloten. Deze methode is alleen beschikbaar voor Bijgewerkte entiteiten. |
|
Een niet-blokkerend bevestigingsdialoogvenster weergeven met verschillende terugbelopties afhankelijk van de knop waarop de gebruiker heeft geklikt. |
var agree = false; Een bevestigingsbericht weergeven en de waarde instellen van de variabele agree afhankelijk van de respons. Deze methode is alleen beschikbaar voor Bijgewerkte entiteiten. |
In dit onderwerp
Besturingselementen
Besturingselementen vormen de elementen van de gebruikersinterface in het formulier. Aan elk kenmerk in het formulier is ten minste één besturingselement gekoppeld. Niet elk besturingselement is aan een kenmerk gekoppeld.IFRAME, webresource en subrasters zijn besturingselementen die geen kenmerken hebben.
Toegang verkrijgen tot formulierbesturingselementen
Besturingselementen zijn beschikbaar vanuit de verzameling ntrols Xrm.Page.ui.co. Als u toegang tot een besturingselement wilt krijgen, kunt u de methode Xrm.Page.ui.controls.get of de snelle versie Xrm.Page.getControl gebruiken.
De mthode get accepteert vier typen argumenten:
Tekenreeks: Retourneert een besturingselement waarvan de logische naam overeenkomt met de tekenreeks.
Getal: Retourneert het besturingselement waarbij de verzamelingsindex Xrm.Page.ui.controls overeenkomt met het getal.
Geen: Retourneert een matrix van alle besturingselementen.
Delegate function(control,index): retourneert een matrix van alle besturingselementen uit de verzameling Xrm.Page.ui.controls die ertoe leiden dat de gemachtigdefunctie true retourneert.
Opdracht |
Voorbeeld |
---|---|
Toegang verkrijgen tot alle besturingselementen voor een specifiek kenmerk |
var nameControls = Xrm.Page.getAttribute("name").controls.get(); Wijst een matrix van alle besturingselementen voor het kenmerk name toe aan de variabele nameControls. |
Toegang tot een besturingselement verkrijgen op naam |
var nameControl = Xrm.Page.getControl("name"); Wijst het eerste besturingselement dat het veld Accountnaam vertegenwoordigt toe aan de variabele nameControl. Het eerste besturingselement dat aan een formulier is toegevoegd voor een kenmerk heeft dezelfde naam als het kenmerk. Voor elke extra besturingselementnaam wordt een indexgetal aan de naam toegevoegd. Zo hebben bijvoorbeeld drie besturingselementen voor het kenmerk naam respectievelijk de namen name, name1 en name2. |
Toegang tot een besturingselement verkrijgen op index |
var firstControl = Xrm.Page.getControl(0); Wijst het eerste besturingselement in de verzameling firstControlXrm.Page.ui.controls toe aan de variabele. |
Toegang verkrijgen tot alle besturingselementen |
var allControls = Xrm.Page.getControl(); Wijst een matrix van alle besturingselementen in de verzameling allControlsXrm.Page.ui.controls toe aan de variabele. |
Toegang verkrijgen tot alle besturingselementen die voldoen aan een specifiek criterium |
var optionsetControls = Xrm.Page.getControl(function (control, index) { Wijst een matrix van alle kenmerken in de verzameling Xrm.Page.ui.controls die voldoen aan de criteria die zijn ingesteld in de anonieme functie, die true retourneert als het besturingselementtype "optieset" is, toe aan de variabele optionsetControls. |
Elke sectie bevat tevens een verzameling besturingselementen die alleen de besturingselementen voor die sectie bevat. De volgende voorbeeldcode wijst de variabele generalTabAccountInfoSectionControls toe aan een matrix van besturingselementen die in de sectie Adres van het tabblad Algemeen te vinden zijn.
var generalTabAccountInfoSectionControls = Xrm.Page.ui.tabs.get("general").sections.get("address").controls.get();
Notitie
Elk kenmerk bestaat slechts één keer in het formulier, maar een veld kan meerdere malen worden toegevoegd aan het formulier voor dit kenmerk. Elk veld dat wordt toegevoegd maakt een ander besturingselement. Formulieren kunnen verder worden aangepast nadat u uw scripts hebt geschreven. In de scripts die u schrijft voor besturingselementen voor kenmerken moet wordt aangenomen dat het meerdere malen in het formulier is opgenomen. Alle acties die u wilt uitvoeren op een besturingselement voor een kenmerk moeten gewoonlijk op alle besturingselementen voor dit kenmerk worden toegepast. Als u bijvoorbeeld een besturingselement wilt uitschakelen, maar er slechts één uitschakelt, kan de gebruiker nog steeds gegevens invoeren met een ander besturingselement. Daarom adviseren wij u het volgende patroon te gebruiken met de methode forEach voor de verzameling om dezelfde logica toe te passen op alle besturingselementen voor een kenmerk, zelfs als er slechts één besturingselement is op het moment dat u uw script schrijft.
Xrm.Page.getAttribute("name").controls.forEach(function (control, index) { control.setDisabled(true); });
In dit onderwerp
Toegang verkrijgen tot besturingselementen voor kopteksten
De besturingselementen in de koptekst volgen de naamgegevensconventie waarbij "header_" voorafgaat aan de naam van het besturingselement. Als het kenmerk name zich in de koptekst bevindt, kunt u hier toegang toe krijgen met:
var nameControlInHeader = Xrm.Page.getControl("header_name");
Toegang verkrijgen tot bedrijfsprocesstroombesturingen
Besturingselementen in de bedrijfsprocesstroombesturing volgen de naamgegevensconventie waarbij "header_process_" voorafgaat aan de naam van het besturingselement. Als het kenmerk name zich in de koptekst bevindt, kunt u hier toegang toe krijgen met:
var nameControlInBPF = Xrm.Page.getControl("header_process_name");
Notitie
Alleen besturingselementen in de actieve fase bevinden zich in de verzameling Xrm.Page.ui.controls als het formulier wordt geladen. Andere bedrijfsprocesstroombesturingen worden toegevoegd wanneer een fase voor de huidige entiteit wordt geselecteerd.
Methoden voor formulierbesturingselementen
Nadat u toegang tot een besturingselement hebt verkregen, kunt u de volgende methoden aanroepen.
Opdracht |
Methode |
Voorbeeld |
---|---|---|
Bepalen of een besturingselement zichtbaar is |
var isNameVisible = Xrm.Page.getControl("name").getVisible(); Wijst een waarde Boolean toe aan de variabele isNameVisible die aangeeft of het veld Accountnaam zichtbaar is. |
|
Een besturingselement verbergen of weergeven |
Xrm.Page.getControl("name").setVisible(false); Verbergt het veld Accountnaam. |
|
Een verwijzing naar het kenmerk ophalen voor het besturingselement |
var nameAttribute = Xrm.Page.getControl("name").getAttribute(); Wijst het kenmerk voor het besturingselement voor het veld Accountnaam toe aan de variabele nameAttribute. Notitie Niet alle besturingselementen hebben kenmerken. |
|
Het type van het besturingselement bepalen |
var optionSetControls = Xrm.Page.getControl(function (control, index) { return control.getControlType() == "optionset"; }); Wijst een matrix van besturingselementen optionset toe aan de variabele optionSetControls. |
|
Bepalen of een besturingselement is ingeschakeld |
var disabledControls = Xrm.Page.getControl(function(control, index) { return control.getDisabled(); }); Wijst een matrix van uitgeschakelde besturingselementen toe aan de variabele disabledControls. Notitie Webresource- en subrasterbesturingselementen ondersteunen deze methode niet. |
|
Een besturingselement uit- of inschakelen |
Xrm.Page.getAttribute("name").controls.forEach(function (control, index) { control.setDisabled(true); }); Schakelt elk besturingselement voor het kenmerk name uit. Tip Onthoud dat elk kenmerk meerdere besturingselementen kan hebben. |
|
Het label voor een besturingselement ophalen |
var nameControlLabel = Xrm.Page.getControl("name").getLabel(); Wijst de waarde van het besturingselement voor het veld Accountnaam toe aan de variabele nameControlLabel. |
|
Het label voor een besturingselement wijzigen |
Xrm.Page.getControl("name").setLabel("Company Name"); Wijzigt het label voor het veld Accountnaam in Bedrijfsnaam. |
|
De naam van een besturingselement ophalen |
var firstControlName = Xrm.Page.getControl(0).getName(); Wijst de naam van het eerste besturingselement in de verzameling Xrm.Page.ui.controls toe aan de variabele firstControlName. |
|
Het bovenliggende element van een besturingselement ophalen |
var parentSection = Xrm.Page.getControl("name").getParent(); Wijst de bovenliggende sectie van het besturingselement voor het veld Accountnaam toe aan de variabele parentSection. |
|
De focus voor een besturingselement instellen |
Xrm.Page.getControl("name").setFocus(); Stelt de focus in op het veld Accountnaam. |
In dit onderwerp
OptionSet-besturingmethoden
Optionsets hebben bepaalde speciale methoden. Het is belangrijk om te onthouden dat het kenmerk de geldige opties voor optionset definieert. Als u werkt met een optionset-besturingselement kunt u beschikbare opties beerken maar geen nieuwe opties maken.
Opdracht |
Methode |
Voorbeeld |
---|---|---|
Een optie toevoegen aan een optionset-besturingselement |
var addressTypeCodeControl = Xrm.Page.getControl("address1_addresstypecode"); Met een verwijzing naar het besturingselement voor het veld Adrestype verkrijgt u toegang tot het kenmerk voor het besturingselement en gebruikt u de methode getOption voor het instellen van de variabele billToAddressOption op de optie die de optie Factureren aan vertegenwoordigt. Gebruik clearOptions om eventuele bestaande opties te verwijderen en gebruik addOption om billToAddressOption in te stellen als de enige optie die beschikbaar is voor dit besturingselement. |
|
Alle opties verwijderen uit een optionset-besturingselement |
Xrm.Page.getControl("address1_addresstypecode").clearOptions(); Verwijder alle opties uit het besturingselement voor het veld Adrestype. |
|
Verwijder een enkele optie uit een optionset-besturingselement. |
Xrm.Page.getControl("address1_addresstypecode").removeOption(1); Verwijder de opties Factureren aan uit het besturingselement voor het veld Adrestype. |
In dit onderwerp
Methoden voor IFRAME- en webresourcebesturingselementen
Een besturingselement IFRAME stelt u in staat een pagina op te nemen in een formulier door een URL te verstrekken. Een HTML-webresource die is toegevoegd aan een formulier, wordt weergegeven met een IFRAME-element.Silverlight en afbeeldingswebresources worden direct ingesloten op de pagina.
Opdracht |
Methode |
Voorbeeld |
---|---|---|
De waarde ophalen van de tekenreeksparameter voor de gegevensquery die wordt doorgegeven aan een Silverlight-webresource |
var dataValue = Xrm.Page.getControl("WebResource_SilverLightControl").getData(); Wijst de waarde toe die via de tekenreeksparameter van de gegevensquery wordt doorgegeven aan de dataValue-webresource. |
|
De URL ophalen voor de inhoud die momenteel wordt weergegeven in een IFRAME |
var iframeSource = Xrm.Page.getControl("IFRAME_targetPage").getSrc(); Wijst de tekenreeks die de huidige kenmerkwaarde IFRAME.src vertegenwoordigt toe aan de variabele iframeSource. |
|
De URL instellen voor de inhoud die moet worden weergegeven in een IFRAME |
Xrm.Page.getControl("IFRAME_targetPage").setSrc("http://www.bing.com"); Stelt een URL in als IFRAME.src voor het besturingselement. |
|
De URL ophalen die de standaard geconfigureerde URL voor een IFRAME vertegenwoordigt |
var initialUrl = Xrm.Page.getControl("IFRAME_bing").getInitialUrl(); Wijst de initiële URL die is geconfigureerd voor weergave in de IFRAME toe aan de variabele initialUrl. |
|
Haalt het object op in het formulier dat de webresource of IFRAME vertegenwoordigt. |
var obj = Xrm.Page.getControl("IFRAME_bing").getObject(); Wijst een objectreferentie toe aan de variabele obj. Voor een IFRAME is dit het IFRAME DOM-element (documentobjectmodel). Voor een Silverlight-webresource is dit het objectmodelelement dat de ingesloten Silverlight-invoegtoepassing vertegenwoordigt. |
In dit onderwerp
Methoden voor opzoekbesturingselementen
Een gemeenschappelijk vereiste voor opzoekbesturingselementen is het opgeven van de standaardweergave bij het bijwerken van het veld door een gebruiker.
Opdracht |
Methode |
Voorbeeld |
---|---|---|
Voeg een aangepaste weergave voor een opzoekactie toe. |
var viewId = "{C7034F4F-6F92-4DD7-BD9D-9B9C1E996380}"; Stelt de variabelen viewId is viewDisplayName, fetchXml en layoutXml in om te worden doorgegeven als argumenten zodat een aangepaste weergave als standaardweergave wordt toegevoegd aan het besturingselement voor het opzoekveld Bovenliggend account. |
|
De standaardweergave voor een opzoekactie ophalen. |
var defaultViewId = Xrm.Page.getControl("parentaccountid").getDefaultView(); De waarde id in de standaardweergave toewijzen aan de variabele defaultViewId. |
|
De standaardweergave voor een opzoekactie instellen. |
var viewId = "{C7034F4F-6F92-4DD7-BD9D-9B9C1E996380}"; Stelt de standaardweergave voor het besturingselement voor het veld Bovenliggend account in op de waarde id in de variabele viewId. |
|
De records filteren die worden geretourneerd voor een opzoekbesturingselement |
In de volgende voorbeeldcode is bestemd voor het opzoeken van het verkoopkansformulier Account (parentaccountid) Wanneer de functie Sdk.setParentAccountIdFilter is ingesteld in de Onload gebeurtenismanager van formulier, wordt de functie Sdk.filterCustomAccounts toegevoegd aan de gebeurtenis PreSearch voor de zoekactie. Het resultaat is dat alleen de accounts met de waarde van Categorie (accountcategorycode) Voorkeursklant (1) worden geretourneerd.
|
In dit onderwerp
Methoden voor Subgrid-besturingselement
Het SubGrid-besturingselement is een raster binnen een formulier. Het heeft één unieke methode.
Opdracht |
Methode |
Voorbeeld |
---|---|---|
De gegevens vernieuwen die in het subraster worden weergegeven |
Xrm.Page.getControl("accountcontactsgrid").refresh(); Vernieuw de Contactpersonensubgrid. |
In dit onderwerp
Methoden voor datumbesturingselement
Het datumbesturingselement heeft één unieke methode.
Opdracht |
Methode |
Voorbeeld |
---|---|---|
Opgeven of een datumbesturingselement het tijdgedeelte van de datum moet weergeven. |
Xrm.Page.getControl("createdon").setShowTime(false); Het veld Gemaakt op instellen zodat de tijd niet wordt weergegeven. Deze methode is alleen beschikbaar voor Bijgewerkte entiteiten. |
In dit onderwerp
Formuliernavigatie
U kunt de navigatie-items aan de linkerkant van het formulier gebruiken en bewerken. Deze navigatie-items geven doorgaans records weer die zijn gerelateerd aan de record die in het formulier wordt weergegeven.
U kunt toegang krijgen tot navigatie-items via de verzameling Xrm.Page.ui.navigation.items. Zoals bij alle verzamelingen in het formulier is er een methode get en forEach.
Opdracht |
Methode |
Voorbeeld |
---|---|---|
De naam van een navigatie-item ophalen |
var navItemIds = []; Een matrix navItemIds maken die de waarden id bevat van elk navigatie-item in de verzameling Xrm.Page.ui.navigation.items. |
|
Het label van een navigatie-item ophalen. |
var navAddressesLabel = Xrm.Page.ui.navigation.items.get("navAddresses").getLabel(); Het label voor het navigatie-item Meer adressen toewijzen aan de variabele navAddressesLabel. |
|
Het label van een navigatie-item instellen |
Xrm.Page.ui.navigation.items.get("navAddresses").setLabel("Other Addresses"); Het navigatie-itemlabel Meer adressen wijzigen in Andere Adressen. |
|
Een navigatie-item weergeven of verbergen |
Xrm.Page.ui.navigation.items.get("navAddresses").setVisible(false); Het navigatie-item More Addresses verbergen. |
|
Bepalen of een navigatie-item zichtbaar is |
var moreAddressesVisible = Xrm.Page.ui.navigation.items.get("navAddresses").getVisible() Een Boolean waarde toewijzen aan de variabele moreAddressesVisible om aan te geven of het navigatie-item Meer adressen zichtbaar is. |
|
Focus instellen op een navigatie-item. |
Xrm.Page.ui.navigation.items.get("navAddresses").setFocus(); Focus instellen op het navigatie-item Meer adressen. |
In dit onderwerp
Tabbladen en secties
Elk formulier bevat een verzameling tabbladen. Elk tabblad heeft een verzameling secties. Elke sectie bevat een verzameling besturingselementen. U kunt programmatisch toegang tot deze elementen verkrijgen en hun methoden gebruiken.
Opdracht |
Methode |
Voorbeeld |
---|---|---|
Bepalen of een tabblad wordt uitgevouwen of samengevouwen |
var isGeneralTabExpanded = (Xrm.Page.ui.tabs.get("general").getDisplayState() == "expanded") Een Boolean waarde toewijzen aan de variabele isGeneralTabExpanded die aangeeft of het tabblad Algemeen wordt uitgevouwen. |
|
Een tabblad uitvouwen of samenvouwen |
Xrm.Page.ui.tabs.get("general").setDisplayState("collapsed"); Het tabblad Algemeen samenvouwen. |
|
Bepalen of een tabblad zichtbaar is |
var isGeneralTabVisible = Xrm.Page.ui.tabs.get("general").getVisible(); Een Boolean waarde toewijzen aan de variabele isGeneralTabVisible die aangeeft of het tabblad Algemeen zichtbaar is. |
|
Een tabblad verbergen of weergeven |
Xrm.Page.ui.tabs.get("general").setVisible(false); Het tabblad Algemeen verbergen. |
|
Het label voor een tabblad ophalen |
var generalTabLabel = Xrm.Page.ui.tabs.get("general").getLabel(); Het tabbladlabel Algemeen toewijzen aan de variabele generalTabLabel. |
|
Het label voor een tabblad wijzigen |
Xrm.Page.ui.tabs.get("general").setLabel("Major"); Het tabbladlabel Algemeen wijzigen in Belangrijk. |
|
De focus instellen op een tabblad |
Xrm.Page.ui.tabs.get("general").setFocus(); De focus instellen op het tabblad Algemeen. |
|
De naam van het tabblad ophalen |
var firstTabName = Xrm.Page.ui.tabs.get(0).getName(); De naam van het eerste tabblad toewijze aan de variabele firstTabName. |
|
Het bovenliggende tabblad van een sectie ophalen |
Xrm.Page.getControl("industrycode").getParent().getParent().setFocus(); De focus instellen op het tabblad dat het veld Branche bevat. |
|
Bepalen of een sectie zichtbaar is |
var industrySectionVisible = Xrm.Page.getControl("industrycode").getParent().getVisible(); Een Boolean waarde toewijzen aan de variabele industrySectionVisible die aangeeft of de sectie die het veld Branche bevat zichtbaar is. |
|
Een sectie verbergen of weergeven |
Xrm.Page.getControl("industrycode").getParent().setVisible(false); De sectie verbergen die het veld Branche bevat. |
|
Het label voor een sectie ophalen |
var industryFieldSectionLabel = Xrm.Page.getControl("industrycode").getParent().getLabel(); Het label van de sectie die het veld Branche bevat toewijzen aan de variabele industryFieldSectionLabel. |
|
Het label voor een sectie wijzigen |
Xrm.Page.getControl("industrycode").getParent().setLabel("Detailed Information"); Het label van de sectie die het veld Branche bevat wijzigen in Gedetailleerde informatie. |
In dit onderwerp
Gebeurtenishandlers toevoegen of verwijderen tijdens runtime
Gebeurtenishandlers worden meestal geconfigureerd met de formuliereneditor in de toepassing maar u kunt deze ook toevoegen aan de formuliergebeurtenis OnSave en de kenmerkgebeurtenissen OnChange tijdens runtime met deze APIs. De voorbeelden in deze sectie verwijzen naar de volgende functiedefinitie:
function myFunction() {
//perform action here
}
Hoewel u een anonieme functie kunt toevoegen, moet de functie een naam hebben om naar te verwijzen zodat deze kan worden verwijderd.
Opdracht |
Methode |
Voorbeeld |
---|---|---|
Een functie toevoegen aan de gebeurtenis OnSave |
Xrm.Page.data.entity.addOnSave(myFunction); De functie myFunction toevoegen aan de gebeurtenis OnSave. |
|
Een functie verwijderen uit de gebeurtenis OnSave |
Xrm.Page.data.entity.removeOnSave(myFunction); De functie myFunction verwijderen uit de gebeurtenis OnSave. |
|
Een functie toevoegen aan de gebeurtenis OnChange van een kenmerk. |
Xrm.Page.getAttribute("name").addOnChange(myFunction); De functie myFunction toevoegen aan de gebeurtenis OnChange van het veld Accountnaam. |
|
Een functie verwijderen uit de gebeurtenis OnChange van een kenmerk |
Xrm.Page.getAttribute("name").removeOnChange(myFunction); De functie myFunction verwijderen uit de gebeurtenis OnChange van het veld Accountnaam. |
|
Een functie toevoegen aan de gebeurtenis PreSearch van een opzoekbesturingselement. |
Het volgende voorbeeldcode is bestemd voor het opzoeken van het verkoopkansformulier Account (parentaccountid) Wanneer de functie Sdk.setParentAccountIdFilter is ingesteld in de Onload gebeurtenismanager van formulier, wordt de functie Sdk.filterCustomAccounts toegevoegd aan de gebeurtenis PreSearch voor de zoekactie. Het resultaat is dat alleen de accounts met de waarde van Categorie (accountcategorycode) Voorkeursklant (1) worden geretourneerd.
|
Gebruik de Gebeurtenis OnStageChange en Gebeurtenis OnStageSelected voor gebeurtenissen die in de bedrijfsprocesstroombesturing plaatsvinden. Deze gebeurtenissen hebben alleen methoden voor het programmatisch toevoegen of verwijderen van gebeurtenishandlers.Meer informatie:Methoden om gebeurtenishandlers te beheren.
In dit onderwerp
Methoden voor contextuele informatie
Gebruik deze methoden om gegevens over de gebruiker, de organisatie en de client op te halen. De volgende tabel bevat enkele van de meest nuttige contextmethoden. Voor alle contextmethoden, zie Clientcontext (clientreferentie)
Opdracht |
Methode |
Voorbeeld |
---|---|---|
De URL ophalen om verbinding met de organisatie te maken. |
var serverUrl = Xrm.Page.context.getClientUrl(); Een tekenreeks toewijzen die de URL voor de variabele serverUrl vertegenwoordigt. |
|
De unieke id ophalen voor de huidige gebruiker. |
var userId = Xrm.Page.context.getUserId(); Een tekenreeks die de id van de gebruiker vertegenwoordigt toewijzen aan de variabele userId. |
|
De naam van de huidige gebruiker ophalen. |
var userName = Xrm.Page.context.getUserName(); Een tekenreeks die de naam van de gebruiker vertegenwoordigt toewijzen aan de variabele userName. Deze methode is alleen beschikbaar voor Bijgewerkte entiteiten. |
|
De taalcode ophalen die de voorkeurstaal voor de gebruikersinterface van de gebruiker weergeeft. |
var userLCID = Xrm.Page.context.getUserLcid(); Een getal dat de voorkeurstaal van de gebruiker aangeeft toewijzen aan de variabele userLCID. |
|
Een matrix van tekenreeksen ophalen die de GUID-waarden vertegenwoordigt voor elke beveiligingsrol die is toegewezen aan de huidige gebruiker en de teams waaraan de gebruiker is gekoppeld. |
var userRoles = Xrm.Page.context.getUserRoles(); Een matrix van tekenreeksen die de beveiligingsrollen van de gebruiker vertegenwoordigt toewijzen aan de variabele userRoles. |
|
Bepalen of het script wordt uitgevoerd in de Microsoft Dynamics CRM voor Outlook-client. |
var isOutlookClient = (Xrm.Page.context.client.getClient() == "Outlook"); Een Boolean waarde die aangeeft of uw code wordt uitgevoerd in de Dynamics CRM voor Outlook-client toewijzen aan de variabele isOutlookClient. |
|
Bepalen of de gebruiker offine werkt met de Microsoft Dynamics CRM voor Microsoft Office Outlook met offlinetoegang-client. |
var IsOffline = (Xrm.Page.context.client.getClientState() == "Offline"); Een Boolean waarde die aangeeft of de gebruiker momenteel offline werkt toewijzen aan de variabele IsOffline. |
In dit onderwerp
Entiteitgegevens ophalen, vernieuwen of opslaan
De volgende tabel bevat methoden die u kunt gebruiken om informatie over de huidige record op te halen of om wijzigingen op te slaan. Zie voor meer informatie Xrm.Page.data.entity (clientreferentie) en Xrm.Page.data (clientreferentie).
Opdracht |
Methode |
Voorbeeld |
---|---|---|
De logische naam van de huidige entiteit ophalen |
var entityName = Xrm.Page.data.entity.getEntityName(); De logische entiteitsnaam toewijzen aan de variabele entityName. |
|
De waarde van het primaire kenmerk voor de huidige entiteit ophalen. |
var primaryAttributeValue = Xrm.Page.data.entity.getPrimaryAttributeValue(); De waarde van het primaire kenmerk toewijzen aan de variabele primaryAttributeValue. Deze methode is alleen beschikbaar voor Bijgewerkte entiteiten. |
|
De Id van de huidige record ophalen |
var recordId = Xrm.Page.data.entity.getId(); De id van de record toewijzen aan de variabele recordId. |
|
Ssynchroon de gegevens van het formulier vernieuwen zonder de pagina opnieuw te laden. |
Xrm.Page.data.refresh(); Vernieuwt de gegevens in het formulier. Deze methode is alleen beschikbaar voor Bijgewerkte entiteiten. |
|
De huidige record opslaan |
Xrm.Page.data.entity.Opslaan |
Xrm.Page.data.entity.save(); Slaat de record op. Er zijn optionele argumenten. Gebruik saveandclose of saveandnew om de equivalente acties uit te voeren. |
De huidige record asynchroon opslaan met de optie voor het instellen |
Xrm.Page.data.Opslaan |
Xrm.Page.data.save().then( Slaat de record op en geeft een bericht weer dat de status van de opslagbewerking aangeeft. Deze methode is alleen beschikbaar voor Bijgewerkte entiteiten. |
Bepalen of gegevens in de huidige record zijn gewijzigd. |
var isDirty = Xrm.Page.data.entity.getIsDirty(); Een Boolean waarde die aangeeft of gegevens in de record zijn veranderd toewijzen aan de variabele isDirty. |
|
Een tekenreeks ophalen die de gegevens vertegenwoordigt die naar de server worden verzonden wanneer de record is opgeslagen. |
var dataXml = Xrm.Page.data.entity.getDataXml(); Een tekenreeks die de gegevens vertegenwoordigt die moeten opgeslagen naar de variabele dataXml. |
In dit onderwerp
Zie ook
Het objectmodel Xrm.Page gebruiken
Code schrijven voor Microsoft Dynamics CRM 2015-formulieren
Programmeerreferentie op de client
© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht