Descrição geral dos comandos modernos
Os comandos motivam o comportamento principal das aplicações condicionadas por modelo. Trata-se dos botões com os quais os utilizadores interagem quando executam aplicações e as ações resultantes executadas quando um botão é selecionado. Cada comando é colocado em relação a outros comandos e está dependente de uma localização da barra de comandos na aplicação.
A um nível elevado, a personalização de comandos enquadra-se nas seguintes categorias. Existem várias capacidades existentes em cada categoria, as quais estão abrangidas por uma documentação mais aprofundada e completa sobre os comandos:
- Apresentação. Como o botão é aparece e onde está localizado numa aplicação. Por exemplo, a etiqueta, o ícone e as etiquetas de acessibilidade do botão, bem como a localização e a posição da barra de comandos numa barra de comandos.
- Ação. A lógica que é executada quando um botão é selecionado. Por exemplo, criar e atualizar dados ou interagir com vários controlos e páginas dentro da aplicação.
- Visibility. Condições lógicas que especificam quando um botão está visível ou oculto para um utilizador. Por exemplo, poderá querer que o botão esteja visível para alguns utilizadores e oculto para outros. Ou talvez o botão só deva estar visível quando determinados critérios dos registos de dados forem satisfeitos.
Localizações da barra de comando
Grelha principal. Esta barra de comando é apresentada utilizando a navegação esquerda de uma aplicação para ver uma lista de página completa dos registos existentes nesta tabela.
Formulário principal. Esta barra de comando é apresentada nos formulários principais da tabela. É apresentada na parte superior do formulário e não é o mesmo que a vista associada ou de subgrelha que será apresentada em diferentes áreas do formulário.
Vista de subgrelha. Esta barra de comando é apresentada nos formulários de outras tabelas que componham os dados desta tabela numa subgrelha. Por exemplo, o formulário principal da conta tem um controlo de subgrelha que lista registos de contacto relacionados com o registo da conta. Para editar a barra de comando abaixo, edite a barra de comando para a tabela de contactos e, em seguida, a vista de subgrelha.
Vista associada. Esta barra de comando é apresentada no formulário de uma tabela principal quando visualizar dados relacionados nesta tabela. Por exemplo, a partir do formulário principal de um registo de conta, selecione o separador Relacionado e, em seguida, selecione uma tabela relacionada como contactos.
Ações rápidas. As ações rápidas estão associadas à localização da grelha principal. Para adicionar ou editar comandos para ações rápidas e localizações de grelha principal, selecione a tabela pretendida a partir do estruturador de aplicações moderno, edite a barra de comandos e escolha a localização da grelha principal. Os primeiros cinco comandos, determinados por ordem, também serão mostrados como ações rápidas quando a aplicação for executada.
Nota
As localizações da barra de comandos personalizadas com menos frequência não são suportadas no estruturador de comandos. Consulte as secções Barra de comandos global e outros frisos para obter mais informações sobre a personalização de comandos para estas localizações.
Tipos de comando
- Comandos Botão padrão. Executa uma ação quando selecionado. Também podem ser aninhados em grupos em listas pendentes e botões separadores. Tenha em atenção que estes foram denominados flyouts nos comandos clássicos.
- Menu pendente Cria um menu em que é possível organizar comandos dentro de um grupo.
- Grupo. Adiciona títulos a grupos de comandos aninhados em menus pendentes ou botões separadores.
- Botão separador. Semelhante a um menu pendente, mas tem um comando principal. Quando o botão separador é selecionado, a ação do comando principal é executada. Se a divisa de expansão for selecionada, o comando principal não será executado. Em vez disso, uma lista será expandida para mostrar grupos, flyouts e comandos adicionais.
Diferenças principais entre comandos clássicos e modernos
Os comandos clássicos (anteriormente conhecidos como o friso) não eram personalizáveis com pouco código. Com o código, as personalizações de comando eram difíceis, fastidiosas e propensas a erros. Para dimensionar os comandos para pouco código, bem como utilizar páginas personalizadas para convergir a tela e aplicações condicionadas por modelo, foi essencial reinventar e recriar a infraestrutura dos comandos.
Os comandos modernos oferecem muitas novas capacidades e são muito mais simples de utilizar.
Capacidade | Clássico | Moderno |
---|---|---|
Suportado no runtime de uma aplicação condicionada por modelo | Sim | Sim, adicionalmente, suporta também o runtime do Power Fx. |
Utilização personalizada | Edite XML manualmente em ficheiros de solução ou utilizando ferramentas de terceiros. Necessárias operações de exportação e importação de soluções demoradas. | Estruturador de comandos, bem como suporte para API de Dataverse. |
Suporta o Power Fx. | No | Sim. Para ações e visibilidade. |
Tempo necessário para personalizar | Lento, sujeito a erros. | Rápido |
Fiabilidade e desempenho | Fácil de cometer erros. A má personalização e a falta de âmbito afetam frequentemente o desempenho da aplicação | O tratamento de erros inline evita erros. Power Fx otimizado para um melhor desempenho de runtime. |
Partilha | Segurança baseada em funções padrão do Dataverse. | Os comandos não Power Fx utilizam segurança baseada em funções padrão do Dataverse. Os comandos do Power Fx requerem atualmente que a biblioteca de componentes de comando seja partilhada para além de possuir direitos de acesso adequados. |
Comportamentos da solução e do ALM | Camadas de soluções inconsistentes e problemáticas, sem presença na interface de solução. Muitos comportamentos de soluções não são suportados, tais como patches, segmentação, atualização da solução, propriedades geridas e muitos outros. | Gestão central de camadas de soluções padrão para vários tipos de objeto de solução no Dataverse. Presente na interface de solução. Todos os comportamentos de soluções padrão são suportados. |
Localização | Não padrão | Utilização padronizada traduções de exportação e importação em toda a solução. |
Modelo de dados | Complexo. Otimizado para frisos clássicos e contém muitas propriedades que já não são necessárias. | Simples e otimizado para as barras de comando atuais de aplicações condicionadas por modelo. |
Utilizar JavaScript | Sim | Sim. Agora, é mais simples. Nota: o mesmo JavaScript pode ser utilizado para comandos clássicos e modernos. |
Personalizar comandos de configuração predefinidos | Sim | Os comandos tornam-se editáveis no estruturador de comandos uma vez migrados para a arquitetura moderna. |
Comandos específicos da aplicação | No | Sim. A utilização do estruturador de comandos moderno assegura que os comandos só estão visíveis na aplicação selecionada. |
Comandos específicos da tabela que serão apresentados em todas as aplicações que contenham a tabela | Sim | Sim. Requer a modificação da definição appaction no ficheiro da solução. |
Comandos globais que serão apresentados para todas as tabelas e aplicações para a localização da barra de comandos especificada | Sim | Sim. Requer a modificação da definição appaction no ficheiro da solução. |
Criar botões separadores, flyouts e grupos | Sim | Sim |
Povoar dinamicamente um flyout com código | Sim | Não. Recomendamos que crie comandos declarativamente. |
Personalizar comandos do cabeçalho de aplicações globais | Sim | Não |
Personalizar comandos para outras localizações da barra de comandos, raras ou obsoletas | Sim | Não |
Executar um fluxo ou fluxo de trabalho moderno | Utilizar JavaScript | Utilizar JavaScript. Também é suportada a utilização de uma página personalizada. |
Comparação de regras de visibilidade clássica versus modernas
Muitas vezes, as regras de visibilidade clássicas tinham uma regra específica para cada cenário. Com o Power Fx, uma função declarativa substitui muitas regras clássicas. É muito mais simples de utilizar.
Tenha em atenção que as regras de visibilidade clássicas também serão suportadas em breve em comandos modernos. No entanto, o suporte para regras clássicas era necessário para migrar com segurança comandos clássicos para comandos modernos, e a personalização de regras clássicas no estruturador de comandos não é suportada. Recomendamos que utilize o Power Fx a partir de agora.
Caso de utilização | Regra clássica | Opções clássicas | Propriedade visible do Power Fx |
---|---|---|---|
Mostrar/ocultar com base em valores de dados | CustomRule | Utilizar JavaScript | !IsBlank(Self.Selected.Item.Email) |
Mostrar/ocultar com base na permissão da tabela | EntityPrivilegeRule | Várias | DataSourceInfo() |
Mostrar/ocultar com base na permissão do registo | RecordPrivilegeRule | Várias | RecordInfo() |
Referir o contexto de controlo para tabelas principais e relacionadas | EntityRule | PrimaryEntity. SelectedEntity | Self.Selected |
Referir o contexto de controlo | 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. Desativado. BulkEdit | Self.Selected.State = FormMode.New |
Mostrar quando > 1 registo é selecionado numa grelha | SelectionCountRule | CountRows(Self.Selected.Items) > 1 | |
Mostrar/ocultar para uma tabela relacionada numa procura polimórfica. Por exemplo, verifique se a procura é um utilizador OU uma equipa | CustomRule | PrimaryEntityTypeCode | IsType(), AsType |
Propriedades do ambiente de referência (Org) | CustomRule | OrgName. OrgLcid. UserLcid | Atualmente não disponível |
Perguntas mais frequentes
- Por que vejo mais comandos no estruturador do que na minha aplicação?
- Existem várias razões. Por vezes, existe uma lógica de visibilidade que ocultará o comando ao executar a aplicação. Outras vezes estes comandos são injetados dinamicamente através de JavaScript personalizado durante o runtime e não são configuráveis.
- Por que vejo comandos duplicados no estruturador?
- Este era um padrão comum utilizado com comandos clássicos. Ambos os comandos não apareciam no tempo de execução, uma vez que eram controlados pelas regras de visibilidade. O estruturador de comandos irá mostrar todos os comandos, independentemente das suas regras de visibilidade.
Consulte também
Personalizar a barra de comando usando o estruturador de comandos
Gerir comandos em soluções
Limitações modernas conhecidas dos comandos