Um botão na barra de comandos não está funcionando corretamente no Power Apps
Aplica-se a: Power Apps
Número original do KB: 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. Isso inclui personalizações de faixa de opções inválidas nas quais a definição de comando associada ao botão é declarada incorretamente.
Aviso
Não remova a Mscrm.HideOnModern
regra de exibição de um comando para forçar a exibição de um botão na Interface Unificada. Os comandos que têm a Mscrm.HideOnModern
regra de exibição destinam-se à interface do cliente Web herdado e não têm suporte na Interface Unificada. Portanto, eles podem não funcionar corretamente.
Se um comando não for declarado corretamente, a seleção de um botão poderá 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.
Veja a seguir os erros típicos de configuração de comando cometidos ao declarar o JavaScriptFunction
valor da ação. Esses erros podem causar 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 da Web JavaScript atribuído à propriedade Library.
- Biblioteca inválida: esse caminho não está se referindo a um recurso da Web JavaScript válido ou não é prefixado com
$webresource:
. - Parâmetros ausentes: a função JavaScript está esperando parâmetros específicos e a definição do 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 da faixa de opções para obter mais ajuda de configuração.
Se essas configurações estiverem corretas, um erro de código JavaScript pode ser a causa. Se a função JavaScript personalizada for 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 resolver o problema. Caso contrário, talvez seja necessário depurar e corrigir o código da função JavaScript para que o botão funcione corretamente.
Identifique qual é o comando do botão e qual solução instalou a definição incorreta.
Ative o verificador de comandos e selecione o botão de comando a ser inspecionado.
Selecione a guia Propriedades do Comando para exibir os detalhes do comando para este botão.
A guia Propriedades do 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.O painel Camadas de Solução exibe as camadas de cada definição de componente da 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 for 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 ativa não gerenciada estiver presente, ela 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 as 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 listado, a camada será das extensões de cliente da Faixa de Opções do Aplicativo e não específica da entidade. Caso contrário, o nome lógico da entidade será listado.
Quando há 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 à 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 camadas de solução superiores. (Se você tiver uma camada na solução Ativa, 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.
A comparação da definição ativa atual e da definição inativa anterior é exibida e mostrará 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. Espera-se que oFunctionName
valor sejaXrmCore.Commands.Delete.deletePrimaryRecord
, mas a definição personalizada declarouFunctionName="deletePrimaryRecord"
. Nesse caso, nada ocorrerá quando o botão for selecionado porque a função não pode ser encontrada.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 oFunctionName
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 ativa, você exportará uma solução não gerenciada que contém a entidade ou a Faixa de Opções do Aplicativo e editará o <RibbonDiffXml>
nó no arquivo customizations.xml e, em seguida, 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 é account, o comando que deve ser excluído é Mscrm.DeletePrimaryRecord
, e é declarado na camada de solução não gerenciada ativa de um editor chamado DefaultPublisherCITTest.
Abra Configurações avançadas.
Navegue até Configurações>Soluções.
Selecione Novo para criar uma nova solução e defina o Publisher como o valor mostrado na lista de camadas de solução do Verificador de Comandos para o comando e a camada de solução Ativa. (No exemplo, isso é DefaultPublisherCITTest.)
Selecione Entidades>Adicionar existente.
Selecione a entidade na qual seu comando está definido (no exemplo, é "conta") e, em seguida, selecione OK.
Certifique-se de desmarcar as opções Incluir metadados da entidade e Adicionar todos os ativos antes de selecionar Concluir.
Selecione Salvar.
Selecione Exportar Solução e exporte a solução não gerenciada.
Extraia o arquivo zip.
Abra o arquivo customizations.xml .
Localize o
<Entity>
nó filho do nó da entidade que você deseja editar e localize seu nó filho<RibbonDiffXml>
.Localize o
<CommandDefinition>
nó. (No exemplo, a ID do<CommandDefinition>
nó éMscrm.DeletePrimaryRecord
. Portanto, você localizaria o nó a seguir.)Edite o
<RibbonDiffXml>
nó para remover o nó específico<CommandDefinition>
que tem a ID do comando que você deseja excluir. Certifique-se de não excluir acidentalmente outros<CommandDefinition>
nós que possam estar presentes. (Com base no exemplo, você excluiria o<CommandDefinition>
nó no qual a ID estáMscrm.DeletePrimaryRecord
.)Salve o arquivo customizations.xml .
Restaure o arquivo customizations.xml modificado para o arquivo .zip solução.
Importe o arquivo de solução.
Selecione Publicar Todas as Personalizações.
O comando está na Faixa de Opções do Aplicativo (aplica-se 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 do Aplicativo, as etapas serão um pouco diferentes, da seguinte maneira:
- Abra Configurações avançadas.
- Navegue até Configurações>Soluções.
- Selecione Novo para criar uma nova solução e defina o Publisher como o valor mostrado na lista de camadas de solução do Verificador de Comandos para o comando e a camada de solução Ativa.
- Selecione Extensões>de cliente Adicionar faixas de opções de aplicativos existentes.>
- Selecione Salvar.
- Selecione Exportar Solução e exporte a solução não gerenciada.
- Extraia o arquivo zip.
- Abra o arquivo customizations.xml .
- Localize o nó raiz
<RibbonDiffXml>
. - Localize o
<CommandDefinition>
nó. - Edite o
<RibbonDiffXml>
e remova o<CommandDefinition>
nó que tem a ID do comando que você deseja excluir. Certifique-se de não excluir acidentalmente outros<CommandDefinition>
nós que possam estar presentes. - Salve o arquivo customizations.xml .
- Restaure o arquivo customizations.xml modificado para a solução compactada .zip arquivo.
- Importe o arquivo de solução.
- Selecione Publicar Todas as Personalizações.
O comando é de uma solução gerenciada personalizada criada pela minha empresa.
Para excluir um comando que foi instalado por uma solução gerenciada personalizada que você criou, siga estas etapas:
- 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 a opção O comando está na solução ativa não gerenciada.
- Incremente a versão da sua solução personalizada.
- Exporte a solução como gerenciada.
- Em sua organização afetada separada, importe essa nova versão de sua solução gerenciada personalizada.
O comando é de uma solução gerenciada personalizada que minha empresa não criou (de terceiros ou ISV).
Para excluir um comando que foi instalado por uma solução gerenciada personalizada criada por um terceiro 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, em seguida, instalar essa nova solução em sua organização afetada.
Opção 2: corrigir a declaração JavaScriptFunction do comando
O comando está na solução Active não gerenciada.
Para corrigir um comando na camada de solução não gerenciada ativa , você exportará uma solução não gerenciada que contém a entidade ou a faixa de opções do aplicativo, editará o <RibbonDiffXml>
nó no arquivo customizations.xml e importará uma nova versão dessa solução que contenha 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 a exibição de um botão na Interface Unificada. Os comandos que têm a Mscrm.HideOnModern
regra de exibição destinam-se à interface do Web Client herdado 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 é account, o comando que precisa ser corrigido é Mscrm.DeletePrimaryRecord
, e é declarado na camada de solução não gerenciada ativa de um editor chamado DefaultPublisherCITTest.
Abra Configurações avançadas.
Navegue até Configurações>Soluções.
Selecione Novo para criar uma nova solução e defina Publicador como o valor mostrado na listagem de camadas de solução do Verificador de Comandos para o comando e a camada de solução Ativa. (No exemplo, isso é DefaultPublisherCITTest.)
Selecione Entidades>Adicionar existente.
Selecione a entidade na qual o comando está definido (no exemplo, esta é a conta) e selecione OK.
Certifique-se de desmarcar as opções Incluir metadados da entidade e Adicionar todos os ativos antes de selecionar Concluir.
Selecione Salvar.
Selecione Exportar Solução e exporte a solução não gerenciada.
Extraia o arquivo zip.
Abra o arquivo customizations.xml .
Localize o
<Entity>
nó filho do nó da entidade que você deseja editar e localize seu nó filho<RibbonDiffXml>
.Localize o
<CommandDefinition>
nó. (No exemplo, a ID do<CommandDefinition>
nó éMscrm.DeletePrimaryRecord
. Portanto, você localizaria o nó a seguir.)Edite o
<RibbonDiffXml>
nó e faça as alterações necessárias no<CommandDefinition>
nó que permitirão que o comando funcione corretamente nas circunstâncias corretas para corrigir o comando. Para obter mais informações sobre como declarar comandos, consulte Definir comandos da faixa de opções e Definir ações da faixa de opções. (Com base no exemplo, você modificaria o<CommandDefinition>
nóJavaScriptFunction
definindo oFunctionName
valor comoXrmCore.Commands.Delete.deletePrimaryRecord
.)Restaure o arquivo customizations.xml modificado para o arquivo .zip solução.
Importe o arquivo de solução.
Selecione Publicar Todas as Personalizações.
O comando está na Faixa de Opções do Aplicativo (aplica-se 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 do Aplicativo, as etapas serão um pouco diferentes, da seguinte maneira:
- Abra Configurações avançadas.
- Navegue até Configurações>Soluções.
- Selecione Novo para criar uma nova solução e defina o Publisher como o valor mostrado na lista de camadas de solução do Verificador de Comandos para o comando e a camada de solução Ativa.
- Selecione Extensões>de cliente Adicionar faixas de opções de aplicativos existentes.>
- Selecione Salvar.
- Selecione Exportar Solução e exporte a solução não gerenciada.
- Extraia o arquivo zip.
- Abra o arquivo customizations.xml .
- Localize o nó raiz
<RibbonDiffXml>
. - Localize o
<CommandDefinition>
arquivo . - Edite o
<RibbonDiffXml>
nó para fazer as alterações necessárias no<CommandDefinition>
nó que permitirão que o comando funcione corretamente nas circunstâncias corretas para corrigir o comando. Para obter mais informações sobre como declarar comandos, consulte Definir comandos da faixa de opções e Definir ações da faixa de opções. - Salve o arquivo customizations.xml .
- Restaure o arquivo customizations.xml modificado para a solução compactada .zip arquivo.
- Importe o arquivo de solução.
- Selecione Publicar Todas as Personalizações.
O comando é de uma solução gerenciada personalizada que eu criei.
Para corrigir um comando que foi instalado por uma solução gerenciada personalizada que você criou, siga estas etapas:
- 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 a opção O comando está na solução ativa não gerenciada.
- Incremente a versão da sua solução personalizada.
- Exporte a solução como gerenciada.
- Em sua organização afetada separada, importe essa nova versão de sua solução gerenciada personalizada.
O comando é de uma solução gerenciada personalizada que não fui criada ou que minha organização não possui (de um ISV/terceiro).
Para corrigir um comando que foi instalado por uma solução gerenciada personalizada criada por um terceiro 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 a mensagem de erro do script: "Invalid JavaScript Action Library"](#tab/error)
Corrigir um botão que exibe um erro quando selecionado
Se um botão da barra de comandos da faixa de opções for selecionado e ocorrer um erro, o erro normalmente será causado por personalizações incorretas do comando da faixa de opções.
Corrigir erro de script "Biblioteca de ações JavaScript inválida"
Você pode receber uma mensagem de erro de script semelhante à seguinte:
Biblioteca de ações JavaScript inválida: [nome do script] não é um recurso da Web e não é compatível.
Isso é causado por uma personalização de comando de faixa de opções inválida que declarou uma biblioteca incorreta no comando JavaScriptFunction
.
Ative o verificador de comandos e selecione o botão de comando a ser inspecionado.
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 Novo.
Selecione a guia Propriedades do 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 da 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 da Web JavaScript válido. Em seguida, você deve revisar as camadas de solução do comando para tentar identificar o valor correto para corrigir o problema.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.
O painel Camadas de Solução exibirá as camadas de cada definição de componente da faixa de opções que uma solução específica instalou. A camada no topo 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 for 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 ativa não gerenciada estiver presente, ela 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 as camadas de solução publicadas pela Microsoft.
O contexto Entidade indica o objeto em que a personalização da faixa de opções está, se "Todas as Entidades" estiver listado, a camada será das extensões de cliente da Faixa de Opções do Aplicativo e não específica da entidade, caso contrário, o nome lógico da entidade será listado.
Quando há 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 Ativa e a outra é da solução de sistema publicada pela Microsoft. Seu cenário real pode ser diferente, você pode não ter uma camada de solução ativa, pode ter uma solução gerenciada e o nome dessa solução será listado aqui.
Selecione as duas primeiras 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.
A comparação entre as 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 Ativa é definida como um caminho incorreto _/_static/common/scripts/RibbonActions.js (seu caminho específico pode ser um pouco 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 suportado é aquele que começa e$webresource:
termina com o nome de um recurso da Web JavaScript válido.Agora que você examinou 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 corresponda ao seu cenário específico:
O comando está na solução Active não gerenciada.
A abordagem para corrigir o comando irá variar dependendo se sua definição é 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 nenhuma modificação intencional e quero remover essa camada personalizada.
Para excluir um comando na camada de solução não gerenciada ativa , você exportará uma solução não gerenciada que contém a entidade ou a Faixa de Opções do Aplicativo, 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 é account, o comando que deve ser excluído é
Mscrm.NewRecordFromForm
, e é declarado na camada de solução não gerenciada ativa de um editor chamado DefaultPublisherCITTest.Abra Configurações avançadas.
Navegue até Configurações>Soluções.
Selecione Novo para criar uma nova solução e defina o Publisher como o valor mostrado na lista de camadas de solução do Verificador de Comandos para o comando e a camada de solução Ativa. (No exemplo, isso é DefaultPublisherCITTest.)
Selecione Entidades>Adicionar existente.
Selecione a entidade na qual seu comando está definido. (No exemplo, isso é conta) e selecione OK.
Certifique-se de desmarcar as opções Incluir metadados da entidade e Adicionar todos os ativos antes de selecionar Concluir.
Selecione Salvar.
Selecione Exportar Solução e exporte a solução não gerenciada.
Extraia o arquivo zip.
Abra o arquivo customizations.xml .
Localize o
<Entity>
nó filho do nó da entidade que você deseja editar e localize seu nó filho<RibbonDiffXml>
.Localize o
<CommandDefinition>
nó (No exemplo, a<CommandDefinition>
ID do arquivo éMscrm.NewRecordFromForm
. Portanto, você localizaria o nó a seguir.)Edite o
<RibbonDiffXml>
nó para remover o nó específico<CommandDefinition>
. Certifique-se de não excluir acidentalmente outros<CommandDefinition>
nós que possam estar presentes. (Com base no exemplo, você excluiria o<CommandDefinition>
nó no qual a ID estáMscrm.NewRecordFromForm
.)Salve o arquivo customizations.xml .
Restaure o arquivo customizations.xml modificado para o arquivo .zip solução.
Importe o arquivo de solução.
Selecione Publicar Todas as Personalizações.
O comando está na Faixa de Opções do Aplicativo (aplica-se 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 do Aplicativo, as etapas serão um pouco diferentes, da seguinte maneira:
- Abra Configurações avançadas.
- Navegue até Configurações>Soluções.
- Selecione Novo para criar uma nova solução e defina o Publisher como o valor mostrado na lista de camadas de solução do Verificador de Comandos para o comando e a camada de solução Ativa.
- Selecione Extensões>de cliente Adicionar faixas de opções de aplicativos existentes.>
- Selecione Salvar.
- Selecione Exportar Solução e exporte a solução não gerenciada.
- Extraia o arquivo zip.
- Abra o arquivo customizations.xml .
- Localize o nó raiz
<RibbonDiffXml>
. - Localize o
<CommandDefinition>
nó. - Editar
<RibbonDiffXml>
para remover o<CommandDefinition>
nó que tem a ID correspondente do comando que você deseja excluir. Certifique-se de não excluir acidentalmente outros<CommandDefinition>
nós que possam estar presentes. - Salve o arquivo customizations.xml .
- Restaure o arquivo customizations.xml modificado para a solução compactada .zip arquivo.
- Importe o arquivo de solução.
- Selecione Publicar Todas as Personalizações.
O comando tem modificações adicionais que desejo manter e quero corrigir essa camada de solução.
Para corrigir um comando na camada de solução não gerenciada ativa, você exportará uma solução não gerenciada que contém a entidade ou a Faixa de Opções do Aplicativo e editará o
<RibbonDiffXml>
nó no arquivo customizations.xml e, em seguida, 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 a exibição de um botão na Interface Unificada. Os comandos que têm aMscrm.HideOnModern
regra de exibição destinam-se à interface do Web Client herdado 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 é account, o comando que precisa ser corrigido é
Mscrm.NewRecordFromForm
, e é declarado na camada de solução não gerenciada ativa de um editor chamado DefaultPublisherCITTest.Abra Configurações avançadas.
Navegue até Configurações>Soluções.
Selecione Novo para criar uma nova solução e defina Publicador como o valor mostrado na listagem de camadas de solução do Verificador de Comandos para o comando e a camada de solução Ativa. (No exemplo, isso é DefaultPublisherCITTest.)
Selecione Entidades>Adicionar existente.
Selecione a entidade na qual o comando está definido (no exemplo, esta é a conta) e selecione OK.
Certifique-se de desmarcar as opções Incluir metadados da entidade e Adicionar todos os ativos antes de selecionar Concluir.
Selecione Salvar.
Selecione Exportar Solução e exporte a solução não gerenciada.
Extraia o arquivo zip.
Abra o arquivo customizations.xml
Localize o
<Entity>
nó filho do nó da entidade que você deseja editar e localize seu nó filho<RibbonDiffXml>
.Localize o
<CommandDefinition>
nó. (No exemplo, a ID do<CommandDefinition>
nó éMscrm.NewRecordFromForm
. Portanto, você localizaria o nó a seguir.)Edite
<RibbonDiffXml>
para fazer as alterações necessárias no<CommandDefinition>
nó que permitirão que o comando funcione corretamente nas circunstâncias corretas para corrigir o comando. Para obter mais informações sobre como declarar comandos, consulte Definir comandos da faixa de opções e Definir ações da faixa de opções. (Com base no exemplo, você modificaria o<CommandDefinition>
nó definindoLibrary="$webresoure:Main_system_library.js"
e verificando se oFunctionName
valor corresponde. No exemplo, isso seriaFunctionName="XrmCore.Commands.Open.openNewRecord"
.)Salve o arquivo customizations.xml .
Restaure o arquivo customizations.xml modificado para o arquivo .zip solução.
Importe o arquivo de solução.
Selecione Publicar Todas as Personalizações.
O comando está na Faixa de Opções do Aplicativo (aplica-se a "Todas as entidades")
Se o comando não for específico da entidade, em vez disso, for aplicável a "Todas as Entidades" declaradas na Faixa de Opções do Aplicativo, as etapas serão ligeiramente diferentes da seguinte maneira:
- Abra Configurações avançadas.
- Navegue até Configurações>Soluções.
- Selecione Novo para criar uma nova solução e defina o Publisher como o valor mostrado na lista de camadas de solução do Verificador de Comandos para o comando e a camada de solução Ativa.
- Selecione Extensões>de cliente Adicionar faixas de opções de aplicativos existentes.>
- Selecione Salvar.
- Selecione Exportar Solução e exporte a solução não gerenciada.
- Extraia o arquivo zip.
- Abra o arquivo customizations.xml .
- Localize o nó raiz
<RibbonDiffXml>
. - Localize o
<CommandDefinition>
nó. - Edite o
<RibbonDiffXml>
nó para fazer as alterações necessárias no<CommandDefinition>
nó que permitirão que o comando funcione corretamente nas circunstâncias corretas para corrigir o comando. Para obter mais informações sobre como declarar comandos, consulte Definir comandos da faixa de opções e Definir ações da faixa de opções. - Salve o arquivo customizations.xml .
- Restaure o arquivo customizations.xml modificado para a solução compactada .zip arquivo.
- Importe o arquivo de solução.
- Selecione Publicar Todas as Personalizações.
O comando é de uma solução gerenciada personalizada que eu criei.
Para corrigir um comando que foi instalado por uma solução gerenciada personalizada que você criou, siga estas etapas:
- 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 a opção O comando está na solução ativa não gerenciada.
- Incremente a versão da sua solução personalizada.
- Exporte a solução como gerenciada.
- Em sua organização afetada separada, importe essa nova versão de sua solução gerenciada personalizada.
O comando é de uma solução gerenciada personalizada que eu não criei ou que minha organização não possui (de um ISV ou de terceiros).
Para corrigir um comando que foi instalado por uma solução gerenciada personalizada criada por um terceiro 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, em seguida, 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 que foi 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.