Del via


Omfang for moderne kommandoer

Kommandoer har et av tre omfang. Omfanget fastsetter om en kommando (schemaname = appaction) skal gjengis for en tabell i én app, for en tabell på tvers av alle apper eller for alle tabeller og alle apper.

En kommando må være bundet til en kommandolinjeplassering, for eksempel et hovedrutenett eller hovedskjema, uavhengig av omfang. Hvis du endrer omfanget, gjengis derfor ikke kommandoen på ulike kommandolinjeplasseringer, for eksempel i hovedrutenettet og hovedskjemaet.

  • App Dette er det minste omfanget og standardfunksjonaliteten når du oppretter eller redigerer kommandoer ved hjelp av den moderne kommandoutformingen. Kommandoutformingen åpnes i sammenheng med en modelldrevet app, tabell og kommandolinjeplassering.
  • Tabell Kan også kalles enhetsomfang. Bundet til en bestemt tabell og kommandolinjeplassering. Ikke bundet til en bestemt app. Kommandoer med tabellomfang, gjengis derfor i alle apper som bruker tabellen. En kommando med tabellomfang for forretningsforbindelsestabellen og hovedskjemaplasseringen er i alle apper når hovedskjemaet vises for en forretningsforbindelsesoppføring.
  • Globalt Dette er det største omfanget. Kommandoer med globalt omfang er bare bundet til en kommandolinjeplassering, ikke en app eller tabell. En kommando med globalt omfang for hovedskjemaplasseringen er i alle apper i et miljø når hovedskjemaet vises for enhver tabell.

Viktig

Kommandoer som bruker Power Fx for handlingen og/eller synligheten, kan foreløpig ikke konverteres til tabellomfang eller globalt omfang.

Når kommandoer er nestet i rullegardinlister, grupper og delingsknapper, må samme omfang angis for alle.

Hvis en kommando med globalt omfang eller tabellomfang redigeres i moderne kommandoutforming, opprettes en kopi (forekomst) med appomfang og kobles til den opprinnelige kommandoen. Hvis du for eksempel redigerer en kommando med globalt omfang i kommandoutforming, overstyres den opprinnelige kommandoen med globalt omfang, men bare for den bestemte appen og tabellen som ble valgt ved åpning av kommandoutforming. Alle andre apper og tabeller gjengir den opprinnelige kommandoen. Kopien (forekomsten) har nå sin egen livssyklus. Endringer i den opprinnelige kommandoen med globalt omfang påvirker ikke den nye forekomsten med appomfang, og omvendt.

Overstyre kommandoer med tabellomfang og globalt omfang

Mindre omfang kan overstyre en kommando med større omfang på alle nivå. Det minste omfanget vinner.

  • En kommando med tabellomfang (enhetsomfang) overstyrer kommandoer med globalt omfang. Du kan definere en kommando som skal være lik på tvers av alle tabeller, men endre funksjonalitet bare for bestemte tabeller.
  • En kommando med appomfang overstyrer alle andre omfang, men bare for en bestemt app og tabell.

Opprette en kommando med tabellomfang

  1. Opprett én eller flere kommandoer i løsningen ved hjelp av kommandoutforming. Du kan alternativt opprette en separat løsning og velge Legg til eksisterende > Tabell.

  2. Velg Velg objekter, og legg deretter til ønskede kommandoer.

  3. Velg Eksporter for å eksportere løsningen.

    Eksporter løsning.

  4. Hvis du har gjort nylige endringer som ikke er publisert ennå, velger du Publiser. Velg deretter Kjør for å kontrollere om løsningen har problemer eller avhengigheter, og velg deretter Neste.

  5. Velg alternativet Uadministrert, og velg deretter Eksporter.

  6. I dialogboksen Last ned velger du Lagre, og i dialogboksen Nedlastingen er fullført velger du Åpne mappe.

  7. Høyreklikk for å velge den komprimerte ZIP-filen du lastet ned, og velg deretter Pakk ut alle.

  8. Velg en plassering å pakke ut filene på, og velg deretter Pakk ut.

  9. Åpne mappen med de utpakkede filene, åpne filen appaction.xml, og finn den ønskede kommandoen (appaction).

  10. Slett noden appmoduleid fra XML-en.

     <appmoduleid>
       <uniquename>demo_DemoFestApp</uniquename>
     </appmoduleid>
    
  11. Endre verdien til appaction uniquename. Det er tilstrekkelig å endre et av de siste tegnene, for eksempel fra 1 til 2, eller du kan bruke mer beskrivende navnekonvensjoner hvis du ønsker det.

Eksempel på XML.

   <appaction uniquename="crdff_NewCommand!a078463b5d7c473d8965f0f80469f412!crdff_CustomApp!crdff_entity1!1">
  <buttonlabeltext default="Show Alert">
    <label description="Show Alert" languagecode="1033" />
   </buttonlabeltext>
   <buttonsequencepriority>10.0000000000</buttonsequencepriority>
   <context>1</context>
   <contextentity>
    <logicalname>crdff_entity1</logicalname>
   </contextentity>
   <fonticon>AALinkedInLogo</fonticon>
   <contextvalue>crdff_entity1</contextvalue>
   <hidden>0</hidden>
   <iscustomizable>1</iscustomizable>
   <location>1</location>
   <name>EntityScoped!a078463b5d7c473d8965f0f80469f412</name>
   <onclickeventjavascriptfunctionname>ShowAppAlert</onclickeventjavascriptfunctionname>
   <onclickeventjavascriptparameters>[]</onclickeventjavascriptparameters>
   <onclickeventjavascriptwebresourceid>
    <webresourceid>ac21ad24-3c11-ef11-b6u7-000d3a1d942c</webresourceid>
   </onclickeventjavascriptwebresourceid>
   <onclickeventtype>2</onclickeventtype>
   <statecode>0</statecode>
   <statuscode>1</statuscode>
   <type>0</type>
   </appaction>

Etter at du har redigert og lagret filen appaction.xml, kan du pakke løsningen i samme format den ble eksportert i. Importer deretter løsningen tilbake i miljøet, og test funksjonaliteten.

Opprette en kommando med globalt omfang

  1. Følg de samme trinnene ovenfor for å redigere filen appaction.xml.

  2. Slett noden appmoduleid fra XML-en:

     <appmoduleid>
       <uniquename>demo_DemoFestApp</uniquename>
     </appmoduleid>
    
  3. Endre verdien til appaction uniquename. Det er tilstrekkelig å endre et av de siste tegnene, for eksempel fra 1 til 2, eller du kan bruke mer beskrivende navnekonvensjoner hvis du ønsker det.

  4. Slett nodene contextentity og contextvalue fra XML-en:

    <contextentity>
     <logicalname>account</logicalname>
    </contextentity>
    <contextvalue>account</contextvalue>
    
  5. Endre verdien for context fra 1 til 0.

    <appaction uniquename="crdff_NewCommand1!8fe72a85-1f84-431e-ac56-854f1bfadc4e!1">
    <buttonlabeltext default="Show Alert">
    <label description="Show Alert" languagecode="1033" />
    </buttonlabeltext>
    <buttonsequencepriority>10.0000000000</buttonsequencepriority>
    <context>0</context>
    <hidden>0</hidden>
    <iscustomizable>1</iscustomizable>
    <fonticon>AALinkedInLogo</fonticon>
    <location>1</location>
    <name>EntityScoped!a078463b5d7c473d8965f0f80469f412</name>
    <onclickeventjavascriptfunctionname>ShowGlobalAlert</onclickeventjavascriptfunctionname>
    <onclickeventjavascriptparameters>[]</onclickeventjavascriptparameters>
    <onclickeventjavascriptwebresourceid>
     <webresourceid>ac21ad24-3c01-ec11-b6e7-000d3a1d942c</webresourceid>
    </onclickeventjavascriptwebresourceid>
    <onclickeventtype>2</onclickeventtype>
    <statecode>0</statecode>
    <statuscode>1</statuscode>
    <type>0</type>
    </appaction>
    

Etter at du har redigert og lagret filen appaction.xml, kan du pakke løsningen i samme format den ble eksportert i. Importer deretter løsningen tilbake i miljøet, og test funksjonaliteten.

