Delen via


Scripts voor CRM voor tablets schrijven en er fouten in opsporen

 

Gepubliceerd: november 2016

Is van toepassing op: Dynamics CRM 2015

Microsoft Dynamics CRM voor tablets maakt gebruik van dezelfde formulierdefinities die in de webtoepassing worden gebruikt. Alle JavaScript-code die u aan formuliergebeurtenishandlers of lintopdrachten toevoegt in de webtoepassing, kan ook werken binnen CRM voor tablets. Er zijn echter enkele verschillen waarvan u zich bewust moet zijn.

In dit onderwerp

Sommige Xrm.Page- of vensterobjectfuncties werken niet in CRM voor tablets.

Opgeven welke code wordt uitgevoerd in CRM voor tablets

Opgeven welke opdrachten worden weergegeven in CRM voor tablets

Rekening houden met verschillen tussen CRM voor tablets en de webtoepassing in een browser

Foutopsporingscripts voor CRM voor tablets

Sommige Xrm.Page- of vensterobjectfuncties werken niet in CRM voor tablets.

CRM voor tablets staat geen functies toe die de uitvoering van scripts kunnen blokkeren. Veelgebruikte JavaScript-functies zoals window.alert, window.confirm en window.prompt werken niet als verwacht of leiden eenvoudigweg tot fouten.

Gebruik de functies Xrm.UtilityalertDialog en confirmDialog om berichten aan gebruikers weer te geven. Deze functies werken anders dan vensterfuncties omdat ze de verwerking van scripts pas stoppen als de gebruiker ze sluit. Ze verschaffen callbackfuncties om asynchrone reactie op gebruikersinvoer mogelijk te maken. Het gebruik van window.confirm, window.prompt of een andere native vensterfunctie die de uitvoering van scripts blokkeert, leidt tot een fout.

Notitie

Als u window.alert in uw formulierscripts gebruikt, wordt het bericht dat u instelt, automatisch weergegeven met Xrm.Utility.alertDialog, zonder opgegeven callbackfunctie, maar dit is tijdelijk en wordt al als afgeschaft beschouwd. U moet eventuele code die window.alert gebruikt, vervangen door code die Xrm.Utility.alertDialog gebruikt.

De volgende methoden werken niet in CRM voor tablets.

Xrm.Page.context.getCurrentTheme

Xrm.Page.uiViewportmethoden

Xrm.Page.data.entity.getDataXml

Xrm.Page.ui controlWebresource en IFRAME-BESTURINGSELEMENTMETHODEN

Xrm.Page.ui.formSelector-objectmethoden

Xrm.Page.ui tab.setDisplayState

Xrm.Page.ui.navigation.items-verzameling

Xrm.Utility.openWebResource

Het grootste deel van deze functies voert simpelweg een lege functie uit en retourneert niets. Als u code hebt die een retourwaarde van een van deze functies verwacht, is deze niet-gedefinieerd.

Opgeven welke code wordt uitgevoerd in CRM voor tablets

Wanneer de mogelijkheden van de client-API verschillen, moet u code opnemen die lijkt op de volgende om de logica te scheiden die u op elke client toepast.

var isCrmForTablets = (Xrm.Page.context.client.getClient() == "Mobile")
if (isCrmForTablets)
{
 // Code for CRM for tablets only goes here,
}
else
{
 // Code for web browser or CRM for Outlook only goes here.
}
// Code for any client goes here.

Opgeven welke opdrachten worden weergegeven in CRM voor tablets

Wanneer u de <JavaScriptFunction> (RibbonDiffXml)-actie in uw aangepaste opdrachtbalkopdrachten (lintopdrachten) gebruikt, kunt u uw code ook scheiden met Xrm.Page.context.client.getClient. Als de actie die u wilt laten uitvoeren, niet werkt met CRM voor tablets, moet u weergaveregels opnemen zodat de opdrachten niet worden weergegeven in CRM voor tablets. Standaard wordt elke gedefinieerde opdracht weergegeven in CRM voor tablets, tenzij u expliciet configureert dat dit niet gebeurt. In het algemeen moet u de volgende weergaveregel definiëren en deze opnemen in elke opdracht, tenzij u weet dat de opdracht werkt met CRM voor tablets.

<DisplayRule Id="My.HideOnModern">
 <CommandClientTypeRule Type="Modern"
                        InvertResult="true" />
</DisplayRule>

Rekening houden met verschillen tussen CRM voor tablets en de webtoepassing in een browser

Naast de functies die worden beschreven in Sommige Xrm.Page- of vensterobjectfuncties werken niet in CRM voor tablets., moet u er rekening mee houden dat er ook andere verschillen zijn.

  • Samengestelde velden
    CRM voor tablets implementeert samengestelde velden anders.CRM voor tablets neemt geen samengestelde kenmerken op. De samenstellende kenmerken worden automatisch vervangen en in plaats ervan weergegeven.Meer informatie:Scripts schrijven voor samengestelde kenmerken.

  • Webresources en IFRAMEs
    CRM voor tablets ondersteunt niet de weergave van webresources of IFRAMEs in formulieren. Als uw code werkt met deze typen besturingselementen, kunt u verwachten dat de besturingselementen niet worden weergegeven in een CRM voor tablets-formulier en moet u de richtlijn in Opgeven welke code wordt uitgevoerd in CRM voor tablets toepassen, zodat de code alleen wordt uitgevoerd in de webbrowserclient.

Foutopsporingscripts voor CRM voor tablets

Aangezien CRM voor tablets een app is, zijn de normale JavaScript-foutopsporingshulpmiddelen die u in de browser kunt gebruiken, niet beschikbaar. We adviseren de volgende procedure om uw formulierscripts en lintopdrachten te testen en er fouten in op te sporen.

  1. Test uw scripts grondig met behulp van de webtoepassing.

  2. Als onderdeel van het testen met de webbrowser draait u de criteria om als u controleert voor de client met Xrm.Page.context.client.getClient en kijkt u of de logica klopt voor de ervaring die gebruikers moeten krijgen wanneer ze CRM voor tablets gebruiken. De API's die beschikbaar zijn voor CRM voor tablets, zijn een subset van de API's die beschikbaar zijn voor de webbrowser, dus u moet de alternatieve stroom kunnen testen in de webbrowser.

  3. Installeer indien mogelijk CRM voor tablets op een computer met Windows 8 en Microsoft Visual Studio geïnstalleerd. Neem - debugger-instructies op waar u de debugger wilt starten met behulp van Visual Studio.

  4. Gebruik ten slotte Xrm.Utility.alertDialog om waarden weer te geven vanuit uw code binnen CRM voor tablets.

Zie ook

Code schrijven voor Microsoft Dynamics CRM 2015-formulieren
Formulier- en veldgebeurtenissen gebruiken
Het objectmodel Xrm.Page gebruiken
Scripts schrijven voor samengestelde kenmerken
Beknopte naslag voor het opstellen van formulierscripts
Programmeerreferentie op de client
Opdrachtbalk of lintpresentatie

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht