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:
Test uw scripts grondig met behulp van de webtoepassing.
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.
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.
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