Overstyre en kommando med globalt omfang med et tabellomfang

Dette eksemplet er aktuelt når du vil at en kommando med globalt omfang skal være den samme overalt ,unntatt for en bestemt tabell.

  • Handling med enhetsomfang vises i crdff_entity1-rutenett i alle apper unntatt i crdff_CustomApp.
  • Handling med globalt omfang vises i alle enhetsrutenett unntatt crdff_entity1.

Obs!

Du kan overstyre kommandoer med globalt omfang eller tabellomfang med en kommando med appomfang ved ganske enkelt å redigere kommandoen ved hjelp av kommandoutforming.

Hvis du vil overstyre en kommando med globalt omfang med en kommando med tabellomfang, endrer du filene appactions.xml slik at de har samme XML <name> .

Trinn som skal overstyres

  1. Følg fremgangsmåten i Opprette en kommando med globalt omfang, men opprett to kommandoer ved hjelp av kommandoutforming.

  2. Eksporter løsningen, og rediger filene appactions.xml som beskrevet i trinnene.

  3. Fortsett å følge trinnene for å opprette én kommando med globalt omfang og én med enhetsomfang.

  4. Angi at egenskapen navn skal være nøyaktig den samme for kommandoer med globalt omfang og enhetsomfang.

Eksempel på XML for kommando med globalt omfang

<appaction uniquename="crdff_NewCommand1!8fe72a85-1f84-431e-ac56-854f1bfadc4e!1">
<buttonlabeltext default="Show Alert">
 <label description="Show Alert" languagecode="1033" />
</buttonlabeltext>
<buttonsequencepriority>10.0000000000</buttonsequencepriority>
<context>0</context>
<hidden>0</hidden>
<iscustomizable>1</iscustomizable>
<fonticon>AALinkedInLogo</fonticon>
<location>1</location>
<name>EntityScoped!a078463b5d7c473d8965f0f80469f412</name>
<onclickeventjavascriptfunctionname>ShowGlobalAlert</onclickeventjavascriptfunctionname>
<onclickeventjavascriptparameters>[]</onclickeventjavascriptparameters>
<onclickeventjavascriptwebresourceid>
 <webresourceid>ac21ad24-3c01-ec11-b6e7-000d3a1d942c</webresourceid>
</onclickeventjavascriptwebresourceid>
<onclickeventtype>2</onclickeventtype>
<statecode>0</statecode>
<statuscode>1</statuscode>
<type>0</type>
</appaction>

Eksempel på XML for kommando med tabellomfang

<appaction uniquename="crdff_NewCommand!a078463b5d7c473d8965f0f80469f412!crdff_entity1!1">
<buttonlabeltext default="Show Alert">
<label description="Show Alert" languagecode="1033" />
</buttonlabeltext>
<buttonsequencepriority>10.0000000000</buttonsequencepriority>
<context>1</context>
<contextentity>
<logicalname>crdff_entity1</logicalname>
</contextentity>
<fonticon>AALinkedInLogo</fonticon>
<contextvalue>crdff_entity1</contextvalue>
<hidden>0</hidden>
<iscustomizable>1</iscustomizable>
<location>1</location>
<name>EntityScoped!a078463b5d7c473d8965f0f80469f412</name>
<onclickeventjavascriptfunctionname>ShowEntityAlert</onclickeventjavascriptfunctionname>
<onclickeventjavascriptparameters>[]</onclickeventjavascriptparameters>
<onclickeventjavascriptwebresourceid>
<webresourceid>ac21ad24-3c01-ec11-b6e7-000d3a1d942c</webresourceid>
</onclickeventjavascriptwebresourceid>
<onclickeventtype>2</onclickeventtype>
<statecode>0</statecode>
<statuscode>1</statuscode>
<type>0</type>
</appaction>

Obs!

Kan du fortelle oss om språkinnstillingene for dokumentasjonen? Ta en kort undersøkelse. (vær oppmerksom på at denne undersøkelsen er på engelsk)

Undersøkelsen tar rundt sju minutter. Det blir ikke samlet inn noen personopplysninger (personvernerklæring).