Oversikt over moderne kommandoer

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.

Kommandolinje

Kommandotilpassing passer inn i følgende kategorier på et høyt nivå. Det finnes ulike funksjoner i hver kategori, og disse tas grundigere for seg i dokumentasjon for moderne kommandoer:

  • 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 knapp velges. 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.

    Kommandolinje i hovedrutenett

  • 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.

    Hovedskjema

  • 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 nedenfor, redigerer du kommandolinjen for kontakttabellen og deretter delrutenettvisningen.

    Delrutenettvisning

  • 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.

    Tilknyttet visning

  • Hurtighandlinger. Hurtighandlinger er knyttet til hovedrutenettplasseringen. Du kan legge til eller redigere kommandoer for både hurtighandlinger og hovedrutenettplasseringer ved å velge ønsket tabell i den moderne apputformingen og deretter redigere kommandolinjen og velge hovedrutenettplasseringen. De fem første kommandoene, som fastsettes av rekkefølgen, vises også som hurtighandlinger når appen spilles av.

    Et eksempel på hurtighandling konfigurert i kontakttabellen

Obs!

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. Vær oppmerksom på at disse ble kalt undermenyer i klassiske kommandoer.
  • Rullegardinmeny. 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.

Kommandotyper

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 Klassiske 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 verktøy fra tredjeparter. Krevde tidkrevende eksport- og importoperasjoner for løsninger. Kommandoutforming samt støtte for Dataverse-API.
Støtter Power Fx. No Ja. For handlinger og synlighet.
Tid brukt på tilpassing Lang, utsatt for feil. Kort
Pålitelighet og ytelse Lett å gjøre feil. Dårlig tilpassing og mangel på omfangsregistrering 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øsningsfunksjonalitet og ALM-funksjonalitet 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. Obs! 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. Vi anbefaler at du bruker deklarasjon til å opprette kommandoer.
Tilpassing av globale programhodekommandoer Ja Nei
Tilpassing av 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.

Vær oppmerksom på at det snart også kommer til å bli støtte for klassiske synlighetsregler 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.

Brukseksempel Klassisk regel Klassiske alternativer Power Fx-synlig egenskap
Vis/skjul basert på dataverdi(er) CustomRule Bruk av JavaScript !IsBlank(Self.Selected.Item.Email)
Vis/skjul basert på tabelltillatelse EntityPrivilegeRule Flere DataSourceInfo()
Vis/skjul basert på oppføringstillatelse RecordPrivilegeRule Flere RecordInfo()
Henvisning til kontrollkonteksten for primære og relaterte tabeller EntityRule PrimaryEntity. SelectedEntity Self.Selected
Henvisning til kontrollkonteksten EntityRule Form. HomePageGrid. SubGridStandard. SubGridAssociated Self.Selected
Egenskaper for tabellmetadata EntityPropertyRule DataSourceInfo()
Vis/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
Vis/skjul for en relatert tabell i et polymorft oppslag. Du kan for eksempel kontrollere 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
Administrere kommandoer i løsninger
Kjente begrensninger ved moderne kommandoer