Dela via


En knapp i kommandofältet visas när den ska döljas

Gäller för: Power Apps
Ursprungligt KB-nummer: 4552163

Ta reda på varför en knapp visas

En knapp blir synlig om alla regler för aktivering och visning av regler för kommandot som är associerade med knappen utvärderas till sant. Om detta är oväntat är det möjligt att kommandodefinitionen har åsidosatts och saknar aktivera regler eller visningsregler, eller att själva regeldefinitionerna åsidosätts och att knappen blir synlig när du förväntar dig att den ska vara dold.

Obs!

Vissa knappar är inte anpassningsbara. Mer information finns i Icke-anpassningsbara knappar i menyfliksområdet.

Varning

Ta inte bort visningsregeln Mscrm.HideOnModern från ett kommando för att tvinga en knapp att visas i det enhetliga gränssnittet. Kommandon som har visningsregeln Mscrm.HideOnModern är avsedda för det äldre webbklientgränssnittet och stöds inte i det enhetliga gränssnittet och fungerar kanske inte korrekt.

  1. Aktivera kommandokontrollen och välj kommandoknappen för att inspektera.

  2. I följande exempel visas två knappar för avtalad tid på rutnätssidan för aktiviteter och en förväntas vara dold.

    Skärmbild som visar två knappar för avtalad tid på rutnätssidan för aktiviteter.

  3. Välj fliken Kommandoegenskaper för att visa information om kommandot för den här knappen. Då visas åtgärderna, aktivera regler och visningsregler, tillsammans med resultatet (Sant, Falskt, Hoppas över) för varje regelutvärdering. Granska aktivera regler och visningsregler. Om du förväntar dig att en viss regel ska utvärderas till false är det möjligt att regeln är felaktigt anpassad eller att de nödvändiga omständigheterna för att returnera ett falskt resultat inte uppfylls. I så fall går du vidare till steg 9, annars är det möjligt att kommandot saknar en regel eller regler och vi visar kommandolösningsskikten för ytterligare analys.

    Skärmbild där du väljer fliken Kommandoegenskaper för att visa information om kommandot för den här knappen.

  4. Välj länken Visa kommandodefinitionslösningslager under kommandonamnet för att visa de lösningar som installerade en definition av kommandot.

    Skärmbild av länken Visa kommandodefinitionslösningslager under kommandonamnet.

  5. Fönstret Lösningslager visar skiktningen för varje komponentdefinition i menyfliksområdet som en viss lösning har installerat. Lagret överst i listan är den aktuella definitionen som används av programmet, de andra lagren är inaktiva och används inte av programmet just nu. Om den översta lösningen avinstalleras eller en uppdaterad version installeras som tar bort definitionen blir nästa lager den aktuella aktiva definition som används av programmet. När det finns ett ohanterat aktivt lösningslager är det alltid den definition som programmet använder. Om det inte finns någon aktiv lösning i listan är den lösning som visas överst i listan den definition som används av programmet. Alla anpassade hanterade lösningar som inte publiceras av Microsoft har också företräde framför Microsofts publicerade lösningslager.

    Entitetskontexten anger att objektet som menyfliksområdets anpassning är på, om "Alla entiteter" visas, kommer lagret från klienttilläggen för programfliksområdet och inte entitetsspecifika, annars visas det logiska namnet på entiteten.

    När det finns två eller flera skikt kan du välja två rader och välja Jämför för att visa en jämförelse av de definitioner som ingår i varje lösning.

    Om du väljer Tillbaka återgår du till föregående kommandokontrollfönster.

    Om det bara finns ett lösningslager går du vidare till steg 9, annars väljer du de två översta lösningsskikten (Om du har ett lager i den aktiva lösningen, men den inte visas överst, väljer du det aktiva lösningsskiktet och sedan den översta raden) och väljer Jämför.

    Skärmbild för att välja de två översta lösningsskikten och välj alternativet Jämför.

  6. Jämförelsen av den aktuella aktiva definitionen och den tidigare inaktiva definitionen visas med eventuella skillnader. I följande exempel visas den ohanterade aktiva definitionen som har anpassats med borttagningen av en visningsregel Mscrm.HideOnModern som ingår i det inaktiva msdynce_ActivitiesPatch Microsoft-publicerade lösningsskiktet.

    Skärmbild som visar jämförelsen av den aktuella aktiva definitionen och den tidigare inaktiva definitionen.

  7. Vilken metod som krävs för att åtgärda en knapps synlighet beror på de olika anpassningarna i ditt specifika scenario. Om du har fastställt att en regel utvärderas felaktigt till false, och om regeldefinitionen är felaktigt definierad, bör du ändra regeldefinitionen och göra ändringar som gör att regeln kan utvärderas till false under rätt omständigheter. Om regeldefinitionen är korrekt är det möjligt att kraven som gör att regeln returnerar false inte uppfylls, till exempel att ett fältvärde eller säkerhetsprivilegier inte tilldelas korrekt. Beroende på regeldefinitionen kan kraven variera kraftigt, se Definiera regler för aktivering av menyfliksområdet och Definiera visningsregler för menyfliksområdet. I vårt exempel anpassades kommandot med borttagningen av en Mscrm.HideOnModern visningsregel. Den här visningsregeln är avsedd att dölja att den här knappen visas i program med enhetligt gränssnitt och endast visas i det äldre webbklientgränssnittet. Vi kan ändra den anpassade versionen av kommandot och lägga till visningsregeln Mscrm.HideOnModern som saknas i kommandodefinitionen. Eftersom detta är en anpassad åsidosättning av en Microsoft-publicerad definition och det inte finns några andra avsiktliga ändringar rekommenderar vi att den här anpassade versionen av kommandot tas bort för att återställa standardfunktionerna.

