Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Kommandoer er drivkraften bak kjerneprogramvirkemåten til modelldrevne apper. De er knappene brukerne samhandler med når de spiller av apper, og de påfølgende handlingene som utføres når en knapp velges. Hver kommando plasseres i forhold til andre kommandoer og er bundet til en kommandolinjeplassering i appen.
Kommandotilpasning passer inn i tre kategorier på et høyt nivå. Det finnes ulike funksjoner i hver kategori og dekkes mer i den moderne kommandodokumentasjonen:
- Visning. Hvordan knappen vises, og hvor den er plassert i en app. Eksempler: Etiketten, ikonet og tilgjengelighetsetiketter for knappen samt kommandolinjeplasseringen og plasseringen på en kommandolinje.
- Handling. Logikken som kjøres når en bruker velger en knapp. Eksempler: Opprettelse og oppdatering av data, eller samhandling med ulike kontroller og sider i appen.
- Synlighet. Logiske betingelser som angir når en knapp er synlig eller skjult for en bruker. Du vil for eksempel kanskje vise knappen for noen brukere og skjule den for andre. Eller kanskje du vil at knappen bare skal være synlig når visse kriterier for dataoppføringene er oppfylt.
Plasseringer på kommandolinjen
-
Hovedrutenett. Denne kommandolinjen vises når du bruker den venstre navigasjonen i en app til å vise en fullstendig sideliste over oppføringer i denne tabellen.
-
Hovedskjema. Denne kommandolinjen vises i hovedskjemaene for tabellen. Den vises øverst i skjemaet og er ikke den samme som den tilknyttede visningen eller delrutenettvisningen som vises i ulike områder i skjemaet.
-
Delrutenettvisning. Denne kommandolinjen vises i skjemaer for andre tabeller som gjengir tabellens data i et delrutenett. Hovedskjemaet for forretningsforbindelse har for eksempel en delrutenettkontroll som viser kontaktoppføringer relatert til forretningsforbindelsesoppføringen. Hvis du vil redigere kommandolinjen som vises her, redigerer du kommandolinjen for kontakttabellen og deretter delrutenettvisningen.
-
Tilknyttet visning. Denne kommandolinjen vises i skjemaet for en overordnet tabell når relaterte data vises i denne tabellen. Du kan for eksempel velge Relatert-fanen fra hovedskjemaet for en forretningsforbindelsesoppføring og deretter velge en relatert tabell, for eksempel kontakter.
-
Hurtighandlinger. Hurtighandlinger er knyttet til hovedrutenettplasseringen. Hvis du vil legge til eller redigere kommandoer for både hurtighandlinger og hovedrutenettplasseringer, velger du den ønskede tabellen fra den moderne apputformingen, deretter redigerer du kommandolinjen og velger hovedrutenettplasseringen. De fem første kommandoene, som bestemmes etter rekkefølge, vises også som hurtighandlinger når du spiller av appen.
Notat
Kommandolinjeplasseringer som tilpasses sjeldnere, støttes ikke i kommandoutforming. Se den globale kommandolinjen og andre bånddeler hvis du vil ha mer informasjon om tilpassing av kommandoer for disse plasseringene.
Kommandotyper
- Kommando. Standardknapp. Utfører en handling når den velges. Kan også nestes i grupper i rullegardinmenyer og delingsknapper. Disse ble kalt "flyouts" i klassisk kommando.
- Rullegardinliste. Oppretter en meny der du kan ordne kommandoer i en gruppe.
- Gruppe. Legg til titler i grupper med kommandoer nestet i rullegardinlister og delingsknapper.
- Delingsknapp. Ligner på en rullegardinmeny, men har en hovedkommando. Når delingsknappen velges, utføres handlingen fra hovedkommandoen. Hvis utvidelsesvinkeltegnet velges, kjøres ikke hovedkommandoen. Det vises i stedet en liste der ytterligere grupper, undermenyer og kommandoer vises.
Viktige forskjeller mellom klassiske og moderne kommandoer
Klassiske kommandoer (tidligere kalt båndet) kunne ikke tilpasses ved hjelp av lite kode. Det var vanskelig og kjedelig å tilpasse kommandoer med kode, og metoden var utsatt for feil. For å kunne skalere kommandoer til lite kode og bruke egendefinerte sider til å få lerretsapper og modelldrevne apper til å konvergere, var det avgjørende å finne opp og bygge kommandoinfrastrukturen på nytt.
Moderne kommandoer byr på mange nye funksjoner og er mye enklere å bruke.
| Funksjonalitet | Klassisk | Moderne |
|---|---|---|
| Støttes i kjøretiden for en modelldrevet app | Ja | Ja, støtter også Power Fx-kjøretid. |
| Tilpasses ved hjelp av | Håndredigering av XML i løsningsfiler eller ved hjelp av ikke-Microsoft-verktøy. Krever tidkrevende løsningseksport og importoperasjoner. | Kommandoutforming samt støtte for Dataverse-API. |
| Støtter Power Fx. | Nei | Ja. For handlinger og synlighet. |
| Tid brukt på tilpassing | Lang, utsatt for feil. | Kort |
| Pålitelighet og ytelse | Lett å gjøre feil. Dårlig tilpasning og mangel på omfang påvirker ofte appytelsen. | Innebygd feilhåndtering forhindrer feil. Power Fx er optimalisert for bedre kjøretidsytelse. |
| Deling | Standard Dataverse-rollebasert sikkerhet. | Ikke-Power Fx-kommandoer bruker standard Dataverse-rollebasert sikkerhet. Power Fx-kommandoer krever for øyeblikket at kommandokomponentbiblioteket deles i tillegg til at det har en passende sikkerhetsrolle. |
| Løsning og virkemåter for administrasjon av programlivssyklus (ALM) | Inkonsekvent og problematisk løsningslagdeling, finnes ikke i løsningsgrensesnittet. Det er mye standard løsningsfunksjonalitet som ikke støttes, for eksempel oppdateringer, segmentering, løsningsoppgradering, forvaltede egenskaper og mye annet. | Standard løsningslagdeling som administreres sentralt for flere løsningsobjekttyper i Dataverse. Finnes i løsningsgrensesnittet. Støtte for all standard løsningsfunksjonalitet. |
| Lokalisering | Ikke-standard | Standardisert ved hjelp av eksport og import av oversettelser for hele løsningen. |
| Datamodell | Kompleks. Optimalisert for klassiske bånd og inneholder mange egenskaper det ikke lenger er bruk for. | Enkel, optimalisert for dagens modelldrevne appkommandolinjer. |
| Bruk av JavaScript | Ja | Ja. Nå enklere. Samme JavaScript kan brukes for klassiske og moderne kommandoer. |
| Tilpassing av bruksklare kommandoer | Ja | Kommandoer kan redigeres i kommandoutforming når de er overført til det moderne rammeverket. |
| Appspesifikke kommandoer | Nei | Ja. Bruk av moderne kommandoutforming sikrer at kommandoer bare vises i den valgte appen. |
| Tabellspesifikke kommandoer som vises i alle apper som inneholder tabellen | Ja | Ja. Krever at appaction-definisjonen endres i løsningsfilen. |
| Globale kommandoer som vises for alle tabeller og apper for den angitte kommandolinjeplasseringen | Ja | Ja. Krever at appaction-definisjonen endres i løsningsfilen. |
| Opprettelse av delingsknapper, undermenyer og grupper | Ja | Ja |
| Dynamisk utfylling av en undermeny med kode | Ja | Nei. Opprett kommandoer deklarativt. |
| Tilpassing av globale programhodekommandoer | Ja | Nei |
| Tilpasse kommandoer for andre, uvanlige eller foreldede kommandolinjeplasseringer | Ja | Nei. |
| Kjøring av en moderne flyt eller arbeidsflyt | Ved hjelp av JavaScript | Ved hjelp av JavaScript. Støttes også ved hjelp av en egendefinert side. |
Sammenligning av klassisk og moderne synlighetsregel
Klassiske synlighetsregler hadde ofte en bestemt regel for hvert scenario. I Power Fx erstatter en deklarativ funksjon mange klassiske regler. Og den er mye enklere å bruke.
Klassiske synlighetsregler støttes også i moderne kommandoer. Det var imidlertid nødvendig med støtte for klassiske regler for å kunne overføre klassiske kommandoer pålitelig til moderne kommandoer, og tilpassing av klassiske regler støttes ikke i kommandoutforming. Vi anbefaler at du bruker Power Fx fremover.
| Brukstilfelle | Klassisk regel | Klassiske alternativer | Synlig egenskap i Power Fx |
|---|---|---|---|
| Vise eller skjule basert på dataverdier | CustomRule | Bruk av JavaScript | !IsBlank(Self.Selected.Item.Email) |
| Vise eller skjule basert på tabelltillatelse | EntityPrivilegeRule | Flere | DataSourceInfo() |
| Vise eller skjule basert på posttillatelse | RecordPrivilegeRule | Flere | RecordInfo() |
| Henvisning til kontrollkonteksten for primære og relaterte tabeller | EntityRule | PrimaryEntity. SelectedEntity | Self.Selected |
| Henvisning til kontrollkonteksten | EntityRule | Skjema. HomePageGrid. SubGridStandard. SubGridAssociated | Self.Selected |
| Egenskaper for tabellmetadata | EntityPropertyRule | DataSourceInfo() | |
| Vis eller skjul basert på skjematilstand. Vis for eksempel for opprettingsskjemaet | FormStateRule | Create. Existing. ReadOnly. Disabled. BulkEdit | Self.Selected.State = FormMode.New |
| Vis når > 1 oppføring er valgt i et rutenett | SelectionCountRule | CountRows(Self.Selected.Items) > 1 | |
| Vise eller skjule for en relatert tabell i et polymorf oppslag. Kontroller for eksempel om oppslaget er en bruker eller et team | CustomRule | PrimaryEntityTypeCode | IsType(), AsType |
| Henvisning til miljøegenskaper (org) | CustomRule | OrgName. OrgLcid. UserLcid | Ikke tilgjengelig for øyeblikket |
Vanlige spørsmål
-
Hvorfor ser jeg flere kommandoer i utformingen enn i appen min?
- Det er flere årsaker til dette. Noen ganger finnes det synlighetslogikk som skjuler kommandoen når du kjører appen. Andre ganger blir disse kommandoene satt inn dynamisk via et egendefinert JavaScript under kjøring, og de kan ikke konfigureres.
-
Hvorfor ser jeg dupliserte kommandoer i utformingen?
- Dette var et vanlig mønster som ble brukt med klassiske kommandoer. Ingen av kommandoene ble vist under kjøring fordi de ble kontrollert av synlighetsregler. Kommandoutformingen viser alle kommandoene, uavhengig av synlighetsreglene.
Se også
Tilpass kommandolinjen ved å bruke kommandoutforming
Administrer kommandoer i løsninger
Kjente begrensninger ved moderne kommandoer