Delen via


Een knop op de opdrachtbalk werkt niet correct in Power Apps

Van toepassing op: Power Apps
Oorspronkelijk KB-nummer: 4552163

Bepalen waarom een knop niet goed werkt

Verschillende factoren kunnen ertoe leiden dat een knopactie mislukt. Deze omvatten ongeldige lintaanpassingen waarin de bijbehorende opdrachtdefinitie van de knop onjuist is gedeclareerd.

Waarschuwing

Verwijder de Mscrm.HideOnModern weergaveregel niet uit een opdracht om af te dwingen dat een knop wordt weergegeven in de Unified Interface. Opdrachten met de Mscrm.HideOnModern weergaveregel zijn bedoeld voor de verouderde webclientinterface en worden niet ondersteund in de Unified Interface. Daarom werken ze mogelijk niet goed.

Als een opdracht niet juist is gedeclareerd, kan het selecteren van een knop niets doen of een foutbericht weergeven.

Selecteer een van de volgende opties die het beste aansluit bij uw situatie om ons te helpen de beste oplossing te bieden. Het eerste tabblad is standaard geselecteerd.

Een knop herstellen die niets doet wanneer deze is geselecteerd

Wanneer een knop is geselecteerd en er niets gebeurt, wordt dit meestal veroorzaakt door een onjuiste configuratie van de opdracht die aan de knop is gekoppeld.

Hieronder ziet u veelvoorkomende fouten in de opdrachtconfiguratie die worden gemaakt bij het declareren van de JavaScriptFunction waarde voor de actie. Deze fouten kunnen leiden tot een storing van een knop en lijken alsof het niets doet wanneer deze is geselecteerd.

  • Ongeldige functionName: de naam van de JavaScript-functie komt niet overeen met een geldige functienaam in de JavaScript-webresource die is toegewezen aan de eigenschap Bibliotheek.
  • Ongeldige bibliotheek: dit pad verwijst niet naar een geldige JavaScript-webresource of wordt niet voorafgegaan door $webresource:.
  • Ontbrekende parameters: de JavaScript-functie verwacht specifieke parameters en de opdrachtdefinitie declareert deze niet.
  • Onjuist parametertype of -volgorde: de parameters worden gedeclareerd met een onjuist type of bevinden zich in een andere volgorde dan het type waarin ze worden vermeld in de declaratie van de JavaScript-functie.

Raadpleeg De lintacties definiëren voor meer configuratiehulp.

Als deze configuraties juist zijn, kan een JavaScript-codefout de oorzaak zijn. Als de aangepaste JavaScript-functie onjuist is gecodeerd en het verwachte gedrag niet aanroept, werkt de knop niet zoals verwacht. Als u een van de vermelde configuratiefouten vindt, lost u de opdrachtdefinitie op om het probleem op te lossen. Anders moet u mogelijk fouten opsporen en de JavaScript-functiecode herstellen om ervoor te zorgen dat de knop correct werkt.

