Modern översikt över kommando

Kommandon styr det grundläggande programbeteendet för modellbaserade appar. Det är knapparna som användarna interagerar med när appar används och de åtgärder som utförs när en knapp väljs. Varje kommando placeras i förhållande till andra kommandon och är bundna till en kommandofältplats i appen.

Kommandofält

På hög nivå passar kommandoanpassningen in i tre kategorier. Det finns olika funktioner i varje kategori och beskrivs mer ingående i den moderna kommandodokumentationen:

  • Skärm. Hur knappen visas och var den finns i en app. Till exempel knappens etikett, ikon och tillgänglighetsetiketter samt platsen och placeringen av kommandofältet i ett kommandofält.
  • Åtgärd. Logiken som körs när en användare väljer en knapp. Du kan till exempel skapa och uppdatera data eller interagera med olika kontroller och sidor i appen.
  • Synlighet. Logiska villkor som anger när en knapp visas eller döljs för en användare. Du kanske till exempel vill att knappen ska visas för vissa användare och döljas för andra. Knappen kanske bara ska visas när vissa villkor för dataposterna uppfylls.

Kommandofältplatser

  • Huvudrutnät. Kommandofältet som visas när en apps vänstra navigering används för att visa en hel sida med poster i tabellen. Kommandofält i huvudrutnät
  • Huvudformulär. Kommandofältet som visas i tabellens huvudformulär. Det visas överst i formuläret och är inte samma sak som den associerade vyn eller underrutnätsvyn som visas i olika områden i formuläret. Huvudformulär
  • Underrutnätsvy. Kommandofältet visas i formulär i andra tabeller som återger tabellens data i ett underrutnät. Huvudformuläret för kontot har till exempel en underrutnätskontroll som listar kontaktposter som är relaterade till kontoposten. Redigera kommandofältet genom att redigera kommandofältet för kontakttabellen och sedan underrutnätsvyn. Underrutnätsvy
  • Associerad vy. Kommandofältet visas i formuläret för en överordnad tabell när relaterade data visas i tabellen. Välj till exempel från huvudformuläret för en kontopost fliken Relaterade och välj sedan en relaterad tabell som kontakter. Associerad vy
  • Snabbåtgärder. Snabbåtgärder associeras med huvudrutnätsplatsen. Om du vill lägga till eller redigera kommandon för både snabbåtgärder och huvudrutnätsplatser väljer du önskad tabell från den moderna appdesignern, redigerar sedan kommandofältet och väljer platsen för huvudrutnätet. De första fem kommandona, som bestäms av ordning, visas också som snabbåtgärder när appen spelas upp. Ett exempel på snabbåtgärd som konfigurerats i kontakttabellen

Anmärkning

Kommandodesignern har inte stöd för mindre ofta anpassade kommandofältplatser. Se avsnittet Global kommandofält och andra band för mer information om att anpassa kommandon för dessa platser.

Typer av kommandon

  • Kommando. Knappen Standard. Utför en åtgärd när den är markerad. Kan också vara inkapslad i grupper i listrutan och delningsknappar. Dessa kallades utfällbara objekt i klassiska kommandon.
  • Listmeny. Skapar en meny där du kan organisera kommandon inom en grupp.
  • Grupp. Lägg till titlar till grupper av kommandon kapslade i rullgardinsmenyer och delade knappar.
  • Delningsknapp. Liknar en listrutan, men har ett primärt kommando. När delningsknappen är markerad utförs åtgärden från det primära kommandot. Om expandera haksymbol har markerats körs inte det primära kommandot. I stället visas en lista med fler grupper, utfällningar och kommandon.

Kommandotyper

Viktiga skillnader mellan klassiska och modern kommandon

Klassiska kommandon (tidigare menyfliksområdet) kan inte anpassas med låg kod. Med kod var kommandoanpassningar svåra, tidskrävande och felaktiga. För att skala kommandot till låg kod samt använd anpassade sidor för att konvergera arbetsyte- och modellbaserade appar, det var viktigt att återuppfinna och bygga om ledningsinfrastrukturen.

Det finns många nya funktioner i det senaste kommandot och det är mycket enklare att använda.