Reparationsalternativ

Välj ett reparationsalternativ på någon av flikarna nedan. Den första fliken är markerad som standard.

Så här tar du bort ett kommando

Om det finns ett annat lösningslager som innehåller en fungerande definition av det här kommandot kan du ta bort den här definitionen för att återställa nästa inaktiva arbetsdefinition.

Om det här är det enda lagret och du inte längre behöver kommandot kan du ta bort det från lösningen om ingen annan knapp refererar till kommandot.

Välj något av följande alternativ som matchar ditt specifika scenario:

Kommandot finns i den ohanterade aktiva lösningen

Om du vill ta bort ett kommando i det aktiva ohanterade lösningsskiktet exporterar vi en ohanterad lösning som innehåller entiteten eller programfliksområdet och redigerar <RibbonDiffXml> noden i filencustomizations.xml och importerar sedan en ny version av den här lösningen där det här kommandot har tagits bort för att ta bort komponenten. Se Exportera, förbereda för redigering och importera menyfliksområdet.

Kommandot är entitetsspecifikt

Baserat på vårt exempelscenario identifierade vi att entiteten är activitypointer och kommandot som måste tas bort är Mscrm.CreateAppointment och det deklareras i det aktiva ohanterade lösningsskiktet från en utgivare med namnet DefaultPublisherCITTest.

  1. Öppna Avancerade inställningar.

  2. Gå till Inställningar –>Lösningar.

  3. Välj Ny för att skapa en ny lösning. Ange Publisher till det värde som visas i listan Med kommandokontrollistans lösningslager för kommandot och det aktiva lösningsskiktet. (I vårt exempel är detta DefaultPublisherCITTest).

  4. Välj Entiteter>Lägg till befintlig.

  5. Välj den entitet som kommandot har definierats på (i vårt exempel är detta activitypointer) och välj OK.

  6. Kontrollera att du avmarkerar Ta med entitetsmetadata och avmarkerar Lägg till alla tillgångsalternativ innan du väljer Slutför.

  7. Välj Spara.

  8. Välj Exportera lösning och exportera den ohanterade lösningen.

  9. Extrahera .zip-filen.

  10. Öppna filencustomizations.xml .

  11. Leta upp nod underordnad <Entity> den entitetsnod som du vill redigera och leta upp dess underordnade <RibbonDiffXml> nod.

  12. <CommandDefinition> Leta upp noden (I vårt exempel är Mscrm.CreateAppointmentID:t för <CommandDefinition> noden , så att vi hittar följande nod).

    Skärmbild som visar platsen för noden CommandDefinition.

  13. <RibbonDiffXml> Redigera noden och ta bort den specifika <CommandDefinition> nod som har ID:t för det kommando som du vill ta bort. Se till att du inte oavsiktligt tar bort andra <CommandDefinition> noder som kan finnas. (Baserat på vårt exempel skulle vi ta bort noden <CommandDefinition> där ID:t är Mscrm.CreateAppointment.)

    Skärmbild som visar ett exempel på hur du tar bort noden CommandDefinition.

  14. Spara customizations.xml-filen .

  15. Lägg till den ändrade customizations.xml filen i lösningen .zip fil.

  16. Importera lösningsfilen.

  17. Välj Publicera alla anpassningar.

Kommandot finns i menyfliksområdet Program (gäller för "Alla entiteter")

Om kommandot inte är entitetsspecifikt, snarare gäller det för "Alla entiteter" som deklareras i programfliksområdet, så skiljer sig stegen något på följande sätt:

  1. Öppna Avancerade inställningar.
  2. Gå till Inställningslösningar>
  3. Välj Ny för att skapa en ny lösning. Ange Publisher till det värde som visas i listan Med kommandokontrollistans lösningslager för kommandot och det aktiva lösningsskiktet.
  4. Välj Klienttillägg>Lägg till befintliga>programflikar.
  5. Välj Spara.
  6. Välj Exportera lösning och exportera den ohanterade lösningen.
  7. Extrahera .zip-filen.
  8. Öppna filencustomizations.xml .
  9. Leta upp rotnoden <RibbonDiffXml> .
  10. <CommandDefinition>Leta upp .
  11. <RibbonDiffXml> Redigera noden och ta bort <CommandDefinition> noden som har ID:t för det kommando som du vill ta bort. Se till att du inte oavsiktligt tar bort andra <CommandDefinition> noder som kan finnas.
  12. Spara customizations.xml-filen .
  13. Lägg till den ändrade customizations.xml filen i den komprimerade lösningen .zip fil.
  14. Importera lösningsfilen.
  15. Välj Publicera alla anpassningar.
Kommandot kommer från en anpassad hanterad lösning som mitt företag har skapat

Följ dessa steg om du vill ta bort ett kommando som har installerats av en anpassad hanterad lösning som du har skapat:

  1. I din separata utvecklingsorganisation som har den ohanterade källversionen av din anpassade lösning slutför du stegen ovan för kommandot finns i alternativet Ohanterad aktiv lösning .
  2. Öka versionen av din anpassade lösning.
  3. Exportera lösningen som hanterad.
  4. Importera den här nya versionen av din anpassade hanterade lösning i din separata berörda organisation.
Kommandot kommer från en anpassad hanterad lösning som mitt företag inte skapade (från tredje part/ISV)

Om du vill ta bort ett kommando som har installerats av en anpassad hanterad lösning som har skapats av en tredje part/ISV måste du kontakta lösningsförfattaren och begära en ny version av lösningen som har tagit bort den specifika kommandodefinitionen och sedan installera den nya lösningen i din berörda organisation.