En knapp i kommandofältet fungerar inte korrekt i Power Apps
Gäller för: Power Apps
Ursprungligt KB-nummer: 4552163
Ta reda på varför en knapp inte fungerar som den ska
Flera faktorer kan göra att en knappåtgärd misslyckas. Dessa inkluderar ogiltiga anpassningar i menyfliksområdet där knappens associerade kommandodefinition har deklarerats felaktigt.
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. Därför kanske de inte fungerar korrekt.
Om ett kommando inte har deklarerats korrekt kan det hända att du inte gör något eller visar ett felmeddelande om att välja en knapp.
Välj något av följande alternativ som bäst matchar din situation för att hjälpa oss att ge den bästa lösningen. Den första fliken är markerad som standard.
Åtgärda en knapp som inte gör någonting när den är markerad
När en knapp väljs och ingenting inträffar orsakas detta vanligtvis av en felaktig konfiguration av kommandot som är associerat med knappen.
Följande är vanliga kommandokonfigurationsfel som görs när du deklarerar JavaScriptFunction
värdet för åtgärden. Dessa misstag kan orsaka att en knapp fungerar och verkar som om den inte gör något när den väljs.
- Ogiltigt FunctionName: Namnet på JavaScript-funktionen matchar inte ett giltigt funktionsnamn i JavaScript-webbresursen som har tilldelats egenskapen Bibliotek.
-
Ogiltigt bibliotek: Den här sökvägen refererar inte till en giltig JavaScript-webbresurs eller är inte prefixet med
$webresource:
. - Parametrar saknas: JavaScript-funktionen förväntar sig specifika parametrar och kommandodefinitionen deklarerar dem inte.
- Felaktig parametertyp eller ordning: Parametrarna deklareras med en felaktig typ eller är i en annan ordning än de som anges i JavaScript-funktionsdeklarationen.
Mer konfigurationshjälp finns i Definiera åtgärder i menyfliksområdet .
Om dessa konfigurationer är korrekta kan ett JavaScript-kodfel vara orsaken. Om den anpassade JavaScript-funktionen är felaktigt kodad och inte anropar det förväntade beteendet fungerar inte knappen som förväntat. Om du hittar något av konfigurationsfelen i listan åtgärdar du kommandodefinitionen för att lösa problemet. Annars kan du behöva felsöka och åtgärda JavaScript-funktionskoden för att knappen ska fungera korrekt.
Identifiera vad knappkommandot är och vilken lösning som installerade den felaktiga definitionen.
Aktivera kommandokontrollen och välj kommandoknappen för att inspektera.
Välj fliken Kommandoegenskaper för att visa information om kommandot för den här knappen.
Fliken Kommandoegenskaper visar åtgärderna och motsvarande
JavaScriptFunction
konfiguration. Välj länken Visa kommandodefinitionslösningslager under kommandonamnet för att visa lösningarna som installerade en definition av kommandot.I fönstret Lösningslager visas 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 om en uppdaterad version installeras som tar bort definitionen blir nästa lager den aktuella aktiva definitionen som används av programmet. Om 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 Microsoft-publicerade lösningslager.
Entitetskontexten anger det objekt som anpassningen av menyfliksområdet ä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 tillhandahålls av 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 till steg 8. Annars väljer du de två översta lösningsskikten. (Om du har ett lager i den aktiva lösningen, men det inte visas överst, väljer du det aktiva lösningsskiktet och sedan den översta raden.) Välj sedan Jämför.
Jämförelsen mellan den aktuella aktiva definitionen och den tidigare inaktiva definitionen visas och visar eventuella skillnader. I följande exempel visas att den ohanterade aktiva definitionen har anpassats genom att
FunctionName
värdet anges felaktigt, jämfört med den andra inaktiva definitionen i det Microsoft-publicerade systemlösningsskiktet. VärdetFunctionName
förväntas varaXrmCore.Commands.Delete.deletePrimaryRecord
, men den anpassade definitionen har deklareratFunctionName="deletePrimaryRecord"
. I det här fallet sker ingenting när knappen väljs eftersom funktionen inte kan hittas.Vilken metod som krävs för att åtgärda åtgärdsfunktionerna för en knapp beror på de olika anpassningarna i ditt specifika scenario. Med tanke på exemplet anpassades kommandot genom att ange ett felaktigt
FunctionName
värde. Du kan ändra den anpassade versionen av kommandot och åtgärdaFunctionName
värdet. Eftersom det här är en anpassad åsidosättning av en Microsoft-publicerad definition och det inte finns några andra avsiktliga ändringar rekommenderar vi att du tar bort den här anpassade versionen av kommandot för att återställa standardfunktionerna.
Välj något av följande reparationsalternativ.
Alternativ 1: Ta bort kommandot som har fel JavaScriptFunction-deklaration
Kommandot finns i den ohanterade aktiva lösningen.
Om du vill ta bort ett kommando i det aktiva ohanterade lösningsskiktet exporterar du 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å exempelscenariot har du fastställt att entiteten är konto, kommandot som måste tas bort är Mscrm.DeletePrimaryRecord
, och det deklareras i det aktiva ohanterade lösningsskiktet från en utgivare med namnet DefaultPublisherCITTest.
Öppna Avancerade inställningar.
Gå till Inställningslösningar>.
Välj Ny för att skapa en ny lösning och ange Publisher till det värde som visas i listan med kommandokontrollistans lösningslager för kommandot och det aktiva lösningsskiktet. (I exemplet är detta DefaultPublisherCITTest.)
Välj Entiteter>Lägg till befintlig.
Välj den entitet som kommandot har definierats på (i exemplet är detta "konto") och välj sedan OK.
Se till att avmarkera 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 filencustomizations.xml .
Leta upp nod underordnad
<Entity>
den entitetsnod som du vill redigera och leta upp dess underordnade<RibbonDiffXml>
nod.<CommandDefinition>
Leta upp noden. (I exemplet ärMscrm.DeletePrimaryRecord
nodens<CommandDefinition>
ID . Därför letar du upp följande nod.)<RibbonDiffXml>
Redigera noden för att 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å exemplet tar du bort<CommandDefinition>
noden där ID:t ärMscrm.DeletePrimaryRecord
.)Spara customizations.xml-filen .
Å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, utan i stället gäller för "Alla entiteter" som deklareras i programfliksområdet, blir stegen något annorlunda, enligt följande:
- Öppna Avancerade inställningar.
- Gå till Inställningslösningar>.
- Välj Ny för att skapa en ny lösning och ange Publisher till det värde som visas i listan med 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 filencustomizations.xml .
- Leta upp rotnoden
<RibbonDiffXml>
. -
<CommandDefinition>
Leta upp noden. -
<RibbonDiffXml>
Redigera 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 customizations.xml-filen .
- Återställ den ändrade customizations.xml filen till 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 har installerats av en anpassad hanterad lösning som du har skapat:
- 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 .
- Öka versionen av din anpassade lösning.
- Exportera lösningen som hanterad.
- 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 delen eller ISV).
Om du vill ta bort ett kommando som har installerats av en anpassad hanterad lösning som har skapats av en tredje part eller ISV måste du kontakta lösningsförfattaren för att begära en ny version av lösningen som har den specifika kommandodefinitionen borttagen och sedan installera den nya lösningen i din berörda organisation.
Alternativ 2: Åtgärda kommandot JavaScriptFunction-deklaration
Kommandot finns i den ohanterade aktiva lösningen.
Om du vill åtgärda ett kommando i det aktiva ohanterade lösningsskiktet exporterar du en ohanterad lösning som innehåller entiteten eller menyfliksområdet Program, redigerar <RibbonDiffXml>
noden i filencustomizations.xml och importerar sedan en ny version av den här lösningen som innehåller den fasta kommandodefinitionen. Se Exportera, förbereda för redigering och importera menyfliksområdet.
Varning
Ta inte bort Mscrm.HideOnModern
visningsregeln från ett kommando för att framtvinga att en knapp 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.
Kommandot är entitetsspecifikt
Baserat på exempelscenariot har du fastställt att entiteten är konto, kommandot som måste åtgärdas är Mscrm.DeletePrimaryRecord
, och det deklareras i det aktiva ohanterade lösningsskiktet från en utgivare med namnet DefaultPublisherCITTest.
Öppna Avancerade inställningar.
Gå till Inställningslösningar>.
Välj Ny för att skapa en ny lösning och ange Publisher till det värde som visas i listan med kommandokontrollistans lösningslager för kommandot och det aktiva lösningsskiktet. (I exemplet är detta DefaultPublisherCITTest.)
Välj Entiteter>Lägg till befintlig.
Välj den entitet som kommandot har definierats på (i exemplet är det här kontot) och välj sedan OK.
Se till att avmarkera 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 filencustomizations.xml .
Leta upp nod underordnad
<Entity>
den entitetsnod som du vill redigera och leta upp dess underordnade<RibbonDiffXml>
nod.<CommandDefinition>
Leta upp noden. (I exemplet ärMscrm.DeletePrimaryRecord
nodens<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 menyflikskommandon och Definiera åtgärder i menyfliksområdet. (Baserat på exemplet ändrar<CommandDefinition>
du nodensJavaScriptFunction
genom att angeFunctionName
värdet tillXrmCore.Commands.Delete.deletePrimaryRecord
.)Å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, utan i stället gäller för "Alla entiteter" som deklareras i programfliksområdet, blir stegen något annorlunda, enligt följande:
- Öppna Avancerade inställningar.
- Gå till Inställningslösningar>.
- Välj Ny för att skapa en ny lösning och ange Publisher till det värde som visas i listan med 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 filencustomizations.xml .
- Leta upp rotnoden
<RibbonDiffXml>
. -
<CommandDefinition>
Leta upp . -
<RibbonDiffXml>
Redigera noden för att göra 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 menyflikskommandon och Definiera åtgärder i menyfliksområdet. - Spara customizations.xml-filen .
- Återställ den ändrade customizations.xml filen till den komprimerade 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 finns i alternativet Ohanterad aktiv lösning .
- Öka versionen av din anpassade lösning.
- Exportera lösningen som hanterad.
- 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 jag inte har skapat eller som min organisation inte äger (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 eller ISV måste du kontakta lösningsförfattaren för att begära en ny version av lösningen som innehåller den fasta kommandodefinitionen och installera den nya lösningen i din berörda organisation.
Jag får felmeddelandet "Ogiltigt JavaScript-åtgärdsbibliotek"](#tab/fel)
Åtgärda en knapp som visar ett fel när den väljs
Om en knapp för menyfliksområdets kommandofält är markerad och ett fel inträffar orsakas felet vanligtvis av felaktiga anpassningar av menyflikskommandot .
Åtgärda skriptfelet "Ogiltigt JavaScript-åtgärdsbibliotek"
Du kan få ett skriptfel som liknar följande:
Ogiltigt JavaScript-åtgärdsbibliotek: [skriptnamn] är inte en webbresurs och stöds inte.
Detta orsakas av en ogiltig anpassning av menyfliksområdet som har deklarerat ett felaktigt bibliotek på kommandots JavaScriptFunction
.
Aktivera kommandokontrollen och välj kommandoknappen för att inspektera.
I följande exempel visas knappen Ny på kontoentitetens formulärsida och representeras av ett objekt med etiketten Ny.
Välj fliken Kommandoegenskaper för att visa information om kommandot för den här knappen. Då visas deklarationen Åtgärder och JavaScriptFunction och alla aktivera eller visa reglerna tillsammans med resultatet (Sant, Falskt, Hoppades över) för varje regelutvärdering.
Expandera JavaScriptFunction genom att välja ikonen "sparr" för att visa information om funktionsdeklarationen. Egenskapen Bibliotek måste vara en JavaScript-webbresurs och ha prefixet
$webresource:
. I följande exempel visas att egenskapen Bibliotek är _/_static/common/scripts/RibbonActions.js. Det här är inte en sökväg till en giltig JavaScript-webbresurs. Granska sedan lösningsskikten i kommandot för att försöka identifiera rätt värde för att åtgärda problemet.Välj länken Visa kommandodefinitionslösningslager under kommandonamnet för att visa lösningarna 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 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 Microsoft-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.
Följande bild visar lösningsskikten för kommandot i exemplet och anger att det finns två lösningslager, och ett är en ohanterad anpassning som anges av lösningen Med namnet Aktiv och den andra kommer från systemlösningen som publicerats av Microsoft. Ditt faktiska scenario kan skilja sig, du kanske inte har ett aktivt lösningslager, du kanske har en hanterad lösning och namnet på den lösningen visas här.
Välj de två översta raderna och välj Jämför för att visa en jämförelse av de definitioner som tas med i varje lösning. Om du bara har ett lösningslager hoppar du över det här steget.
Jämförelsen mellan kommandodefinitioner visar eventuella skillnader som kan finnas mellan de två lagren. I följande exempel visas tydligt att värdet Bibliotek är annorlunda. Den ohanterade posten från den aktiva lösningen är inställd på en felaktig sökväg _/_static/common/scripts/RibbonActions.js (din specifika sökväg kan vara något annorlunda) och standarddefinitionen från Microsoft har angett biblioteket till
$webresoure:Main_system_library.js
. Det här är en sökväg som stöds för det här kommandot (det här värdet kan vara annorlunda beroende på ditt specifika kommando). Den enda sökväg som stöds är en sökväg som börjar med$webresource:
och slutar med namnet på en giltig JavaScript-webbresurs.Nu när du har granskat lösningsskikten och fastställt lösningen som installerade anpassningen måste du åtgärda definitionen i lämplig lösning.
Välj något av följande alternativ som matchar ditt specifika scenario:
Kommandot finns i den ohanterade aktiva lösningen.
Metoden för att åtgärda kommandot varierar beroende på om din definition är den enda eller om det finns andra inaktiva definitioner och om ändringarna var avsiktliga.
Välj det alternativ som återspeglar ditt scenario:
-
Kommandot har inga avsiktliga ändringar och jag vill ta bort det här anpassade lagret.
Om du vill ta bort ett kommando i det aktiva ohanterade lösningsskiktet exporterar du en ohanterad lösning som innehåller entiteten eller programfliksområdet, redigerar
<RibbonDiffXml>
noden i customizations.xml-filen 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å exempelscenariot har du fastställt att entiteten är konto, kommandot som måste tas bort är
Mscrm.NewRecordFromForm
, och det deklareras i det aktiva ohanterade lösningsskiktet från en utgivare med namnet DefaultPublisherCITTest.Öppna Avancerade inställningar.
Gå till Inställningslösningar>.
Välj Ny för att skapa en ny lösning och ange Publisher till det värde som visas i listan med kommandokontrollistans lösningslager för kommandot och det aktiva lösningsskiktet. (I exemplet är detta DefaultPublisherCITTest.)
Välj Entiteter>Lägg till befintlig.
Välj den entitet som kommandot har definierats på. (I exemplet är detta konto) och välj sedan OK.
Se till att avmarkera 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 filencustomizations.xml .
Leta upp nod underordnad
<Entity>
den entitetsnod som du vill redigera och leta upp dess underordnade<RibbonDiffXml>
nod.<CommandDefinition>
Leta upp noden (I exemplet är ID för<CommandDefinition>
ärMscrm.NewRecordFromForm
. Därför letar du upp följande nod.)<RibbonDiffXml>
Redigera noden för att ta bort den specifika<CommandDefinition>
noden. Se till att du inte oavsiktligt tar bort andra<CommandDefinition>
noder som kan finnas. (Baserat på exemplet tar du bort<CommandDefinition>
noden där ID:t ärMscrm.NewRecordFromForm
.)Spara customizations.xml-filen .
Å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, utan i stället gäller för "Alla entiteter" som deklareras i programfliksområdet, blir stegen något annorlunda, enligt följande:
- Öppna Avancerade inställningar.
- Gå till Inställningslösningar>.
- Välj Ny för att skapa en ny lösning och ange Publisher till det värde som visas i listan med 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 filencustomizations.xml .
- Leta upp rotnoden
<RibbonDiffXml>
. -
<CommandDefinition>
Leta upp noden. - Redigera
<RibbonDiffXml>
för att ta bort noden<CommandDefinition>
som har matchande ID för det kommando som du vill ta bort. Se till att du inte oavsiktligt tar bort andra<CommandDefinition>
noder som kan finnas. - Spara customizations.xml-filen .
- Återställ den ändrade customizations.xml filen till den komprimerade lösningen .zip fil.
- Importera lösningsfilen.
- Välj Publicera alla anpassningar.
-
Kommandot har ytterligare ändringar som jag vill behålla och jag vill åtgärda det här lösningsskiktet.
Om du vill åtgärda ett kommando i det aktiva ohanterade lösningsskiktet exporterar du 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 som innehåller den fasta kommandodefinitionen. Se Exportera, förbereda för redigering och importera menyfliksområdet.Varning
Ta inte bort
Mscrm.HideOnModern
visningsregeln från ett kommando för att framtvinga att en knapp visas i det enhetliga gränssnittet. Kommandon som har visningsregelnMscrm.HideOnModern
är avsedda för det äldre webbklientgränssnittet och stöds inte i det enhetliga gränssnittet och fungerar kanske inte korrekt.Kommandot är entitetsspecifikt
Baserat på exempelscenariot har du fastställt att entiteten är konto, kommandot som måste åtgärdas är
Mscrm.NewRecordFromForm
, och det deklareras i det aktiva ohanterade lösningsskiktet från en utgivare med namnet DefaultPublisherCITTest.Öppna Avancerade inställningar.
Gå till Inställningslösningar>.
Välj Ny för att skapa en ny lösning och ange Publisher till det värde som visas i listan med kommandokontrollistans lösningslager för kommandot och det aktiva lösningsskiktet. (I exemplet är detta DefaultPublisherCITTest.)
Välj Entiteter>Lägg till befintlig.
Välj den entitet som kommandot har definierats på (i exemplet är det här kontot) och välj sedan OK.
Se till att avmarkera 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 filencustomizations.xml
Leta upp nod underordnad
<Entity>
den entitetsnod som du vill redigera och leta upp dess underordnade<RibbonDiffXml>
nod.<CommandDefinition>
Leta upp noden. (I exemplet ärMscrm.NewRecordFromForm
nodens<CommandDefinition>
ID . Därför letar du upp följande nod.)Redigera
<RibbonDiffXml>
för att göra 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 menyflikskommandon och Definiera åtgärder i menyfliksområdet. (Baserat på exemplet ändrar<CommandDefinition>
du noden genom att angeLibrary="$webresoure:Main_system_library.js"
och sedan se till attFunctionName
värdet matchar. I exemplet skulle det varaFunctionName="XrmCore.Commands.Open.openNewRecord"
.)Spara customizations.xml-filen .
Å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 programfliksområdet, så skiljer sig stegen något på följande sätt:
- Öppna Avancerade inställningar.
- Gå till Inställningslösningar>.
- Välj Ny för att skapa en ny lösning och ange Publisher till det värde som visas i listan med 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 filencustomizations.xml .
- Leta upp rotnoden
<RibbonDiffXml>
. -
<CommandDefinition>
Leta upp noden. -
<RibbonDiffXml>
Redigera noden för att göra 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 menyflikskommandon och Definiera åtgärder i menyfliksområdet. - Spara customizations.xml-filen .
- Återställ den ändrade customizations.xml filen till den komprimerade 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 finns i alternativet Ohanterad aktiv lösning .
- Öka versionen av din anpassade lösning.
- Exportera lösningen som hanterad.
- 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 jag inte har skapat eller som min organisation inte äger (från en tredje part eller ISV).
Om du vill åtgärda ett kommando som har installerats av en anpassad hanterad lösning som har skapats av en tredje part eller ISV, måste du kontakta lösningsförfattaren för att begära en ny version av lösningen som innehåller den fasta kommandodefinitionen och sedan installera den 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 ha en nyare version av lösningen installerad. Detta görs vanligtvis 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.