Capability Classic Modern
Stöds i en modellbaserad app vid körning Yes Ja, stöder dessutom Power Fx-körning.
Anpassad med Handredigering av XML i lösningsfiler eller med icke-Microsoft-verktyg. Kräver tidskrävande export- och importåtgärder för lösningen. Kommandodesigner samt Dataverse API-support.
Stöd för Power Fx. No Ja. För åtgärder och synlighet.
Tid som krävs för anpassning Långsam, felbenägen. Snabbt
Tillförlitlighet och prestanda Lätt att göra misstag. Dålig anpassning och bortblivande av avgränsning påverkar ofta appens prestanda. Hantering av infogade fel förhindrar misstag. Power Fx optimerad för bättre körtidsprestanda.
Delning Standard Dataverse rollbaserad säkerhet. Icke-Power Fx kommandon använder standard Dataverse rollbaserad säkerhet. Power Fx -kommandona kräver för närvarande att kommandokomponentbiblioteket delas och att det har en lämplig säkerhetsroll.
Lösnings- och hanteringen av programlivscykeln (ALM) beteenden Inkonsekvent och problematisk lösningsskiktning, ingen närvaro i lösningsgränssnittet. Många standardlösningsbeteenden stöds inte, t.ex. lösningsbeteenden, segmentering, uppgradering av lösningar, hanterade egenskaper med mera. Centralt hanterad standardlösningslager för flera objekttyper i Dataverse. Finns i lösningsgränssnittet. Alla standardlösningsbeteenden som stöds.
Lokalisering Icke-standardiserade Standardiserad med export och import av översättningar för hela lösningen.
Datamodell Komplexa. Optimerad för klassiska menyfliksområde och innehåller många egenskaper som inte längre behövs. Enkel, optimerad för dagens kommandofält för modellbaserade appar.
Använd JavaScript Yes Ja. Nu enklare. Samma JavaScript kan användas för klassiska och moderna kommandon.
Anpassa de tillgängliga kommandona Yes Kommandon blir redigerbara i kommandodesignern när de har migrerats till det modernaste ramverket.
Appspecifika kommandon No Ja. Om du använder den moderne kommandodesignern kan du se till att kommandon endast visas i den valda appen.
Tabellspecifika kommandon som visas i alla appar som innehåller tabellen Yes Ja. Kräver att appaction definitionen i lösningsfilen ändras.
Globala kommandon som visas för alla tabeller och appar för den angivna kommandofältet Yes Ja. Kräver att appaction definitionen i lösningsfilen ändras.
Skapa delningsknappar, utfällningar och grupper Yes Yes
Dynamiskt fylla i en utfälld post med kod Yes Nej. Skapa kommandon deklarativt.
Anpassa kommandon för globala programhuvuden Yes No
Anpassa kommandon för andra, ovanliga eller föråldrade kommandofältsplatser Yes Nej.
Kör ett modern flöde eller arbetsflöde Använd JavaScript Använd JavaScript. Stöds även när du använder en anpassad sida.

Klassisk jämfört med modern jämförelse av synlighetsregel

Klassiska synlighetsregler har ofta en specifik regel för varje scenario. Power Fx en deklarativ funktion ersätter många klassiska regler. Och det är mycket enklare att använda.

Klassiska synlighetsregler stöds också i moderna kommandon. Däremot var det nödvändigt att stöd för klassiska regler för att migrera klassiska kommandon till modern kommando och klassisk regelanpassning inom kommandodesignern inte stöds. Vi rekommenderar att du använder Power Fx från och med nu.

Användningsfall Klassisk regel Klassiska alternativ Synlig egenskap för Power Fx
Visa eller dölj baserat på datavärden CustomRule (på engelska) Använd JavaScript !IsBlank(Self.Selected.Item.Email)
Visa eller dölj baserat på tabellbehörighet EntityPrivilegeRule Flera DataSourceInfo()
Visa eller dölj beroende på registerbehörighet RecordPrivilegeRule Flera RecordInfo()
Referera till kontrollkontexten för primära och relaterade tabeller EntityRule PrimaryEntity. SelectedEntity Self.Selected
Referera till kontrollkontexten EntityRule Formulär HomePageGrid. SubGridStandard. SubGridAssociated Self.Selected
Egenskaper för tabell metadata EntityPropertyRule DataSourceInfo()
Visa eller dölj baserat på formulärstatus. Visa till exempel för formuläret Skapa FormStateRule Skapa. Befintlig. ReadOnly. Disabled. BulkEdit Self.Selected.State = FormMode.New
Visa när > 1 poster har markerats i ett rutnät SelectionCountRule CountRows(Self.Selected.Items) > 1
Visa eller dölj för en relaterad tabell i ett polymorft uppslag. Kontrollera till exempel om sökningen är en användare eller ett team CustomRule (på engelska) PrimaryEntityTypeCode IsType(), AsType
Egenskaper för referensmiljö (Org) CustomRule (på engelska) OrgName. OrgLcid. UserLcid För närvarande inte tillgängligt

Vanliga frågor och svar

  • Varför ser jag fler kommandon i designern än i min app?
    • Det finns flera orsaker. Ibland finns det synlighetslogik som döljer kommandot när appen körs. Andra gånger är de här kommandona dynamiskt inkonfigurerade via anpassade JavaScript under körning och kan inte konfigureras.
  • Varför visas dubblettkommandon i designern?
    • Det här var ett vanligt mönster som användes med klassiska kommandon. Båda kommandona visas inte under körning eftersom de styrs av synlighetsregler. Kommandodesignern visar alla kommandon oavsett deras synlighetsregler.

Se även

Anpassa kommandofältet med kommandodesigner
Hantera kommandon i lösningar
Modern kommandobegränsningar