Dela via


En knapp i kommandofältet visas när den ska vara dold

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

Ta reda på varför en knapp är synlig

En knapp visas om alla aktivera regler och visningsregler 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 gör att knappen blir synlig när du förväntar dig att den ska vara dold.

Kommentar

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 framtvinga att en knapp visas i enhetligt gränssnitt. Kommandon som har Mscrm.HideOnModern visningsregeln ä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 som ska kontrolleras.

  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 att det finns 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 reglerna för aktivering och visning, 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 för att välja 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 definitionen 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 lösningen ö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 det objekt som menyfliksområdets anpassning är på, om "Alla entiteter" visas, kommer lagret från programfliksområdets klienttillägg 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 borttagning 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 ett fältvärde eller säkerhetsprivilegier inte är korrekt tilldelade. Beroende på din regeldefinition kan kraven variera kraftigt, se Definiera regler för aktivering av menyfliksområdet och Definiera visningsregler för menyfliksområdet. Med tanke på 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 enhetliga gränssnittsprogram 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 filen customizations.xml och importerar sedan en ny version av den här lösningen där kommandot har tagits bort för att ta bort komponenten. Se Exportera, förbered för att redigera och importera menyfliksområdet.

Kommandot är entitetsspecifikt

Baserat på vårt exempelscenario har vi identifierat 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 över kommandokontrollistans lösningslager för kommandot och det aktiva lösningsskiktet. (I vårt exempel är dettaDefaultPublisherCITTest).

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

  5. Välj den entitet som kommandot har definierats på (i vårt exempel är det här 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 filen customizations.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 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 filen customizations.xml .

  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å kommer stegen att skilja sig något på följande sätt:

  1. Öppna Avancerade inställningar.
  2. Navigera 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 över 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 filen customizations.xml .
  9. Leta upp rotnoden <RibbonDiffXml> .
  10. <CommandDefinition>Leta upp .
  11. <RibbonDiffXml> Redigera noden och ta bort noden <CommandDefinition> 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 filen customizations.xml .
  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 installerades av en anpassad hanterad lösning som du skapade:

  1. I din separata utvecklingsorganisation som har den ohanterade källversionen av din anpassade lösning slutför du stegen ovan för kommandot är i alternativet ohanterad aktiv lösning .
  2. Öka versionen av din anpassade lösning.
  3. Exportera lösningen som hanterad.
  4. I din separata berörda organisation importerar du den här nya versionen av din anpassade hanterade lösning.
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ösningens författare 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.