En knapp i kommandofältet visas när den ska vara dold
Artikel
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.
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.
I följande exempel visas två knappar för avtalad tid på rutnätssidan för aktiviteter och en förväntas vara dold.
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.
Välj länken Visa kommandodefinitionslösningslager under kommandonamnet för att visa de lösningar som installerade en definition av kommandot.
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.
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.
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.
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.
Öppna Avancerade inställningar.
Gå till Inställningar ->Lösningar.
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).
Välj Entiteter>Lägg till befintlig.
Välj den entitet som kommandot har definierats på (i vårt exempel är det här activitypointer) och välj OK.
Kontrollera att du avmarkerar Ta med entitetsmetadata och avmarkerar Lägg till alla tillgångsalternativ innan du väljer Slutför.
Välj Spara.
Välj Exportera lösning och exportera den ohanterade lösningen.
Extrahera zip-filen.
Öppna filen customizations.xml .
Leta upp nod underordnad <Entity> den entitetsnod som du vill redigera och leta upp dess underordnade <RibbonDiffXml> nod.
<CommandDefinition> Leta upp noden (I vårt exempel är Mscrm.CreateAppointmentID för <CommandDefinition> noden , så att vi hittar följande nod).
<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.)
Spara filen customizations.xml .
Lägg till den ändrade customizations.xml filen i lösningen .zip fil.
Importera lösningsfilen.
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:
Öppna Avancerade inställningar.
Navigera till Inställningar>Lösningar
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.
Välj Klienttillägg>Lägg till befintliga>programflikar.
Välj Spara.
Välj Exportera lösning och exportera den ohanterade lösningen.
Extrahera zip-filen.
Öppna filen customizations.xml .
Leta upp rotnoden <RibbonDiffXml> .
<CommandDefinition>Leta upp .
<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.
Spara filen customizations.xml .
Lägg till den ändrade customizations.xml filen i den komprimerade lösningen .zip fil.
Importera lösningsfilen.
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:
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 .
Öka versionen av din anpassade lösning.
Exportera lösningen som hanterad.
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.
Så här lägger du till regler för aktivering/visning som saknas i kommandot
Om det finns ändringar i kommandot som du behöver behålla, men du fortfarande vill att knappen ska döljas under lämpliga omständigheter, kan du lägga till de regler för aktivering/visning som saknas i kommandot i stället för att ta bort den anpassade definitionen.
Välj något av följande alternativ som matchar ditt specifika scenario:
Kommandot finns i den ohanterade aktiva lösningen
Om du har fastställt att regler för aktivering/visning saknas i kommandodefinitionen <CommandDefinition> kan du ändra noden och lägga till reglerna för att uppnå önskat beteende. För att åtgärda 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 som innehåller den fasta kommandodefinitionen. 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 åtgärdas är Mscrm.CreateAppointment och deklareras i det aktiva ohanterade lösningsskiktet från en utgivare med namnet DefaultPublisherCITTest.
Öppna Avancerade inställningar.
Navigera till Inställningar>Lösningar.
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)
Välj Entiteter>Lägg till befintlig.
Välj den entitet som kommandot har definierats på (i vårt exempel är det här activitypointer) och välj OK.
Kontrollera att du avmarkerar alternativen Inkludera entitetsmetadata och Lägg till alla tillgångar innan du väljer Slutför.
Välj Spara.
Välj Exportera lösning och exportera den ohanterade lösningen.
Extrahera zip-filen.
Öppna filen customizations.xml .
Leta upp noden underordnad <Entity> den entitetsnod som du vill redigera och leta upp dess underordnade <RibbonDiffXml> nod.
<CommandDefinition> Leta upp noden. I exemplet är Mscrm.CreateAppointmentnodens <CommandDefinition> ID . Därför letar du upp följande nod:
<RibbonDiffXml> Redigera noden och gör nödvändiga ändringar i <CommandDefinition> noden som gör att kommandot kan fungera korrekt under rätt omständigheter för att åtgärda kommandot. Mer information om hur du deklarerar kommandon finns i Definiera kommandon i menyfliksområdet. (Baserat på vårt exempel skulle vi ändra <CommandDefinition> noden genom att lägga till visningsregeln Mscrm.HideOnModern som döljer den här knappen på rätt sätt.)
Återställ den ändrade customizations.xml filen till lösningen .zip fil.
Importera lösningsfilen.
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 menyfliksområdet Program, så skiljer sig stegen något på följande sätt:
Öppna Avancerade inställningar.
Navigera till Inställningar>Lösningar.
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.
Välj Klienttillägg>Lägg till befintliga>programflikar.
Välj Spara.
Välj Exportera lösning och exportera den ohanterade lösningen.
Extrahera zip-filen.
Öppna filen customizations.xml .
Leta upp rotnoden <RibbonDiffXml> .
<CommandDefinition>Leta upp .
Redigera <RibbonDiffXml> och gör nödvändiga ändringar i <CommandDefinition> noden som gör att kommandot kan fungera korrekt under rätt omständigheter för att åtgärda kommandot. Mer information om hur du deklarerar kommandon finns i Definiera kommandon i menyfliksområdet.
Lägg till den ändrade customizations.xml filen i lösningen .zip fil.
Importera lösningsfilen.
Välj Publicera alla anpassningar.
Kommandot kommer från en anpassad hanterad lösning som jag har skapat
Följ dessa steg för att åtgärda ett kommando som installerades av en anpassad hanterad lösning som du skapade:
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 .
Öka versionen av din anpassade lösning.
Exportera lösningen som hanterad.
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 jag inte har skapat eller som min organisation inte äger (dvs. från en tredje part/ISV)
Om du vill åtgärda 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 innehåller den fasta kommandodefinitionen och installera den här nya lösningen i din berörda organisation.
Kommandot finns i en Microsoft-publicerad hanterad lösning
Om du vill åtgärda ett kommando som har installerats av en Microsoft-publicerad hanterad lösning kan du behöva en nyare version av lösningen som ska installeras, vilket vanligtvis görs under en versionsuppdatering. Det är möjligt att du har identifierat en bugg som fortfarande måste åtgärdas. Kontakta kundsupporten om du vill ha hjälp.
Så här åtgärdar du en aktiverings-/visningsregel
Välj länken Visa regeldefinitionslösningslager under regelnamnet för att visa de lösningar som installerade en definition av regeln.
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.
Följande bild visar lösningsskikten för aktiveringsregeln i vårt exempel och anger att det finns ett lösningslager i det här fallet och att det är en ohanterad anpassning som anges av lösningen med titeln Aktiv. Ditt faktiska scenario kan skilja sig, du kanske inte har ett aktivt lösningslager, du kan ha en hanterad lösning och namnet på den lösningen visas här.
Nu när vi har granskat lösningsskikten och identifierat lösningen som installerade anpassningen måste vi åtgärda definitionen i rätt lösning.
Välj något av följande alternativ som matchar ditt specifika scenario:
Regeln för aktivering/visning finns i den ohanterade aktiva lösningen
För att åtgärda en aktivera/visa-regel i det aktiva ohanterade lösningsskiktet exporterar vi en ohanterad lösning som innehåller entiteten eller programfliksområdet och redigerar <RibbonDiffXml> noden i den customizations.xml filen och importerar sedan den nya versionen av den här lösningen som innehåller definitionen för fast aktivering/visningsregel. Se Exportera, förbered för att redigera och importera menyfliksområdet.
Regeln för aktivering/visning är entitetsspecifik
Baserat på vårt exempelscenario har vi identifierat att entiteten är kontakt och den aktiveringsregel som måste åtgärdas är new.contact.EnableRule.EntityRule och deklareras i det aktiva ohanterade lösningsskiktet från en utgivare med namnet DefaultPublisherCITTest.
Öppna Avancerade inställningar.
Navigera till Inställningar>Lösningar.
Välj Ny för att skapa en ny lösning, ange Publisher till det värde som visas i listan över kommandokontrolllösningslager för aktiveringsregeln och det aktiva lösningsskiktet. (I vårt exempel är dettaDefaultPublisherCITTest)
Välj Entiteter>Lägg till befintlig.
Välj den entitet som din aktiverings-/visningsregel definieras på (i vårt exempel är detta kontakt) och välj OK.
Kontrollera att du avmarkerar alternativen Inkludera entitetsmetadata och Lägg till alla tillgångar innan du väljer Slutför.
Välj Spara.
Välj Exportera lösning och exportera den ohanterade lösningen.
Extrahera zip-filen.
Öppna filen customizations.xml .
Leta upp nod underordnad <Entity> den entitetsnod som du vill redigera och leta upp dess underordnade <RibbonDiffXml> nod.
Leta upp regeln för aktivering/visning. I exemplet är new.contact.EnableRule.EntityRuleID:t för aktiveringsregeln . Därför letar du upp följande nod:
<RibbonDiffXml> Redigera noden och gör nödvändiga ändringar i regeln för aktivering/visning som gör att regeln kan utvärderas till True under rätt omständigheter för att åtgärda regeln. Mer information om hur du deklarerar regler finns i Definiera regler för att aktivera menyfliksområdet och Definiera visningsregler för menyfliksområdet. (Baserat på vårt exempel ändrar vi regeldefinitionen till följande)
Lägg till den ändrade customizations.xml filen i lösningen .zip fil.
Importera lösningsfilen.
Välj Publicera alla anpassningar.
Regeln för aktivering/visning finns i menyfliksområdet Program (gäller för "Alla entiteter")
Om regeln för aktivering/visning inte är entitetsspecifik, snarare gäller den för "Alla entiteter" som deklareras i menyfliksområdet Program, så skiljer sig stegen något på följande sätt:
Öppna Avancerade inställningar.
Navigera till Inställningar>Lösningar.
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 regeln aktivera/visa och det aktiva lösningsskiktet.
Välj Klienttillägg>Lägg till befintliga>programflikar.
Välj Spara.
Välj Exportera lösning och exportera den ohanterade lösningen.
Extrahera zip-filen.
Öppna filen customizations.xml .
Leta upp rotnoden <RibbonDiffXml> .
Leta upp regeln för aktivering/visning.
<RibbonDiffXml> Redigera noden och gör nödvändiga ändringar i regeln för aktivering/visning som gör att regeln kan utvärderas till True under rätt omständigheter för att åtgärda regeln. Mer information om hur du deklarerar regler finns i Definiera regler för att aktivera menyfliksområdet och Definiera visningsregler för menyfliksområdet.
Lägg till den ändrade customizations.xml filen i lösningen .zip fil.
Importera lösningsfilen.
Välj Publicera alla anpassningar.
Regeln för aktivering/visning kommer från en anpassad hanterad lösning som jag har skapat
Följ dessa steg för att åtgärda en aktiverings-/visningsregel som installerades av en anpassad hanterad lösning som du skapade:
I din separata utvecklingsorganisation som har den ohanterade källversionen av din anpassade lösning slutför du stegen som anges ovan för regeln aktivera/visa finns i alternativet ohanterad aktiv lösning .
Öka versionen av din anpassade lösning.
Exportera lösningen som hanterad.
I din separata berörda organisation importerar du den här nya versionen av din anpassade hanterade lösning.
Regeln för aktivering/visning kommer från en anpassad hanterad lösning som jag inte har skapat eller som min organisation inte äger (från en tredje part/ISV)
För att åtgärda en aktiverings-/visningsregel 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 innehåller definitionen av regeln för fast aktivering/visning och installera den nya lösningen i din berörda organisation.
Regeln för aktivering/visning finns i en Microsoft-publicerad hanterad lösning
Om du vill åtgärda en aktiverings-/visningsregel som har installerats av en Microsoft-publicerad hanterad lösning kan du behöva en nyare version av lösningen som ska installeras, vilket vanligtvis görs under en versionsuppdatering. Det är möjligt att du har identifierat en bugg som fortfarande måste åtgärdas. Kontakta kundsupporten om du vill ha hjälp.