Share via


Visão geral de comandos modernos

Os comandos orientam o comportamento do aplicativo principal para aplicativos baseados em modelo. Eles são os botões com os quais os usuários interagem ao reproduzir aplicativos e as ações resultantes executadas quando um botão é selecionado. Cada comando é posicionado em relação a outros comandos e vinculado a um local da barra de comandos no aplicativo.

Barra de comandos

Em termos gerais, a personalização de comandos se encaixa nas categorias a seguir. Existem vários recursos em cada categoria, que são abordados com mais profundidade em toda a documentação de comando moderna:

  • Display. Como o botão aparece e onde está localizado em um aplicativo. Por exemplo, o rótulo, o ícone e os rótulos de acessibilidade do botão, bem como o local e a posição da barra de comandos em uma barra de comandos.
  • Action. A lógica que é executada quando um botão é selecionado. Por exemplo, criar e atualizar dados ou interagir com vários controles e páginas dentro do aplicativo.
  • Visibilidade. Condições lógicas que especificam quando um botão está visível ou oculto para um usuário. Por exemplo, você pode querer que o botão fique visível para alguns usuários e oculto para outros. Ou talvez o botão deva ficar visível apenas quando determinados critérios dos registros de dados forem atendidos.

Locais da barra de comandos

  • Grade principal. Esta barra de comandos é exibida ao usar a navegação à esquerda de um aplicativo para exibir uma lista completa de páginas de registros nesta tabela.

    Barra de comandos na grade principal

  • Formulário principal. Esta barra de comandos é exibida nos formulários principais desta tabela. Isso aparece na parte superior do formulário e difere da visualização associada ou da visualização de subgrade que aparecerá em diferentes áreas do formulário.

    Formulário principal

  • Exibição de subgrade. Esta barra de comandos é exibida em formulários de outras tabelas que renderizam dados desta tabela em uma subgrade. Por exemplo, o formulário principal da conta tem um controle de subgrade que lista registros de contato relacionados ao registro da conta. Para editar a barra de comandos abaixo, edite a barra de comandos para a tabela de contatos e, depois, a exibição de subgrade.

    Exibição de subgrade

  • Exibição associada. Esta barra de comandos é exibida no formulário de uma tabela pai ao exibir os dados relacionados nesta tabela. Por exemplo, no formulário principal de um registro de conta, selecione a guia Relacionado e, depois, selecione uma tabela relacionada como contatos.

    Exibição associada

  • Ações rápidas. As ações rápidas estão associadas à localização da grade principal. Para adicionar ou editar comandos para ações rápidas e locais da grade principal, selecione a tabela desejada no designer de aplicativo moderno, edite a barra de comandos e escolha o local da grade principal. Os primeiros cinco comandos, determinados por ordem, também serão mostrados como ações rápidas ao reproduzir o aplicativo.

    Um exemplo de ação rápida configurada na tabela de contatos

Observação

As localizações da barra de comandos personalizadas com menos frequência não são compatíveis com o designer de comandos. Consulte as seções Barra de comandos global e outras faixas para obter mais informações sobre como personalizar comandos para esses locais.

Tipos de comandos

  • Comando. Botão padrão. Executa uma ação quando selecionado. Também pode ser aninhado em grupos dentro de menus suspensos e botões de divisão. Observe que eles eram chamados de flyouts nos comandos clássicos.
  • Menu Suspenso. Cria um menu no qual você pode organizar comandos dentro de um grupo.
  • Agrupar. Adicione títulos a grupos de comandos anihados em menus suspensos e botões de divisão.
  • Botão de Divisão. Semelhante a uma lista suspensa, mas tem um comando primário. Quando o botão de divisão é selecionado, a ação do comando primário é executada. Se a divisa de expansão for selecionada, o comando primário não será executado. Em vez disso, uma lista será expandida para mostrar grupos, submenus e comandos adicionais.

Tipos de comando

Principais diferenças entre comandos clássicos e modernos

Os comandos clássicos (antes conhecidos como faixa) não eram personalizáveis com pouco código. Com o código, as personalizações de comando eram difíceis, entediantes e sujeitas a erros. Para escalar o comando para pouco código, bem como usar páginas personalizadas para convergir telas e aplicativos baseados em modelo, era vital reinventar e recriar a infraestrutura de comando.

Os comando modernos oferecem muitos recursos novos e são muito mais simples de usar.

Recurso Clássico Moderno
Compatível no runtime do aplicativo baseado em modelo Sim Sim. Além disso, há suporte ao runtime do Power Fx.
Personalizado usando Edição manual de XML em arquivos de solução ou usando ferramentas de terceiros. Operações de exportação e importação de solução demoradas necessárias. Suporte ao designer de comandos, bem como a APIs do Dataverse.
Dá suporte ao Power Fx. No Sim. Para ações e visibilidade.
Tempo necessário para personalizar Lento, sujeito a erros. Rápido
Desempenho e confiabilidade Fácil de cometer erros. A personalização ruim e a falta de escopo geralmente afetam o desempenho do aplicativo O tratamento de erros em linha evita erros. Otimizado para o Power Fx para melhor desempenho em tempo de execução.
Compartilhamento Segurança baseada em função do Dataverse. Os comandos não Power Fx usam a segurança baseada em função do Dataverse padrão. Os comandos do Power Fx atualmente exigem que a biblioteca de componentes de comando seja compartilhada, além de ter um direito de acesso apropriado.
Comportamentos de solução e ALM Camadas de solução inconsistentes e problemáticas, sem presença na interface da solução. Muitos comportamentos de solução padrão não são compatíveis, como patches, segmentação, upgrade de solução, propriedades gerenciadas e muito mais. Camadas de solução padrão gerenciadas centralmente para vários tipos de objetos de solução dentro do Dataverse. Presente na interface da solução. Todos os comportamentos de solução padrão são compatíveis.
Localização Não padrão Padronizado usando traduções de exportação e importação para toda a solução.
Modelo de dados Complexo. Otimizado para faixas de opções clássicas e contém muitas propriedades que não são mais necessárias. Simples, otimizado para as barras de comando de aplicativos baseadas em modelos atuais.
Usar JavaScript Sim Sim. Agora mais simples. Observação: o mesmo JavaScript pode ser usado para comandos clássicos e modernos.
Personalizar comandos prontos para uso Sim Os comandos tornam-se editáveis no designer de comandos uma vez migrados para a estrutura moderna.
Comandos específicos do aplicativo Não Sim. O uso do designer de comandos moderno garante que os comandos sejam visíveis apenas no aplicativo selecionado.
Comandos específicos da tabela que serão exibidos em todos os aplicativos que contêm a tabela Sim Sim. Requer a modificação da definição appaction dentro do arquivo de solução.
Comandos globais que serão exibidos para todas as tabelas e aplicativos para o local da barra de comandos especificado Sim Sim. Requer a modificação da definição appaction dentro do arquivo de solução.
Criar botões de divisão, submenus e grupos Sim Sim
Preencher dinamicamente um submenu com código Sim Não. Recomendamos criar comandos declarativamente.
Personalizar comandos de cabeçalho de aplicativo global Sim Não
Personalizar comandos para outros locais da barra de comando/incomuns ou obsoletos Sim Não
Executar um fluxo ou fluxo de trabalho moderno Usando JavaScript Usando JavaScript. Também compatível usando uma página personalizada.

Comparação entre regras de visibilidade clássicas e modernas

As regras de visibilidade clássicas geralmente tinham uma regra específica para cada cenário. Com o Power Fx, uma função declarativa substitui muitas regras clássicas. E é muito mais simples de usar.

Observe que as regras de visibilidade clássicas também terão suporte em breve nos comandos modernos. No entanto, o suporte para regras clássicas era necessário para migrar de forma confiável comandos clássicos para comandos modernos, e não há suporte para a personalização de regras clássicas no designer de comandos. Recomendamos que você use o Power Fx daqui para frente.

Caso de uso Regra clássica Opções clássicas Propriedade visível do Power Fx
Mostrar/ocultar com base em valores de dados CustomRule Usar JavaScript !IsBlank(Auto.Selected.Item.Email)
Mostrar/ocultar com base na permissão da tabela EntityPrivilegeRule Várias DataSourceInfo()
Mostrar/ocultar com base na permissão do registro RecordPrivilegeRule Várias RecordInfo()
Referenciar o contexto de controle para tabelas primárias e relacionadas EntityRule PrimaryEntity. SelectedEntity Self.Selected
Referenciar o contexto de controle EntityRule Formulário. HomePageGrid. SubGridStandard. SubGridAssociated Self.Selected
Propriedades de metadados da tabela EntityPropertyRule DataSourceInfo()
Mostrar/ocultar com base no estado do formulário. Por exemplo, mostrar para o formulário de criação FormStateRule Criar. Existente. ReadOnly. Desabilitado. BulkEdit Self.Selected.State = FormMode.New
Mostrar quando > 1 registros são selecionados em uma grade SelectionCountRule CountRows(Auto.Selected.Items) > 1
Mostrar/ocultar uma tabela relacionada em uma pesquisa polimórfica. Por exemplo, verifique se a pesquisa é um usuário OU uma equipe CustomRule PrimaryEntityTypeCode IsType(), AsType
Propriedades do ambiente de referência (Org) CustomRule OrgName. OrgLcid. UserLcid Não disponível no momento

Perguntas frequentes

  • Por que vejo mais comandos no designer do que no meu aplicativo?
    • Há vários motivos. Às vezes, há uma lógica de visibilidade que ocultará o comando ao executar o aplicativo. Outras vezes, esses comandos são injetados dinamicamente por meio de JavaScript personalizado durante o tempo de execução e não são configuráveis.
  • Por que vejo comandos duplicados no designer?
    • Este era um padrão comum usado com comandos clássicos. Ambos os comandos não apareceriam em tempo de execução, pois eram controlados por regras de visibilidade. O designer de comando mostrará todos os comandos, independentemente das regras de visibilidade.

Consulte também

Personalizar a barra de comandos usando o designer de comando
Gerenciar comandos em soluções
Limitações conhecidas de comando moderno