Bepaal wat de knopopdracht is en welke oplossing de onjuiste definitie heeft geïnstalleerd.

  1. Schakel opdrachtcontrole in en selecteer de opdrachtknop die u wilt controleren.

  2. Selecteer het tabblad Opdrachteigenschappen om de details van de opdracht voor deze knop weer te geven.

    Schermopname van het tabblad Opdrachteigenschappen van een knop.

  3. Op het tabblad Opdrachteigenschappen worden de acties en de bijbehorende JavaScriptFunction configuratie weergegeven. Selecteer de koppeling Oplossingslagen voor opdrachtdefinities weergeven onder de opdrachtnaam om de oplossingen weer te geven die een definitie van de opdracht hebben geïnstalleerd.

    Schermopname van de koppeling Oplossingslagen voor opdrachtdefinities weergeven onder een opdrachtnaam.

  4. In het deelvenster Oplossingslagen wordt de gelaagdheid weergegeven van de definitie van elk lintonderdeel dat een bepaalde oplossing heeft geïnstalleerd. De laag boven aan de lijst is de huidige definitie die door de toepassing wordt gebruikt. De andere lagen zijn inactief en worden momenteel niet door de toepassing gebruikt. Als de bovenste oplossing wordt verwijderd of als er een bijgewerkte versie wordt geïnstalleerd waarmee de definitie wordt verwijderd, wordt de volgende laag de huidige actieve definitie die door de toepassing wordt gebruikt. Als er een onbeheerde actieve oplossingslaag aanwezig is, is dit altijd de definitie die de toepassing gebruikt. Als er geen actieve oplossing wordt vermeld, is de oplossing bovenaan de lijst de definitie die door de toepassing wordt gebruikt. Aangepaste beheerde oplossingen die niet door Microsoft worden gepubliceerd, hebben ook voorrang op door Microsoft gepubliceerde oplossingslagen.

    De entiteitscontext geeft het object aan waarop de aanpassing van het lint is ingeschakeld. Als Alle entiteiten worden vermeld, is de laag afkomstig van de clientextensies van het toepassingslint en niet van de specifieke entiteit. Anders wordt de logische naam van de entiteit weergegeven.

    Wanneer er twee of meer lagen zijn, kunt u twee rijen selecteren en Vergelijken selecteren om een vergelijking te bekijken van de definities die door elke oplossing worden geleverd.

    Als u Terug selecteert, keert u terug naar het vorige venster Opdrachtcontrole.

    Als er slechts één oplossingslaag is, gaat u naar stap 8. Selecteer anders de bovenste twee oplossingslagen. (Als u een laag in de actieve oplossing hebt, maar deze niet bovenaan wordt weergegeven, selecteert u de laag Actieve oplossing en vervolgens de bovenste rij.) Selecteer vervolgens Vergelijken.

    Schermopname om de bovenste twee oplossingslagen te selecteren en de optie Vergelijken te selecteren.

  5. De vergelijking van de huidige actieve definitie en de vorige inactieve definitie worden weergegeven en tonen de verschillen, indien van toepassing. In het volgende voorbeeld ziet u dat de niet-beheerde actieve definitie is aangepast door de FunctionName waarde onjuist op te geven in vergelijking met de andere inactieve definitie in de door Microsoft gepubliceerde systeemoplossingslaag. De FunctionName waarde is XrmCore.Commands.Delete.deletePrimaryRecordnaar verwachting, maar de aangepaste definitie is gedeclareerd FunctionName="deletePrimaryRecord". In dit geval gebeurt er niets wanneer de knop is geselecteerd omdat de functie niet kan worden gevonden.

    Schermopname van de vergelijking van de huidige actieve definitie en de vorige inactieve definitie.

  6. De aanpak die nodig is om de actiefunctionaliteit van een knop op te lossen, is afhankelijk van de verschillende aanpassingen in uw specifieke scenario. Gezien het voorbeeld is de opdracht aangepast door een onjuiste FunctionName waarde op te geven. U kunt de aangepaste versie van de opdracht wijzigen en de FunctionName waarde herstellen. Omdat dit een aangepaste onderdrukking is van een door Microsoft gepubliceerde definitie en er geen andere opzettelijke wijzigingen zijn, raden we u aan deze aangepaste versie van de opdracht te verwijderen om de standaardfunctionaliteit te herstellen.

Selecteer een van de volgende herstelopties.

Optie 1: verwijder de opdracht met de onjuiste JavaScriptFunction-declaratie
De opdracht bevindt zich in de onbeheerde actieve oplossing.

Als u een opdracht wilt verwijderen in de laag Actieve onbeheerde oplossing, exporteert u een onbeheerde oplossing met de entiteit of het toepassingslint en bewerkt u het <RibbonDiffXml> knooppunt in het customizations.xml bestand en importeert u vervolgens een nieuwe versie van deze oplossing waarin deze opdracht is verwijderd om het onderdeel te verwijderen. Zie Exporteren, voorbereiden om het lint te bewerken en te importeren.

De opdracht is entiteitsspecifiek

Op basis van het voorbeeldscenario hebt u vastgesteld dat de entiteit account is, de opdracht die moet worden verwijderd, en Mscrm.DeletePrimaryRecorddeze wordt gedeclareerd in de laag Actieve onbeheerde oplossing van een uitgever met de naam DefaultPublisherCITTest.

  1. Open Geavanceerde instellingen.

  2. Navigeer naar Instellingen>Oplossingen.

  3. Selecteer Nieuw om een nieuwe oplossing te maken en stel Publisher in op de waarde die wordt weergegeven in de oplossingslagen van Command Checker voor de opdracht en de laag Actieve oplossing. (In het voorbeeld is ditDefaultPublisherCITTest.)

  4. Selecteer Entiteiten>bestaande toevoegen.

  5. Selecteer de entiteit waarvoor uw opdracht is gedefinieerd (in het voorbeeld is dit account) en selecteer VERVOLGENS OK.

  6. Zorg ervoor dat u de metagegevens van de entiteit Opnemen wist en alle opties voor assets toevoegt voordat u Voltooien selecteert.

  7. Selecteer Opslaan.

  8. Selecteer Oplossing exporteren en exporteer de onbeheerde oplossing.

  9. Pak het .zip-bestand uit.

  10. Open het bestand customizations.xml .

  11. Zoek het <Entity> onderliggende knooppunt van het entiteitsknooppunt dat u wilt bewerken en zoek het onderliggende <RibbonDiffXml> knooppunt.

  12. Zoek het <CommandDefinition> knooppunt. (In het voorbeeld is Mscrm.DeletePrimaryRecordde id van het <CommandDefinition> knooppunt. Daarom zoekt u het volgende knooppunt.)

    Schermopname van de locatie van het CommandDefinition-knooppunt.

  13. Bewerk het <RibbonDiffXml> knooppunt om het specifieke <CommandDefinition> knooppunt te verwijderen met de id van de opdracht die u wilt verwijderen. Zorg ervoor dat u niet onbedoeld andere <CommandDefinition> knooppunten verwijdert die mogelijk aanwezig zijn. (Op basis van het voorbeeld verwijdert u het <CommandDefinition> knooppunt waarin de id zich bevindt Mscrm.DeletePrimaryRecord.)

    Schermopname van het knooppunt CommandDefinition verwijderen.

  14. Sla het customizations.xml bestand op.

  15. Herstel het gewijzigde customizations.xml-bestand naar de oplossing .zip bestand.

  16. Importeer het oplossingsbestand.

  17. Selecteer Alle aanpassingen publiceren.

De opdracht bevindt zich op het toepassingslint (van toepassing op Alle entiteiten)

Als de opdracht niet entiteitsspecifiek is, maar in plaats daarvan van toepassing is op Alle entiteiten die zijn gedeclareerd op het toepassingslint, zijn de stappen als volgt enigszins anders:

  1. Open Geavanceerde instellingen.
  2. Navigeer naar Instellingen>Oplossingen.
  3. Selecteer Nieuw om een nieuwe oplossing te maken en stel Publisher in op de waarde die wordt weergegeven in de oplossingslagen van Command Checker voor de opdracht en de laag Actieve oplossing.
  4. Selecteer Clientextensies>Bestaande>toepassingslints toevoegen.
  5. Selecteer Opslaan.
  6. Selecteer Oplossing exporteren en exporteer de onbeheerde oplossing.
  7. Pak het .zip-bestand uit.
  8. Open het bestand customizations.xml .
  9. Zoek het hoofdknooppunt <RibbonDiffXml> .
  10. Zoek het <CommandDefinition> knooppunt.
  11. Bewerk het <RibbonDiffXml>en verwijder het <CommandDefinition> knooppunt met de id van de opdracht die u wilt verwijderen. Zorg ervoor dat u niet onbedoeld andere <CommandDefinition> knooppunten verwijdert die mogelijk aanwezig zijn.
  12. Sla het customizations.xml bestand op.
  13. Herstel het gewijzigde customizations.xml-bestand naar de gecomprimeerde oplossing .zip bestand.
  14. Importeer het oplossingsbestand.
  15. Selecteer Alle aanpassingen publiceren.
De opdracht is afkomstig van een door aangepast beheerde oplossing die door mijn bedrijf is geschreven.

Als u een opdracht wilt verwijderen die is geïnstalleerd door een aangepaste beheerde oplossing die u hebt gemaakt, voert u de volgende stappen uit:

  1. Voer in uw afzonderlijke ontwikkelingsorganisatie met de niet-beheerde bronversie van uw aangepaste oplossing de bovenstaande stappen uit voor de opdracht De opdracht bevindt zich in de optie onbeheerde actieve oplossing .
  2. Verhoog de versie van uw aangepaste oplossing.
  3. Oplossing exporteren als beheerd.
  4. Importeer in uw afzonderlijke betrokken organisatie deze nieuwe versie van uw aangepaste beheerde oplossing.
De opdracht is afkomstig van een aangepast beheerde oplossing die mijn bedrijf niet heeft gemaakt (van derde deel of ISV).

Als u een opdracht wilt verwijderen die is geïnstalleerd door een aangepaste beheerde oplossing die is gemaakt door een derde partij of ISV, moet u contact opnemen met de auteur van de oplossing om een nieuwe versie van de oplossing aan te vragen waarop de specifieke opdrachtdefinitie is verwijderd en deze nieuwe oplossing vervolgens in uw getroffen organisatie te installeren.

Optie 2: De javaScriptFunction-declaratie van de opdracht herstellen
De opdracht bevindt zich in de onbeheerde actieve oplossing.

Als u een opdracht in de laag Actieve onbeheerde oplossing wilt herstellen, exporteert u een onbeheerde oplossing die de entiteit of het toepassingslint bevat, bewerkt u het <RibbonDiffXml> knooppunt in het bestand customizations.xml en importeert u vervolgens een nieuwe versie van deze oplossing die de vaste opdrachtdefinitie bevat. Zie Exporteren, voorbereiden om het lint te bewerken en te importeren.

Waarschuwing

Verwijder Mscrm.HideOnModern de weergaveregel niet uit een opdracht om af te dwingen dat een knop wordt weergegeven in de Unified Interface. Opdrachten met de Mscrm.HideOnModern weergaveregel zijn bedoeld voor de verouderde webclientinterface en worden niet ondersteund in de Unified Interface en werken mogelijk niet correct.

De opdracht is entiteitsspecifiek

Op basis van het voorbeeldscenario hebt u vastgesteld dat de entiteit account is, de opdracht die moet worden opgelost, en Mscrm.DeletePrimaryRecorddeze wordt gedeclareerd in de laag Actieve onbeheerde oplossing van een uitgever met de naam DefaultPublisherCITTest.

  1. Open Geavanceerde instellingen.

  2. Navigeer naar Instellingen>Oplossingen.

  3. Selecteer Nieuw om een nieuwe oplossing te maken en stel Publisher in op de waarde die wordt weergegeven in de oplossingslagen van Command Checker voor de opdracht en de laag Actieve oplossing. (In het voorbeeld is ditDefaultPublisherCITTest.)

  4. Selecteer Entiteiten>bestaande toevoegen.

  5. Selecteer de entiteit waarvoor uw opdracht is gedefinieerd (in het voorbeeld is dit account) en selecteer vervolgens OK.

  6. Zorg ervoor dat u de metagegevens van de entiteit Opnemen wist en alle opties voor assets toevoegt voordat u Voltooien selecteert.

  7. Selecteer Opslaan.

  8. Selecteer Oplossing exporteren en exporteer de onbeheerde oplossing.

  9. Pak het .zip-bestand uit.

  10. Open het bestand customizations.xml .

  11. Zoek het <Entity> onderliggende knooppunt van het entiteitsknooppunt dat u wilt bewerken en zoek het onderliggende <RibbonDiffXml> knooppunt.

  12. Zoek het <CommandDefinition> knooppunt. (In het voorbeeld is Mscrm.DeletePrimaryRecordde id van het <CommandDefinition> knooppunt. Daarom zoekt u het volgende knooppunt.)

    Schermopname van de locatie van het voorbeeldknooppunt CommandDefinition.

  13. Bewerk het <RibbonDiffXml> knooppunt en breng de benodigde wijzigingen aan in het <CommandDefinition> knooppunt waarmee de opdracht correct functioneert onder de juiste omstandigheden om de opdracht op te lossen. Zie Lintopdrachten definiëren en Lintacties definiëren voor meer informatie over het declareren van opdrachten. (Op basis van het voorbeeld wijzigt u de <CommandDefinition> knooppunten JavaScriptFunction door de FunctionName waarde in te stellen op XrmCore.Commands.Delete.deletePrimaryRecord.)

    Schermopname om de JavaScriptFunction van het CommandDefinition-knooppunt te wijzigen door de waarde FunctionName in te stellen.

  14. Herstel het gewijzigde customizations.xml-bestand naar de oplossing .zip bestand.

  15. Importeer het oplossingsbestand.

  16. Selecteer Alle aanpassingen publiceren.

De opdracht bevindt zich op het toepassingslint (van toepassing op Alle entiteiten)

Als de opdracht niet entiteitsspecifiek is, maar in plaats daarvan van toepassing is op Alle entiteiten die zijn gedeclareerd op het toepassingslint, zijn de stappen als volgt enigszins anders:

  1. Open Geavanceerde instellingen.
  2. Navigeer naar Instellingen>Oplossingen.
  3. Selecteer Nieuw om een nieuwe oplossing te maken en stel Publisher in op de waarde die wordt weergegeven in de oplossingslagen van Command Checker voor de opdracht en de laag Actieve oplossing.
  4. Selecteer Clientextensies>Bestaande>toepassingslints toevoegen.
  5. Selecteer Opslaan.
  6. Selecteer Oplossing exporteren en exporteer de onbeheerde oplossing.
  7. Pak het .zip-bestand uit.
  8. Open het bestand customizations.xml .
  9. Zoek het hoofdknooppunt <RibbonDiffXml> .
  10. Zoek de <CommandDefinition>.
  11. Bewerk het <RibbonDiffXml> knooppunt om de benodigde wijzigingen aan te brengen in het <CommandDefinition> knooppunt waarmee de opdracht correct functioneert onder de juiste omstandigheden om de opdracht te herstellen. Zie Lintopdrachten definiëren en Lintacties definiëren voor meer informatie over het declareren van opdrachten.
  12. Sla het customizations.xml bestand op.
  13. Herstel het gewijzigde customizations.xml-bestand naar de gecomprimeerde oplossing .zip bestand.
  14. Importeer het oplossingsbestand.
  15. Selecteer Alle aanpassingen publiceren.
De opdracht is afkomstig van een door aangepast beheerde oplossing die ik heb gemaakt.

Als u een opdracht wilt herstellen die is geïnstalleerd door een door aangepast beheerde oplossing die u hebt gemaakt, voert u de volgende stappen uit:

  1. Voer in uw afzonderlijke ontwikkelingsorganisatie met de niet-beheerde bronversie van uw aangepaste oplossing de bovenstaande stappen uit voor de opdracht De opdracht bevindt zich in de optie onbeheerde actieve oplossing .
  2. Verhoog de versie van uw aangepaste oplossing.
  3. Oplossing exporteren als beheerd.
  4. Importeer in uw afzonderlijke betrokken organisatie deze nieuwe versie van uw aangepaste beheerde oplossing.
De opdracht is afkomstig van een aangepaste beheerde oplossing die ik niet heb gemaakt of die mijn organisatie niet bezit (van een derde partij/ISV).

Als u een opdracht wilt herstellen die is geïnstalleerd door een aangepaste beheerde oplossing die is gemaakt door een derde partij of ISV, moet u contact opnemen met de auteur van de oplossing om een nieuwe versie van de oplossing aan te vragen die de vaste opdrachtdefinitie bevat en deze nieuwe oplossing in uw betrokken organisatie te installeren.

Er wordt een scriptfout weergegeven: 'Ongeldige JavaScript-actiebibliotheek'](#tab/error)

Een knop herstellen die een fout weergeeft wanneer deze is geselecteerd

Als een opdrachtbalkknop op het lint is geselecteerd en er een fout optreedt, wordt de fout meestal veroorzaakt door onjuiste aanpassingen van lintopdrachten.

Scriptfout 'Ongeldige JavaScript-actiebibliotheek' opgelost

Mogelijk ontvangt u een scriptfout die er ongeveer als volgt uitziet:

Ongeldige JavaScript-actiebibliotheek: [scriptnaam] is geen webresource en wordt niet ondersteund.

Schermopname van een voorbeeld van het scriptfoutbericht.

Dit wordt veroorzaakt door een ongeldige aanpassing van de lintopdracht die een onjuiste bibliotheek op de opdracht JavaScriptFunctionheeft gedeclareerd.

  1. Schakel opdrachtcontrole in en selecteer de opdrachtknop die u wilt controleren.

  2. In het volgende voorbeeld ziet u de knop Nieuw op de formulierpagina van de accountentiteit en wordt vertegenwoordigd door een item met het label Nieuw.

    Schermopname van de knop Nieuw op de formulierpagina van de accountentiteit.

  3. Selecteer het tabblad Opdrachteigenschappen om de details van de opdracht voor deze knop weer te geven. Hiermee worden de declaratie Actions en JavaScriptFunction weergegeven en worden de regels in- of weergegeven, samen met het resultaat (Waar, Onwaar, Overgeslagen) van elke regelevaluatie.

    Vouw JavaScriptFunction uit door het pictogram dubbele punthaak te selecteren om de details van de functiedeclaratie weer te geven. De eigenschap Bibliotheek moet een JavaScript-webresource zijn en moet worden voorafgegaan door $webresource:. In het volgende voorbeeld ziet u dat de eigenschap Bibliotheek _/_static/common/scripts/RibbonActions.js is. Dit is geen pad naar een geldige JavaScript-webresource. Controleer vervolgens de oplossingslagen van de opdracht om de juiste waarde te identificeren om het probleem op te lossen.

    Schermopname van een voorbeeld van de eigenschap Bibliotheek.

  4. Selecteer de koppeling Oplossingslagen voor opdrachtdefinities weergeven onder de opdrachtnaam om de oplossingen weer te geven die een definitie van de opdracht hebben geïnstalleerd.

    Schermopname van de koppeling oplossingslagen voor opdrachtdefinities weergeven onder de opdrachtnaam.

  5. In het deelvenster Oplossingslagen wordt de gelaagdheid weergegeven van elke lintonderdeeldefinitie die een bepaalde oplossing heeft geïnstalleerd. De laag boven aan de lijst is de huidige definitie die door de toepassing wordt gebruikt, de andere lagen zijn inactief en worden momenteel niet door de toepassing gebruikt. Als de belangrijkste oplossing wordt verwijderd of als er een bijgewerkte versie wordt geïnstalleerd waarmee de definitie wordt verwijderd, wordt de volgende laag de huidige actieve definitie die door de toepassing wordt gebruikt. Wanneer een niet-beheerde actieve oplossingslaag aanwezig is, is dit altijd de definitie die de toepassing gebruikt. Als er geen actieve oplossing wordt vermeld, wordt de oplossing boven aan de lijst de definitie die door de toepassing wordt gebruikt. Aangepaste beheerde oplossingen die niet door Microsoft worden gepubliceerd, hebben ook voorrang op door Microsoft gepubliceerde oplossingslagen.

    De entiteitscontext geeft aan dat het object waarop de aanpassing van het lint is ingeschakeld, als 'Alle entiteiten' wordt vermeld, de laag afkomstig is van de clientextensies van het toepassingslint en niet van de entiteit, anders wordt de logische naam van de entiteit weergegeven.

    Wanneer er twee of meer lagen zijn, kunt u twee rijen selecteren en Vergelijken selecteren om een vergelijking weer te geven van de definities die door elke oplossing zijn aangebracht.

    Als u Terug selecteert, keert u terug naar het vorige opdrachtcontrolevenster.

    In de volgende afbeelding ziet u de oplossingslagen voor de opdracht in het voorbeeld en wordt aangegeven dat er twee oplossingslagen zijn. Een daarvan is een onbeheerde aanpassing, zoals aangegeven door de oplossing Actief en de andere is afkomstig van de systeemoplossing die door Microsoft is gepubliceerd. Uw werkelijke scenario kan verschillen, u hebt mogelijk geen actieve oplossingslaag, mogelijk hebt u een beheerde oplossing en de naam van die oplossing wordt hier vermeld.

    Selecteer de bovenste twee rijen en selecteer Vergelijken om een vergelijking weer te geven van de definities die door elke oplossing zijn binnengebracht. Als u slechts één oplossingslaag hebt, slaat u deze stap over.

    Schermopname om de bovenste twee rijen te selecteren en de optie Vergelijken te selecteren om een vergelijking van de definities weer te geven.

  6. De vergelijking tussen opdrachtdefinities toont eventuele verschillen tussen de twee lagen. In het volgende voorbeeld ziet u duidelijk dat de waarde van de bibliotheek anders is. De niet-beheerde vermelding van de actieve oplossing is ingesteld op een onjuist pad _/_static/common/scripts/RibbonActions.js (uw specifieke pad kan enigszins afwijken) en de standaarddefinitie van Microsoft heeft de bibliotheek $webresoure:Main_system_library.jsingesteld op . Dit is een ondersteund pad voor deze specifieke opdracht (deze waarde kan afwijken, afhankelijk van uw specifieke opdracht). Het enige ondersteunde pad is een pad dat begint met $webresource: en eindigt met de naam van een geldige JavaScript-webresource.

    Schermopname van een voorbeeld waarin de bibliotheekwaarde verschilt.

  7. Nu u de oplossingslagen hebt bekeken en de oplossing hebt bepaald die de aanpassing heeft geïnstalleerd, moet u de definitie in de juiste oplossing herstellen.

Selecteer een van de volgende opties die overeenkomen met uw specifieke scenario:

De opdracht bevindt zich in de onbeheerde actieve oplossing.

De methode voor het oplossen van de opdracht varieert, afhankelijk van of uw definitie de enige is, of dat er andere inactieve definities zijn en of de wijzigingen opzettelijk zijn.

Selecteer de optie die uw scenario weerspiegelt:

  • De opdracht heeft geen opzettelijke wijzigingen en ik wil deze aangepaste laag verwijderen.

    Als u een opdracht wilt verwijderen in de laag Actieve onbeheerde oplossing, exporteert u een onbeheerde oplossing die de entiteit of het toepassingslint bevat, bewerkt u het <RibbonDiffXml> knooppunt in het customizations.xml bestand en importeert u vervolgens een nieuwe versie van deze oplossing waarin deze opdracht is verwijderd om het onderdeel te verwijderen. Zie Exporteren, voorbereiden om het lint te bewerken en te importeren.

    De opdracht is entiteitsspecifiek

    Op basis van het voorbeeldscenario hebt u vastgesteld dat de entiteit account is, de opdracht die moet worden verwijderd, en Mscrm.NewRecordFromFormdeze wordt gedeclareerd in de laag Actieve onbeheerde oplossing van een uitgever met de naam DefaultPublisherCITTest.

    1. Open Geavanceerde instellingen.

    2. Navigeer naar Instellingen>Oplossingen.

    3. Selecteer Nieuw om een nieuwe oplossing te maken en stel Publisher in op de waarde die wordt weergegeven in de oplossingslagen van Command Checker voor de opdracht en de laag Actieve oplossing. (In het voorbeeld is ditDefaultPublisherCITTest.)

    4. Selecteer Entiteiten>bestaande toevoegen.

    5. Selecteer de entiteit waarvoor uw opdracht is gedefinieerd. (In het voorbeeld is dit account) en selecteert u OK.

    6. Zorg ervoor dat u de metagegevens van de entiteit Opnemen wist en alle opties voor assets toevoegt voordat u Voltooien selecteert.

    7. Selecteer Opslaan.

    8. Selecteer Oplossing exporteren en exporteer de onbeheerde oplossing.

    9. Pak het .zip-bestand uit.

    10. Open het bestand customizations.xml .

    11. Zoek het <Entity> onderliggende knooppunt van het entiteitsknooppunt dat u wilt bewerken en zoek het onderliggende <RibbonDiffXml> knooppunt.

    12. Zoek het <CommandDefinition> knooppunt (in het voorbeeld is Mscrm.NewRecordFromFormde id van het <CommandDefinition> knooppunt. Daarom zoekt u het volgende knooppunt.)

      Schermopname van de locatie van het CommandDefinition-knooppunt.

    13. Bewerk het <RibbonDiffXml> knooppunt om het specifieke <CommandDefinition> knooppunt te verwijderen. Zorg ervoor dat u niet onbedoeld andere <CommandDefinition> knooppunten verwijdert die mogelijk aanwezig zijn. (Op basis van het voorbeeld verwijdert u het <CommandDefinition> knooppunt waarin de id zich bevindt Mscrm.NewRecordFromForm.)

      Schermopname van een voorbeeld voor het verwijderen van het CommandDefinition-knooppunt.

    14. Sla het customizations.xml bestand op.

    15. Herstel het gewijzigde customizations.xml-bestand naar de oplossing .zip bestand.

    16. Importeer het oplossingsbestand.

    17. Selecteer Alle aanpassingen publiceren.

    De opdracht bevindt zich op het toepassingslint (van toepassing op Alle entiteiten)

    Als de opdracht niet entiteitsspecifiek is, maar in plaats daarvan van toepassing is op Alle entiteiten die zijn gedeclareerd op het toepassingslint, zijn de stappen als volgt enigszins anders:

    1. Open Geavanceerde instellingen.
    2. Navigeer naar Instellingen>Oplossingen.
    3. Selecteer Nieuw om een nieuwe oplossing te maken en stel Publisher in op de waarde die wordt weergegeven in de oplossingslagen van Command Checker voor de opdracht en de laag Actieve oplossing.
    4. Selecteer Clientextensies>Bestaande>toepassingslints toevoegen.
    5. Selecteer Opslaan.
    6. Selecteer Oplossing exporteren en exporteer de onbeheerde oplossing.
    7. Pak het .zip-bestand uit.
    8. Open het bestand customizations.xml .
    9. Zoek het hoofdknooppunt <RibbonDiffXml> .
    10. Zoek het <CommandDefinition> knooppunt.
    11. Bewerk <RibbonDiffXml> dit om het <CommandDefinition> knooppunt te verwijderen met de overeenkomende id van de opdracht die u wilt verwijderen. Zorg ervoor dat u niet onbedoeld andere <CommandDefinition> knooppunten verwijdert die mogelijk aanwezig zijn.
    12. Sla het customizations.xml bestand op.
    13. Herstel het gewijzigde customizations.xml-bestand naar de gecomprimeerde oplossing .zip bestand.
    14. Importeer het oplossingsbestand.
    15. Selecteer Alle aanpassingen publiceren.
  • De opdracht bevat aanvullende wijzigingen die ik wil behouden en ik wil deze oplossingslaag herstellen.

    Als u een opdracht in de laag Actieve onbeheerde oplossing wilt herstellen, exporteert u een onbeheerde oplossing met de entiteit of het toepassingslint en bewerkt u het <RibbonDiffXml> knooppunt in het customizations.xml bestand en importeert u vervolgens een nieuwe versie van deze oplossing met de definitie van de vaste opdracht. Zie Exporteren, voorbereiden om het lint te bewerken en te importeren.

    Waarschuwing

    Verwijder Mscrm.HideOnModern de weergaveregel niet uit een opdracht om af te dwingen dat een knop wordt weergegeven in de Unified Interface. Opdrachten met de Mscrm.HideOnModern weergaveregel zijn bedoeld voor de verouderde webclientinterface en worden niet ondersteund in de Unified Interface en werken mogelijk niet correct.

    De opdracht is entiteitsspecifiek

    Op basis van het voorbeeldscenario hebt u vastgesteld dat de entiteit account is, de opdracht die moet worden opgelost, en Mscrm.NewRecordFromFormdeze wordt gedeclareerd in de laag Actieve onbeheerde oplossing van een uitgever met de naam DefaultPublisherCITTest.

    1. Open Geavanceerde instellingen.

    2. Navigeer naar Instellingen>Oplossingen.

    3. Selecteer Nieuw om een nieuwe oplossing te maken en stel Publisher in op de waarde die wordt weergegeven in de oplossingslagen van Command Checker voor de opdracht en de laag Actieve oplossing. (In het voorbeeld is ditDefaultPublisherCITTest.)

    4. Selecteer Entiteiten>bestaande toevoegen.

    5. Selecteer de entiteit waarvoor uw opdracht is gedefinieerd (in het voorbeeld is dit account) en selecteer vervolgens OK.

    6. Zorg ervoor dat u de metagegevens van de entiteit Opnemen wist en alle opties voor assets toevoegt voordat u Voltooien selecteert.

    7. Selecteer Opslaan.

    8. Selecteer Oplossing exporteren en exporteer de onbeheerde oplossing.

    9. Pak het .zip-bestand uit.

    10. Het customizations.xml-bestand openen

    11. Zoek het <Entity> onderliggende knooppunt van het entiteitsknooppunt dat u wilt bewerken en zoek het onderliggende <RibbonDiffXml> knooppunt.

    12. Zoek het <CommandDefinition> knooppunt. (In het voorbeeld is Mscrm.NewRecordFromFormde id van het <CommandDefinition> knooppunt. Daarom zoekt u het volgende knooppunt.)

      Schermopname van de locatie van het CommandDefinition-knooppunt waarvan de id Mscrm.NewRecordFromForm is.

    13. Bewerk <RibbonDiffXml> om de benodigde wijzigingen aan te brengen in het <CommandDefinition> knooppunt waarmee de opdracht correct functioneert onder de juiste omstandigheden om de opdracht op te lossen. Zie Lintopdrachten definiëren en Lintacties definiëren voor meer informatie over het declareren van opdrachten. (Op basis van het voorbeeld wijzigt u het knooppunt door de <CommandDefinition> instelling in te stellen Library="$webresoure:Main_system_library.js"en controleert u of de FunctionName waarde overeenkomt. In het voorbeeld zou FunctionName="XrmCore.Commands.Open.openNewRecord"dat .)

      Schermopname om het knooppunt CommandDefinition te wijzigen en zorg ervoor dat de FunctionName-waarde overeenkomt.

    14. Sla het customizations.xml bestand op.

    15. Herstel het gewijzigde customizations.xml-bestand naar de oplossing .zip bestand.

    16. Importeer het oplossingsbestand.

    17. Selecteer Alle aanpassingen publiceren.

    De opdracht bevindt zich op het toepassingslint (van toepassing op Alle entiteiten)

    Als de opdracht niet entiteitsspecifiek is, is deze eerder van toepassing op Alle entiteiten die zijn gedeclareerd op het toepassingslint, zijn de stappen als volgt enigszins anders:

    1. Open Geavanceerde instellingen.
    2. Navigeer naar Instellingen>Oplossingen.
    3. Selecteer Nieuw om een nieuwe oplossing te maken en stel Publisher in op de waarde die wordt weergegeven in de oplossingslagen van Command Checker voor de opdracht en de laag Actieve oplossing.
    4. Selecteer Clientextensies>Bestaande>toepassingslints toevoegen.
    5. Selecteer Opslaan.
    6. Selecteer Oplossing exporteren en exporteer de onbeheerde oplossing.
    7. Pak het .zip-bestand uit.
    8. Open het bestand customizations.xml .
    9. Zoek het hoofdknooppunt <RibbonDiffXml> .
    10. Zoek het <CommandDefinition> knooppunt.
    11. Bewerk het <RibbonDiffXml> knooppunt om de benodigde wijzigingen aan te brengen in het <CommandDefinition> knooppunt waarmee de opdracht correct functioneert onder de juiste omstandigheden om de opdracht te herstellen. Zie Lintopdrachten definiëren en Lintacties definiëren voor meer informatie over het declareren van opdrachten.
    12. Sla het customizations.xml bestand op.
    13. Herstel het gewijzigde customizations.xml-bestand naar de gecomprimeerde oplossing .zip bestand.
    14. Importeer het oplossingsbestand.
    15. Selecteer Alle aanpassingen publiceren.
De opdracht is afkomstig van een door aangepast beheerde oplossing die ik heb gemaakt.

Als u een opdracht wilt herstellen die is geïnstalleerd door een door aangepast beheerde oplossing die u hebt gemaakt, voert u de volgende stappen uit:

  1. Voer in uw afzonderlijke ontwikkelingsorganisatie met de niet-beheerde bronversie van uw aangepaste oplossing de bovenstaande stappen uit voor de opdracht De opdracht bevindt zich in de optie onbeheerde actieve oplossing .
  2. Verhoog de versie van uw aangepaste oplossing.
  3. Oplossing exporteren als beheerd.
  4. Importeer in uw afzonderlijke betrokken organisatie deze nieuwe versie van uw aangepaste beheerde oplossing.
De opdracht is afkomstig van een door aangepast beheerde oplossing die ik niet heb gemaakt of die mijn organisatie niet bezit (van een derde partij of ISV).

Als u een opdracht wilt herstellen die is geïnstalleerd door een aangepaste beheerde oplossing die is gemaakt door een derde partij of ISV, moet u contact opnemen met de auteur van de oplossing om een nieuwe versie van de oplossing aan te vragen die de definitie van de vaste opdracht bevat en deze nieuwe oplossing vervolgens installeren in uw betrokken organisatie.

De opdracht bevindt zich in een door Microsoft gepubliceerde beheerde oplossing.

Als u een opdracht wilt herstellen die is geïnstalleerd door een door Microsoft gepubliceerde beheerde oplossing, moet u mogelijk een nieuwere versie van de oplossing installeren. Dit wordt meestal gedaan tijdens een release-update. Het is mogelijk dat u een bug hebt geïdentificeerd die nog moet worden opgelost. Neem contact op met de klantondersteuning voor hulp.