Skriv og foretag fejlfinding i scripts til CRM til tabletter
Udgivet: november 2016
Gælder for: Dynamics CRM 2015
Microsoft Dynamics CRM til tablets bruger de samme formulardefinitioner som i webprogrammet. Hvis du føjer JavaScript-kode til formularhændelseshandlere eller kommandoer på båndet i webprogrammet, kan den også køre i CRM til tablets. Der er nogle forskelle, du skal være opmærksom på.
Dette emne indeholder
Nogle Xrm.Page- eller window-objektfunktioner virker ikke i CRM til tablets
Angiv, hvilken kode der skal køres i CRM til tablets
Angiv, hvilke kommandoer der skal vises i CRM til tablets
Vær opmærksom på forskellene mellem CRM til tablets og webprogrammet i en browser
Fejlfinding i scripts til CRM til tablets
Nogle Xrm.Page- eller window-objektfunktioner virker ikke i CRM til tablets
CRM til tablets tillader ikke funktioner, som kan blokere for kørsel af scripts. Almindelige JavaScript-funktioner som window.alert, window.confirm og window.prompt, fungerer ikke, som du forventer, eller vil udløse fejl.
Brug funktionerne Xrm.UtilityalertDialog og confirmDialog til at vise meddelelser til brugere. Disse funktioner fungerer anderledes end window-funktioner, fordi de ikke stopper behandlingen af scripts, før de lukkes af brugeren. De indeholder tilbagekaldsfunktioner, som muliggør asynkrone svar på brugerinput. Ved brug af window.confirm, window.prompt eller andre oprindelige window-funktioner, der blokerer for kørsel af scripts, udløses en fejl.
Bemærk
Hvis du bruger window.alert i dine formularscripts, vises den meddelelse, du har angivet, automatisk ved hjælp af Xrm.Utility.alertDialog, uden at en tilbagekaldsfunktion er angivet, men dette er midlertidigt og anses allerede for at være forældet. Du skal flytte kode, der bruger window.alert, så Xrm.Utility.alertDialog bruges i stedet.
Følgende metoder virker ikke i CRM til tablets.
Xrm.Page.context.getCurrentTheme |
Xrm.Page.uiViewPort-metoder |
Xrm.Page.data.entity.getDataXml |
Xrm.Page.ui controlKontrolelementmetoderne Webressource og IFRAME |
Xrm.Page.ui.formSelector-objektmetoder |
Xrm.Page.ui tab.setDisplayState |
Xrm.Page.ui.navigation.items-samling |
Xrm.Utility.openWebResource |
De fleste af disse funktioner vil bare udføre en tom funktion og ikke returnere noget. Hvis du har kode, der forventer en returværdi fra en af disse funktioner, er den udefineret.
Angiv, hvilken kode der skal køres i CRM til tablets
Når funktionerne for klient-API'en er forskellige, skal du medtage kode, der svarer til følgende, for at adskille den logik, som du anvender til hver klient.
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.
Angiv, hvilke kommandoer der skal vises i CRM til tablets
Når du bruger handlingen <JavaScriptFunction> (RibbonDiffXml) i dine brugerdefinerede kommandoer på kommandolinjen (båndet), du kan også adskille din kode ved hjælp af Xrm.Page.context.client.getClient. Hvis du vil udføre en handling, som ikke fungerer ved hjælp af CRM til tablets, skal du medtage visningsregler, så kommandoerne ikke vises i CRM til tablets. Som standard vises alle kommandoer, der er defineret, i CRM til tablets, medmindre du udtrykkeligt konfigurerer andet. Som hovedregel skal du definere følgende visningsregel og medtage den i hver kommando, medmindre du ved, at det fungerer sammen med CRM til tablets.
<DisplayRule Id="My.HideOnModern">
<CommandClientTypeRule Type="Modern"
InvertResult="true" />
</DisplayRule>
Vær opmærksom på forskellene mellem CRM til tablets og webprogrammet i en browser
Ud over funktionerne, der er beskrevet i Nogle Xrm.Page- eller window-objektfunktioner virker ikke i CRM til tablets, skal du også være opmærksom på, at der er andre forskelle.
Sammensatte felter
CRM til tablets implementerer sammensatte felter på en anden måde.CRM til tablets medtager ikke sammensat attributter. Den indsætter automatisk konstituentattributterne og viser dem i stedet.Flere oplysninger:Skrive scripts for sammensatte attributter.Webressourcer og IFRAMES
CRM til tablets understøtter ikke visning af webressourcer eller IFRAMEs i formularer. Hvis nogen del af din kode interagerer med disse typer af kontrolelementer, kan du forvente, at kontrolelementerne ikke vises i en CRM til tablets-formular, og du bør anvende vejledningen i Angiv, hvilken kode der skal køres i CRM til tablets, så kode kun køres i webbrowserklienten.
Fejlfinding i scripts til CRM til tablets
Da CRM til tablets er en app, er de JavaScript-fejlfindingsværktøjer, du normalt kan bruge i browseren, ikke tilgængelige. Vi anbefaler følgende fremgangsmåde til at teste og foretage fejlfinding af dine formularscripts og kommandoer på båndet
Test dine scripts grundigt ved hjælp af webprogrammet.
Tilbagefør kriterierne som en del af testen med webbrowseren, når du søger efter klienten ved hjælp af Xrm.Page.context.client.getClient, og kontrollér, at logikken er relevant for den oplevelse, personer bør have, når de bruger CRM til tablets. De API'er, der er tilgængelige for CRM til tablets, er et undersæt af API'erne til webbrowseren, så du bør kunne teste dit alternative flow i webbrowseren.
Hvis det er muligt, skal du installere CRM til tablets på en computer, hvor Windows 8 og Microsoft Visual Studio er installeret. Medtag debugger-sætninger, hvor du vil starte fejlfindingen ved hjælp af Visual Studio.
Til sidst kan du bruge Xrm.Utility.alertDialog til at vise værdier fra koden i CRM til tablets.
Se også
Skrive kode til Microsoft Dynamics CRM 2015-formularer
Bruge formular- og felthændelser
Bruge Xrm.Page-objektmodel
Skrive scripts for sammensatte attributter
Formularscripter - hurtig henvisning
Programmeringsreference på klientsiden
Præsentation af kommandolinje eller båndet
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret