Delen via


Scripts schrijven en fouten opsporen voor Dynamics 365 voor telefoons en tablets

 

Gepubliceerd: januari 2017

Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Microsoft Dynamics 365 voor telefoons en Microsoft Dynamics 365 voor tablets maken 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 worden gebruikt voor mobiele clients van Dynamics 365 (telefoons en tablets). Er zijn echter enkele verschillen waarvan u zich bewust moet zijn.

In dit onderwerp

Sommige Xrm.Page- of vensterobjectfuncties werken niet in Dynamics 365 voor telefoons en tablets.

Opgeven welke code wordt uitgevoerd in Dynamics 365 voor telefoons en tablets

Opgeven welke opdrachten worden weergegeven in Dynamics 365 voor telefoons en tablets

Rekening houden met verschillen tussen mobiele clients van Dynamics 365 en de webtoepassing in een browser

Fouten opsporen voor Dynamics 365 voor telefoons en tablets

Sommige Xrm.Page- of vensterobjectfuncties werken niet in Dynamics 365 voor telefoons en tablets.

Mobiele clients vanDynamics 365 staan 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 zorgen voor 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.

Mobiele clients van Dynamics 365 ondersteunen ook de methode window.open niet. Als u voor een nieuwe of bestaande record een entiteitsformulier wilt openen, gebruikt u in plaats daarvan Xrm.Utility.openEntityForm.

De volgende methoden werken niet in mobiele clients van Dynamics 365 (telefoons en tablets).

Xrm.Page.context.getCurrentTheme

Xrm.Page.uiViewportmethoden

Xrm.Page.data.entity.getDataXml

Xrm.Page.ui.navigation.items verzameling

Xrm.Page.ui.formSelector objectmethoden

Xrm.Page.ui tab.setDisplayState

Met de meeste functies wordt een lege functie uitgevoerd en wordt niets geretourneerd. Als u code hebt die een retourwaarde van een van deze functies verwacht, is deze niet-gedefinieerd.

Bovendien ondersteunt Dynamics 365 voor telefoons geen webresources en IFRAMES, zodat de client-API´s niet werken voor deze besturingselementen. Client-API´s voor webresources en IFRAMES worden echter wel ondersteund op Dynamics 365 voor tablets. Meer informatie: Webresource en IFRAME-BESTURINGSELEMENTMETHODEN

Opgeven welke code wordt uitgevoerd in Dynamics 365 voor telefoons en 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 isCrmForMobile = (Xrm.Page.context.client.getClient() == "Mobile")
if (isCrmForMobile)
{
 // Code for CRM for phones and 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 Dynamics 365 voor telefoons en 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 uitvoeren, niet werkt met mobiele clients van Dynamics 365, moet u weergaveregels opnemen zodat de opdrachten niet worden weergegeven in Dynamics 365 voor tablets. Standaard wordt elke gedefinieerde opdracht weergegeven in mobiele clients van Dynamics 365, tenzij u expliciet configureert dat dit niet dient te gebeuren. In het algemeen moet u de volgende weergaveregel definiëren en opnemen in elke opdracht, tenzij u weet dat de opdracht werkt met mobiele clients van Dynamics 365.

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

Rekening houden met verschillen tussen mobiele clients van Dynamics 365 en de webtoepassing in een browser

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

  • Samengestelde velden
    Mobiele clients van Dynamics 365 implementeren samengestelde velden anders. Mobiele clients van Dynamics 365 nemen geen samengestelde kenmerken op. Ze vervangen automatisch de samenstellende kenmerken en geven deze in plaats ervan weer.Meer informatie:Scripts schrijven voor samengestelde kenmerken.

Fouten opsporen voor Dynamics 365 voor telefoons en tablets

Aangezien Dynamics 365 voor telefoons of Dynamics 365 voor tablets apps zijn, zijn de normale JavaScript-foutopsporingshulpmiddelen die u in de browser kunt gebruiken, niet beschikbaar. We raden de volgende procedure aan 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 mobiele clients van Dynamics 365 gebruiken. De API's die beschikbaar zijn voor mobiele clients van Dynamics 365, zijn een subset van de API's die beschikbaar zijn voor de webbrowser. U moet dus de alternatieve stroom kunnen testen in de webbrowser.

  3. Installeer mobiele clients van Dynamics 365 indien mogelijk op een computer waarop Windows 10 en Microsoft Visual Studio zijn 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 in mobiele clients van Dynamics 365.

Zie ook

Code schrijven voor Microsoft Dynamics 365-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

Microsoft Dynamics 365

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht