Partilhar via


Um botão na barra de comandos não está funcionando corretamente no Power Apps

Aplica-se a: Power Apps
Número de KB original: 4552163

Determinar por que um botão não está funcionando corretamente

Vários fatores podem fazer com que uma ação de botão falhe. Elas incluem personalizações de faixa de opções inválidas nas quais a definição de comando associada do botão é declarada incorretamente.

Aviso

Não remova a Mscrm.HideOnModern regra de exibição de um comando para forçar um botão a aparecer na Interface Unificada. Os comandos que têm a Mscrm.HideOnModern regra de exibição são destinados à interface herdada do Cliente Web e não têm suporte na Interface Unificada. Portanto, eles podem não funcionar corretamente.

Se um comando não for declarado corretamente, selecionar um botão pode não fazer nada ou exibir uma mensagem de erro.

Selecione uma das opções a seguir que melhor corresponda à sua situação para nos ajudar a fornecer a melhor resolução. A primeira guia é selecionada por padrão.

Corrigir um botão que não faz nada quando selecionado

Quando um botão é selecionado e nada ocorre, isso normalmente é causado por uma configuração incorreta do comando associado ao botão.

A seguir estão erros típicos de configuração de comando que são cometidos ao declarar o JavaScriptFunction valor da ação. Esses erros podem causar um mau funcionamento de um botão e parecer que ele não faz nada quando selecionado.

  • FunctionName Inválido: o nome da função JavaScript não corresponde a um nome de função válido no recurso Web JavaScript atribuído à propriedade Library.
  • Biblioteca Inválida: esse caminho não está se referindo a um recurso Web JavaScript válido ou não está prefixado com $webresource:.
  • Parâmetros ausentes: a função JavaScript está esperando parâmetros específicos e a definição de comando não os declara.
  • Tipo ou ordem de parâmetro incorreto: os parâmetros são declarados usando um tipo incorreto ou estão em uma ordem diferente daquela em que estão listados na declaração de função JavaScript.

Consulte Definir ações de faixa de opções para obter mais ajuda de configuração.

Se essas configurações estiverem corretas, um erro de código JavaScript poderá ser a causa. Se a função JavaScript personalizada estiver codificada incorretamente e não invocar o comportamento esperado, o botão não funcionará conforme o esperado. Se você encontrar um dos erros de configuração listados, corrija a definição de comando para resolve o problema. Caso contrário, talvez seja necessário depurar e corrigir o código de função JavaScript para fazer o botão funcionar corretamente.

Identifique qual é o comando do botão e qual solução instalou a má definição.

  1. Habilite o verificador de comando e selecione o botão de comando para inspecionar.

  2. Selecione a guia Propriedades de Comando para exibir os detalhes do comando para este botão.

    Captura de tela da guia Propriedades de Comando de um botão.

  3. A guia Propriedades de comando exibe as ações e a configuração correspondente JavaScriptFunction . Selecione o link Exibir camadas de solução de definição de comando abaixo do nome do comando para exibir as soluções que instalaram uma definição do comando.

    Captura de tela do link Exibir camadas de solução de definição de comando abaixo de um nome de comando.

  4. O painel Camadas de Solução exibe a camada de cada definição de componente de faixa de opções que uma solução específica instalou. A camada na parte superior da lista é a definição atual usada pelo aplicativo. As outras camadas estão inativas e não são usadas pelo aplicativo no momento. Se a solução superior estiver desinstalada ou uma versão atualizada for instalada que remova a definição, a próxima camada se tornará a definição ativa atual usada pelo aplicativo. Se uma camada de solução Active não gerenciada estiver presente, sempre será a definição que o aplicativo usa. Se não houver nenhuma solução Ativa listada, a solução listada na parte superior da lista será a definição usada pelo aplicativo. Todas as soluções gerenciadas personalizadas que não são publicadas pela Microsoft também terão precedência sobre camadas de solução publicadas pela Microsoft.

    O contexto Entity indica o objeto no qual a personalização da faixa de opções está ativada. Se "Todas as Entidades" estiver listada, a camada será das extensões de cliente da Faixa de Opções de Aplicativo e não de entidade específica. Caso contrário, o nome lógico da entidade será listado.

    Quando houver duas ou mais camadas, você pode selecionar duas linhas e selecionar Comparar para exibir uma comparação das definições fornecidas por cada solução.

    Selecionar Voltar retorna você para a janela anterior do Verificador de Comandos.

    Se houver apenas uma camada de solução, vá para a etapa 8. Caso contrário, selecione as duas principais camadas de solução. (Se você tiver uma camada na solução Active, mas ela não estiver listada na parte superior, selecione a camada de solução Ativa e, em seguida, a linha superior.) Em seguida, selecione Comparar.

    Captura de tela para selecionar as duas principais camadas de solução e selecionar a opção Comparar.

  5. A comparação da definição ativa atual e da definição inativa anterior são exibidas e mostrarão as diferenças, se houver. O exemplo a seguir mostra que a definição ativa não gerenciada foi personalizada especificando o FunctionName valor incorretamente, em comparação com a outra definição inativa na camada de solução do Sistema publicada pela Microsoft. FunctionName Espera-se que o valor seja XrmCore.Commands.Delete.deletePrimaryRecord, mas a definição personalizada declarou FunctionName="deletePrimaryRecord". Nesse caso, nada ocorrerá quando o botão for selecionado porque a função não pode ser encontrada.

    A captura de tela mostra a comparação da definição ativa atual e da definição inativa anterior.

  6. A abordagem necessária para corrigir a funcionalidade de ação de um botão dependerá das várias personalizações em seu cenário específico. Considerando o exemplo, o comando foi personalizado especificando um valor incorreto FunctionName . Você pode modificar a versão personalizada do comando e corrigir o FunctionName valor. Como essa é uma substituição personalizada de uma definição publicada pela Microsoft e não há outras modificações intencionais, recomendamos que você exclua essa versão personalizada do comando para restaurar a funcionalidade padrão.

Selecione uma das seguintes opções de reparo.

Opção 1: excluir o comando que tem a declaração javaScriptFunction incorreta
O comando está na solução Active não gerenciada.

Para excluir um comando na camada de solução não gerenciada do Active , você exportará uma solução não gerenciada contendo a entidade ou o Application Ribbon e editará o <RibbonDiffXml> nó no arquivo customizations.xml e importará uma nova versão dessa solução em que esse comando foi removido para excluir o componente. Consulte Exportar, preparar para editar e importar a faixa de opções.

O comando é específico da entidade

Com base no cenário de exemplo, você determinou que a entidade é conta, o comando que precisa ser excluído é Mscrm.DeletePrimaryRecord, e é declarado na camada de solução não gerenciada ativa de um editor chamado DefaultPublisherCITTest.

  1. Abra Configurações Avançadas.

  2. Navegue até Soluções de Configurações>.

  3. Selecione Novo para criar uma nova solução e defina Publisher como o valor mostrado nas camadas de solução do Verificador de Comando listando para o comando e a camada de solução Ativa. (No exemplo, este é DefaultPublisherCITTest.)

  4. Selecione Entidades>adicionar existentes.

  5. Selecione a entidade na qual seu comando está definido (no exemplo, esta é "conta") e selecione OK.

  6. Certifique-se de limpar os metadados Incluir entidade e Adicionar todas as opções de ativos antes de selecionar Concluir.

  7. Selecione Salvar.

  8. Selecione Exportar solução e exporte a solução não gerenciada.

  9. Extraia o arquivo .zip.

  10. Abra o arquivo customizations.xml .

  11. Localize o <Entity> nó filho do nó de entidade que você deseja editar e localize seu nó filho <RibbonDiffXml> .

  12. Localize o <CommandDefinition> nó. (No exemplo, a ID do <CommandDefinition> nó é Mscrm.DeletePrimaryRecord. Portanto, você localizaria o nó a seguir.)

    A captura de tela mostra o local do nó CommandDefinition.

  13. Edite o <RibbonDiffXml> nó para remover o nó específico <CommandDefinition> que tem a ID do comando que você deseja excluir. Certifique-se de que você não exclua involuntariamente outros <CommandDefinition> nós que possam estar presentes. (Com base no exemplo, você excluiria o <CommandDefinition> nó no qual a ID é Mscrm.DeletePrimaryRecord.)

    Captura de tela para excluir o nó CommandDefinition.

  14. Salve o arquivo customizations.xml .

  15. Restaure o arquivo decustomizations.xml modificado para o arquivo de .zip da solução.

  16. Importe o arquivo da solução.

  17. Selecione Publicar Todas as Personalizações.

O comando está na Faixa de Opções de Aplicativo (se aplica a "Todas as entidades")

Se o comando não for específico da entidade, mas, em vez disso, for aplicável a "Todas as Entidades" declaradas na Faixa de Opções de Aplicativo, as etapas serão ligeiramente diferentes, da seguinte maneira:

  1. Abra Configurações Avançadas.
  2. Navegue até Soluções de Configurações>.
  3. Selecione Novo para criar uma nova solução e defina Publisher como o valor mostrado nas camadas de solução do Verificador de Comando listando para o comando e a camada de solução Ativa.
  4. Selecione Extensões de Cliente Adicionar Faixas>de Opções de Aplicativo Existentes>.
  5. Selecione Salvar.
  6. Selecione Exportar solução e exporte a solução não gerenciada.
  7. Extraia o arquivo .zip.
  8. Abra o arquivo customizations.xml .
  9. Localize o nó raiz <RibbonDiffXml> .
  10. Localize o <CommandDefinition> nó.
  11. Edite o <RibbonDiffXml>e remova o <CommandDefinition> nó que tem a ID do comando que você deseja excluir. Certifique-se de que você não exclua involuntariamente outros <CommandDefinition> nós que possam estar presentes.
  12. Salve o arquivo customizations.xml .
  13. Restaure o arquivo decustomizations.xml modificado para o arquivo .zip de solução compactada.
  14. Importe o arquivo da solução.
  15. Selecione Publicar Todas as Personalizações.
O comando é de uma solução gerenciada personalizada que minha empresa criou.

Para excluir um comando instalado por uma solução gerenciada personalizada que você criou, siga estas etapas:

  1. Em sua organização de desenvolvimento separada que tem a versão de origem não gerenciada de sua solução personalizada, conclua as etapas listadas acima para o comando está na opção de solução Active não gerenciada .
  2. Incremente a versão da solução personalizada.
  3. Exportar solução como gerenciada.
  4. Em sua organização afetada separada, importe esta nova versão da sua solução gerenciada sob medida.
O comando é de uma solução gerenciada personalizada que minha empresa não criou (de terceira parte ou ISV).

Para excluir um comando instalado por uma solução gerenciada personalizada que foi criada por terceiros ou ISV, você precisará entrar em contato com o autor da solução para solicitar uma nova versão da solução que tenha a definição de comando específica removida e instalar essa nova solução em sua organização afetada.

Opção 2: corrigir a declaração JavaScriptFunction de comando
O comando está na solução Active não gerenciada.

Para corrigir um comando na camada de solução não gerenciada do Active , você exportará uma solução não gerenciada que contém a entidade ou a faixa de opções de aplicativo, editará o <RibbonDiffXml> nó no arquivo customizations.xml e importará uma nova versão dessa solução que contém a definição de comando fixa. Consulte Exportar, preparar para editar e importar a faixa de opções.

Aviso

Não remova Mscrm.HideOnModern a regra de exibição de um comando para forçar um botão a aparecer na Interface Unificada. Os comandos que têm a Mscrm.HideOnModern regra de exibição são destinados à interface herdada do Cliente Web e não têm suporte na Interface Unificada e podem não funcionar corretamente.

O comando é específico da entidade

Com base no cenário de exemplo, você determinou que a entidade é conta, o comando que precisa ser corrigido é Mscrm.DeletePrimaryRecord, e é declarado na camada de solução não gerenciada do Active de um editor chamado DefaultPublisherCITTest.

  1. Abra Configurações Avançadas.

  2. Navegue até Soluções de Configurações>.

  3. Selecione Novo para criar uma nova solução e defina Publisher como o valor mostrado na lista de camadas de solução do Verificador de Comando para o comando e a camada de solução Ativa. (No exemplo, este é DefaultPublisherCITTest.)

  4. Selecione Entidades>adicionar existentes.

  5. Selecione a entidade na qual seu comando está definido (no exemplo, essa é a conta) e selecione OK.

  6. Certifique-se de limpar os metadados Incluir entidade e Adicionar todas as opções de ativos antes de selecionar Concluir.

  7. Selecione Salvar.

  8. Selecione Exportar solução e exporte a solução não gerenciada.

  9. Extraia o arquivo .zip.

  10. Abra o arquivo customizations.xml .

  11. Localize o <Entity> nó filho do nó de entidade que você deseja editar e localize seu nó filho <RibbonDiffXml> .

  12. Localize o <CommandDefinition> nó. (No exemplo, a ID do <CommandDefinition> nó é Mscrm.DeletePrimaryRecord. Portanto, você localizaria o nó a seguir.)

    A captura de tela mostra o local do nó CommandDefinition de exemplo.

  13. Edite o <RibbonDiffXml> nó e faça as alterações necessárias no <CommandDefinition> nó que permitirá que o comando funcione corretamente sob as circunstâncias corretas para corrigir o comando. Para obter mais informações sobre como declarar comandos, consulte Definir comandos de faixa de opções e Definir ações de faixa de opções. (Com base no exemplo, você modificaria o <CommandDefinition>JavaScriptFunction definindo o FunctionName valor como XrmCore.Commands.Delete.deletePrimaryRecord.)

    Captura de tela para modificar o JavaScriptFunction do nó CommandDefinition definindo o valor FunctionName.

  14. Restaure o arquivo decustomizations.xml modificado para o arquivo de .zip da solução.

  15. Importe o arquivo da solução.

  16. Selecione Publicar Todas as Personalizações.

O comando está na Faixa de Opções de Aplicativo (se aplica a "Todas as entidades")

Se o comando não for específico da entidade, mas, em vez disso, for aplicável a "Todas as Entidades" declaradas na Faixa de Opções de Aplicativo, as etapas serão ligeiramente diferentes, da seguinte maneira:

  1. Abra Configurações Avançadas.
  2. Navegue até Soluções de Configurações>.
  3. Selecione Novo para criar uma nova solução e defina Publisher como o valor mostrado nas camadas de solução do Verificador de Comando listando para o comando e a camada de solução Ativa.
  4. Selecione Extensões de Cliente Adicionar Faixas>de Opções de Aplicativo Existentes>.
  5. Selecione Salvar.
  6. Selecione Exportar solução e exportar a solução não gerenciada.
  7. Extraia o arquivo .zip.
  8. Abra o arquivo customizations.xml .
  9. Localize o nó raiz <RibbonDiffXml> .
  10. Localize o <CommandDefinition>.
  11. Edite o <RibbonDiffXml> nó para fazer as alterações necessárias no <CommandDefinition> nó que permitirá que o comando funcione corretamente sob as circunstâncias corretas para corrigir o comando. Para obter mais informações sobre como declarar comandos, consulte Definir comandos de faixa de opções e Definir ações de faixa de opções.
  12. Salve o arquivo customizations.xml .
  13. Restaure o arquivo decustomizations.xml modificado para o arquivo .zip de solução compactada.
  14. Importe o arquivo da solução.
  15. Selecione Publicar Todas as Personalizações.
O comando é de uma solução gerenciada personalizada que eu criei.

Para corrigir um comando instalado por uma solução gerenciada personalizada que você criou, siga estas etapas:

  1. Em sua organização de desenvolvimento separada que tem a versão de origem não gerenciada de sua solução personalizada, conclua as etapas listadas acima para o comando está na opção de solução Active não gerenciada .
  2. Incremente a versão da solução personalizada.
  3. Exportar solução como gerenciada.
  4. Em sua organização afetada separada, importe esta nova versão da sua solução gerenciada sob medida.
O comando é de uma solução gerenciada personalizada que eu não criei ou que minha organização não possui (de terceiros/ISV).

Para corrigir um comando instalado por uma solução gerenciada personalizada que foi criada por terceiros ou ISV, você precisará entrar em contato com o autor da solução para solicitar uma nova versão da solução que contém a definição de comando fixa e instalar essa nova solução em sua organização afetada.

Recebo mensagem de erro de script: "Biblioteca de Ação JavaScript Inválida"](#tab/error)

Corrigir um botão que exibe um erro quando selecionado

Se um botão de barra de comandos de faixa de opções for selecionado e ocorrer um erro, o erro normalmente será causado por personalizações incorretas de comando de faixa de opções.

Corrigir erro de script "Biblioteca de Ação JavaScript Inválida"

Você pode receber uma mensagem de erro de script que se assemelha ao seguinte:

Biblioteca de Ações JavaScript inválida: [nome do script] não é um recurso Web e não tem suporte.

A captura de tela mostra um exemplo da mensagem de erro de script.

Isso é causado por uma personalização de comando de faixa de opções inválida que declarou uma Biblioteca incorreta no comando JavaScriptFunction.

  1. Habilite o verificador de comando e selecione o botão de comando para inspecionar.

  2. O exemplo a seguir mostra que o botão Novo na página de formulário da entidade de conta está visível e é representado por um item rotulado como Novo.

    A captura de tela mostra o botão Novo na página de formulários da entidade da conta.

  3. Selecione a guia Propriedades de Comando para exibir os detalhes do comando para este botão. Isso exibirá a declaração Actions e JavaScriptFunction e qualquer habilitação ou exibição das regras junto com o resultado (True, False, Skipped) de cada avaliação de regra.

    Expanda JavaScriptFunction selecionando o ícone "chevron" para exibir os detalhes da declaração de função. A propriedade Library deve ser um recurso Web JavaScript e ser prefixada com $webresource:. O exemplo a seguir mostra que a propriedade Library é _/_static/common/scripts/RibbonActions.js. Este não é um caminho para um recurso Web JavaScript válido. Você deve examinar as camadas de solução do comando para tentar identificar o valor correto para corrigir o problema.

    A captura de tela mostra um exemplo da propriedade Library.

  4. Selecione o link Exibir camadas de solução de definição de comando abaixo do nome do comando para exibir as soluções que instalaram uma definição do comando.

    Captura de tela do link Exibir camadas de solução de definição de comando abaixo do nome do comando.

  5. O painel Camadas de Solução exibirá a camada de cada definição de componente de faixa de opções que uma solução específica instalou. A camada na parte superior da lista é a definição atual usada pelo aplicativo, as outras camadas estão inativas e não são usadas pelo aplicativo no momento. Se a solução superior estiver desinstalada ou uma versão atualizada for instalada que remova a definição, a próxima camada se tornará a definição ativa atual usada pelo aplicativo. Quando uma camada de solução Active não gerenciada estiver presente, sempre será a definição que o aplicativo usa. Se não houver nenhuma solução Ativa listada, a solução listada na parte superior da lista será a definição usada pelo aplicativo. Todas as soluções gerenciadas personalizadas que não são publicadas pela Microsoft também terão precedência sobre camadas de solução publicadas pela Microsoft.

    O contexto Entity indica o objeto em que a personalização da faixa de opções está, se "Todas as Entidades" estiver listada, a camada será das extensões de cliente da Application Ribbon e não da entidade específica, caso contrário, o nome lógico da entidade será listado.

    Quando houver duas ou mais camadas, você pode selecionar duas linhas e selecionar Comparar para exibir uma comparação das definições trazidas por cada solução.

    Selecionar Voltar retornará à janela anterior do Verificador de Comandos.

    A imagem a seguir mostra as camadas de solução para o comando no exemplo e indica que há duas camadas de solução e uma é uma personalização não gerenciada, conforme indicado pela solução intitulada Active e a outra é da solução System publicada pela Microsoft. Seu cenário real pode ser diferente, talvez você não tenha uma camada de solução Ativa, talvez tenha uma solução gerenciada e o nome dessa solução será listado aqui.

    Selecione as duas principais linhas e selecione Comparar para exibir uma comparação das definições trazidas por cada solução. Se você tiver apenas uma camada de solução, ignorará esta etapa.

    Captura de tela para selecionar as duas principais linhas e selecionar a opção Comparar para exibir uma comparação das definições.

  6. A comparação entre definições de comando mostrará quaisquer diferenças que possam existir entre as duas camadas. O exemplo a seguir mostra claramente que o valor da Biblioteca é diferente. A entrada não gerenciada da solução Active é definida como um caminho incorreto _/_static/common/scripts/RibbonActions.js (seu caminho específico pode ser ligeiramente diferente) e a definição padrão da Microsoft definiu a biblioteca como $webresoure:Main_system_library.js. Esse é um caminho com suporte para esse comando específico (esse valor pode ser diferente, dependendo do comando específico). O único caminho com suporte é aquele que começa com $webresource: e termina com o nome de um recurso Web JavaScript válido.

    A captura de tela mostra um exemplo em que o valor da Biblioteca é diferente.

  7. Agora que você revisou as camadas de solução e determinou a solução que instalou a personalização, você deve corrigir a definição na solução apropriada.

Selecione uma das seguintes opções que correspondem ao seu cenário específico:

O comando está na solução Active não gerenciada.

A abordagem para corrigir o comando variará dependendo se sua definição for a única ou se há outras definições inativas e se as alterações foram intencionais.

Selecione a opção que reflete seu cenário:

  • O comando não tem modificações intencionais e quero remover essa camada personalizada.

    Para excluir um comando na camada de solução não gerenciada do Active , você exportará uma solução não gerenciada que contém a entidade ou o Application Ribbon, edite o <RibbonDiffXml> nó no arquivo customizations.xml e importará uma nova versão dessa solução em que esse comando foi removido para excluir o componente. Consulte Exportar, preparar para editar e importar a faixa de opções.

    O comando é específico da entidade

    Com base no cenário de exemplo, você determinou que a entidade é conta, o comando que precisa ser excluído é Mscrm.NewRecordFromForm, e é declarado na camada de solução não gerenciada ativa de um editor chamado DefaultPublisherCITTest.

    1. Abra Configurações Avançadas.

    2. Navegue até Soluções de Configurações>.

    3. Selecione Novo para criar uma nova solução e defina Publisher como o valor mostrado nas camadas de solução do Verificador de Comando listando para o comando e a camada de solução Ativa. (No exemplo, este é DefaultPublisherCITTest.)

    4. Selecione Entidades>adicionar existentes.

    5. Selecione a entidade na qual seu comando está definido. (No exemplo, isso é conta) e, em seguida, selecione OK.

    6. Certifique-se de limpar os metadados Incluir entidade e Adicionar todas as opções de ativos antes de selecionar Concluir.

    7. Selecione Salvar.

    8. Selecione Exportar solução e exporte a solução não gerenciada.

    9. Extraia o arquivo .zip.

    10. Abra o arquivo customizations.xml .

    11. Localize o <Entity> nó filho do nó de entidade que você deseja editar e localize seu nó filho <RibbonDiffXml> .

    12. Localize o <CommandDefinition> nó (No exemplo, a ID do <CommandDefinition> é Mscrm.NewRecordFromForm. Portanto, você localizaria o nó a seguir.)

      Captura de tela do local do nó CommandDefinition.

    13. Edite o <RibbonDiffXml> nó para remover o nó específico <CommandDefinition> . Certifique-se de que você não exclua involuntariamente outros <CommandDefinition> nós que possam estar presentes. (Com base no exemplo, você excluiria o <CommandDefinition> nó no qual a ID é Mscrm.NewRecordFromForm.)

      A captura de tela mostra um exemplo para excluir o nó CommandDefinition.

    14. Salve o arquivo customizations.xml .

    15. Restaure o arquivo decustomizations.xml modificado para o arquivo de .zip da solução.

    16. Importe o arquivo da solução.

    17. Selecione Publicar Todas as Personalizações.

    O comando está na Faixa de Opções de Aplicativo (se aplica a "Todas as entidades")

    Se o comando não for específico da entidade, mas, em vez disso, for aplicável a "Todas as Entidades" declaradas na Faixa de Opções de Aplicativo, as etapas serão ligeiramente diferentes, da seguinte maneira:

    1. Abra Configurações Avançadas.
    2. Navegue até Soluções de Configurações>.
    3. Selecione Novo para criar uma nova solução e defina Publisher como o valor mostrado nas camadas de solução do Verificador de Comando listando para o comando e a camada de solução Ativa.
    4. Selecione Extensões de Cliente Adicionar Faixas>de Opções de Aplicativo Existentes>.
    5. Selecione Salvar.
    6. Selecione Exportar solução e exporte a solução não gerenciada.
    7. Extraia o arquivo .zip.
    8. Abra o arquivo customizations.xml .
    9. Localize o nó raiz <RibbonDiffXml> .
    10. Localize o <CommandDefinition> nó.
    11. Edite <RibbonDiffXml> para remover o <CommandDefinition> nó que tem a ID correspondente do comando que você deseja excluir. Certifique-se de que você não exclua involuntariamente outros <CommandDefinition> nós que possam estar presentes.
    12. Salve o arquivo customizations.xml .
    13. Restaure o arquivo decustomizations.xml modificado para o arquivo .zip de solução compactada.
    14. Importe o arquivo da solução.
    15. Selecione Publicar Todas as Personalizações.
  • O comando tem modificações adicionais que quero reter e quero corrigir essa camada de solução.

    Para corrigir um comando na camada de solução não gerenciada do Active , você exportará uma solução não gerenciada contendo a entidade ou o Application Ribbon e editará o <RibbonDiffXml> nó no arquivo customizations.xml e importará uma nova versão dessa solução que contém a definição de comando fixa. Consulte Exportar, preparar para editar e importar a faixa de opções.

    Aviso

    Não remova Mscrm.HideOnModern a regra de exibição de um comando para forçar um botão a aparecer na Interface Unificada. Os comandos que têm a Mscrm.HideOnModern regra de exibição são destinados à interface herdada do Cliente Web e não têm suporte na Interface Unificada e podem não funcionar corretamente.

    O comando é específico da entidade

    Com base no cenário de exemplo, você determinou que a entidade é conta, o comando que precisa ser corrigido é Mscrm.NewRecordFromForm, e é declarado na camada de solução não gerenciada do Active de um editor chamado DefaultPublisherCITTest.

    1. Abra Configurações Avançadas.

    2. Navegue até Soluções de Configurações>.

    3. Selecione Novo para criar uma nova solução e defina Publisher como o valor mostrado na lista de camadas de solução do Verificador de Comando para o comando e a camada de solução Ativa. (No exemplo, este é DefaultPublisherCITTest.)

    4. Selecione Entidades>adicionar existentes.

    5. Selecione a entidade na qual seu comando está definido (no exemplo, essa é a conta) e selecione OK.

    6. Certifique-se de limpar os metadados Incluir entidade e Adicionar todas as opções de ativos antes de selecionar Concluir.

    7. Selecione Salvar.

    8. Selecione Exportar solução e exporte a solução não gerenciada.

    9. Extraia o arquivo .zip.

    10. Abrir o arquivo customizations.xml

    11. Localize o <Entity> nó filho do nó da entidade que você deseja editar e localize seu nó filho <RibbonDiffXml> .

    12. Localize o <CommandDefinition> nó. (No exemplo, a ID do <CommandDefinition> nó é Mscrm.NewRecordFromForm. Portanto, você localizaria o nó a seguir.)

      A captura de tela mostra o local do nó CommandDefinition cuja ID é Mscrm.NewRecordFromForm.

    13. Edite <RibbonDiffXml> para fazer as alterações necessárias no <CommandDefinition> nó que permitirá que o comando funcione corretamente sob as circunstâncias corretas para corrigir o comando. Para obter mais informações sobre como declarar comandos, consulte Definir comandos de faixa de opções e Definir ações de faixa de opções. (Com base no exemplo, você modificaria o <CommandDefinition> nó definindo Library="$webresoure:Main_system_library.js"e, em seguida, certificar-se de que o FunctionName valor corresponde. No exemplo, isso seria FunctionName="XrmCore.Commands.Open.openNewRecord".)

      Captura de tela para modificar o nó CommandDefinition e verifique se o valor FunctionName corresponde.

    14. Salve o arquivo customizations.xml .

    15. Restaure o arquivo decustomizations.xml modificado para o arquivo de .zip da solução.

    16. Importe o arquivo da solução.

    17. Selecione Publicar Todas as Personalizações.

    O comando está na Faixa de Opções de Aplicativo (se aplica a "Todas as entidades")

    Se o comando não for específico da entidade, em vez disso, ele será aplicável a "Todas as Entidades" declaradas na Faixa de Opções de Aplicativo, as etapas serão ligeiramente diferentes da seguinte maneira:

    1. Abra Configurações Avançadas.
    2. Navegue até Soluções de Configurações>.
    3. Selecione Novo para criar uma nova solução e defina Publisher como o valor mostrado nas camadas de solução do Verificador de Comando listando para o comando e a camada de solução Ativa.
    4. Selecione Extensões de Cliente Adicionar Faixas>de Opções de Aplicativo Existentes>.
    5. Selecione Salvar.
    6. Selecione Exportar solução e exporte a solução não gerenciada.
    7. Extraia o arquivo .zip.
    8. Abra o arquivo customizations.xml .
    9. Localize o nó raiz <RibbonDiffXml> .
    10. Localize o <CommandDefinition> nó.
    11. Edite o <RibbonDiffXml> nó para fazer as alterações necessárias no <CommandDefinition> nó que permitirá que o comando funcione corretamente sob as circunstâncias corretas para corrigir o comando. Para obter mais informações sobre como declarar comandos, consulte Definir comandos de faixa de opções e Definir ações de faixa de opções.
    12. Salve o arquivo customizations.xml .
    13. Restaure o arquivo decustomizations.xml modificado para o arquivo .zip de solução compactada.
    14. Importe o arquivo da solução.
    15. Selecione Publicar Todas as Personalizações.
O comando é de uma solução gerenciada personalizada que eu criei.

Para corrigir um comando instalado por uma solução gerenciada personalizada que você criou, siga estas etapas:

  1. Em sua organização de desenvolvimento separada que tem a versão de origem não gerenciada de sua solução personalizada, conclua as etapas listadas acima para o comando está na opção de solução Active não gerenciada .
  2. Incremente a versão da solução personalizada.
  3. Exportar solução como gerenciada.
  4. Em sua organização afetada separada, importe esta nova versão da sua solução gerenciada sob medida.
O comando é de uma solução gerenciada personalizada que eu não criei ou que minha organização não possui (de terceiros ou ISV).

Para corrigir um comando instalado por uma solução gerenciada personalizada que foi criada por terceiros ou ISV, você precisará entrar em contato com o autor da solução para solicitar uma nova versão da solução que contém a definição de comando fixa e instalar essa nova solução em sua organização afetada.

O comando está em uma solução gerenciada publicada pela Microsoft.

Para corrigir um comando instalado por uma solução gerenciada publicada pela Microsoft, talvez seja necessário instalar uma versão mais recente da solução. Isso normalmente seria feito durante uma atualização de versão. É possível que você tenha identificado um bug que ainda precisa ser corrigido. Entre em contato com o Suporte ao Cliente para obter assistência.