Visión xeral dos comandos modernos
Os comandos impulsan o comportamento das aplicacións básicas para aplicacións baseadas en modelos. Son os botóns cos que interactúan os usuarios ao reproducir aplicacións e as accións resultantes que se realizan cando se selecciona un botón. Cada comando sitúase en relación con outros comandos e está ligado a unha localización da barra de comandos dentro da aplicación.

A un alto nivel, a personalización de comandos encaixa nas seguintes categorías. Existen varias capacidades dentro de cada categoría e están cubertas con máis profundidade na documentación de mando moderna:
- Mostrar. Como aparece o botón e onde se atopa nunha aplicación. Por exemplo, a etiqueta do botón, a icona e as etiquetas de accesibilidade, así como a localización e posición da barra de comandos dentro dunha barra de comandos.
- Acción. A lóxica que se executa cando se selecciona un botón. Por exemplo, crear e actualizar datos ou interactuar con varios controis e páxinas dentro da aplicación.
- Visibilidade. Condicións lóxicas que especifican cando un botón está visible ou oculto para un usuario. Por exemplo, pode querer que o botón sexa visible para algúns usuarios e oculto para outros. Ou quizais o botón só debería estar visible cando se cumpran determinados criterios dos rexistros de datos.
Localizacións da barra de comandos
Grade principal. Esta barra de comandos aparece ao usar a navegación esquerda dunha aplicación para ver a lista completa de páxinas de rexistros desta táboa.

Diferenzas clave entre os comandos clásicos e os modernos
Os comandos clásicos (antes coñecidos como cinta) non se podían personalizar usando apenas código. Co código, as personalizacións de comandos eran difíciles, tediosas e propensas a erros. Para escalar os comandos ao uso de pouco código, así como ao uso de páxinas personalizadas para converxer aplicacións baseadas en lenzo e modelos, era vital reinventar e reconstruír a infraestrutura dos comandos.
O comando moderno ofrece moitas novas capacidades e é moito máis sinxelo de usar.
| Capacidade | Clásico | Moderno |
|---|---|---|
| Admite no tempo de execución da aplicación baseada en modelos | Si | Si, tamén admite o tempo de execución de Power Fx. |
| Uso personalizado | Edición manual de XML dentro de ficheiros de solución ou utilizando ferramentas de terceiros. Operacións de exportación e importación de solucións que requiren moito tempo. | Deseñador de comandos así como Dataverse Soporte de API. |
| Soporta Power Fx. | No | Si. Por accións e visibilidade. |
| Tempo necesario para personalizar | Lento, propenso a erros. | Rápido |
| Fiabilidade e rendemento | Fácil de cometer erros. A mala personalización e a falta de alcance adoitan afectar o rendemento da aplicación | O tratamento de erros en liña evita erros. Power Fx optimizado para un mellor rendemento de execución. |
| Compartir | Estándar Dataverse seguridade baseada en roles. | Os comandos non Power Fx usan o estándar Dataverse seguridade baseada en roles. Os comandos de Power Fx actualmente requiren que a biblioteca de compoñentes de comandos se comparta ademais de ter un rol de seguranza axeitado. |
| Comportamentos de solución e ALM | Estratificación de solucións inconsistente e problemática, sen presenza na interface da solución. Moitos comportamentos de solución estándar non son compatibles, como parches, segmentación, actualización da solución, propiedades xestionadas e moitos máis. | Capas de solución estándar xestionadas de forma centralizada para varios tipos de obxectos de solución Dataverse. Presente na interface da solución. Admítense todos os comportamentos de solución estándar. |
| Localización | Non estándar | Estandarizado mediante traducións de exportación e importación para toda a solución. |
| Modelo de datos | Complexo. Optimizado para cintas clásicas e contén moitas propiedades que xa non son necesarias. | Simple, optimizado para as barras de comandos das aplicacións baseadas en modelos actuais. |
| Usa JavaScript | Si | Si. Agora máis sinxelo. Nota: Pódese usar o mesmo JavaScript para comandos clásicos e modernos. |
| Personaliza comandos listos para usar | Si | Os comandos fanse editables no deseñador de comandos unha vez migrados ao marco moderno. |
| Comandos específicos da aplicación | No | Si. Usar o deseñador de comandos moderno garante que os comandos só sexan visibles na aplicación seleccionada. |
| Comandos específicos da táboa que se mostrarán en todas as aplicacións que conteñan a táboa | Si | Si. Require modificar oappaction definición dentro do ficheiro de solución. |
| Comandos globais que se mostrarán para todas as táboas e aplicacións para a localización da barra de comandos especificada | Si | Si. Require modificar oappaction definición dentro do ficheiro de solución. |
| Crea botóns divididos, menús flotantes e grupos | Si | Si |
| Enche dinámicamente un menú flotante con código | Si | Non. Recomendamos crear comandos de forma declarativa. |
| Personaliza os comandos de cabeceira das aplicacións globais | Si | No |
| Personaliza os comandos para outras localizacións da barra de comandos / pouco comúns ou obsoletas | Si | No |
| Executa un fluxo ou fluxo de traballo moderno | Usando JavaScript | Usando JavaScript. Tamén se admite mediante unha páxina personalizada. |
Comparación de regras de visibilidade clásicas versus modernas
As regras clásicas de visibilidade tiñan moitas veces unha regra específica para cada escenario. Con Power Fx, unha función declarativa substitúe moitas regras clásicas. E é moito máis sinxelo de usar.
Teña en conta que as regras clásicas de visibilidade tamén serán compatibles en breve nos comandos modernos. Non obstante, o soporte para as regras clásicas era necesario para migrar de forma fiable os comandos clásicos aos comandos modernos e non se admite a personalización de regras clásicas no deseñador de comandos. Recomendamos que use Power Fx no futuro.
| Caso de uso | Regra clásica | Opcións clásicas | Propiedade visible de Power Fx |
|---|---|---|---|
| Mostrar/ocultar en función dos valores dos datos | Regra personalizada | Usa JavaScript | !IsBlank(Self.Selected.Item.Email) |
| Mostrar/ocultar segundo o permiso da táboa | EntityPrivilegeRule | Varias | DataSourceInfo() |
| Mostrar/ocultar segundo o permiso de gravación | Regra de privilexio de rexistro | Varias | RecordInfo() |
| Consulta o contexto de control para as táboas primarias e relacionadas | Regra da entidade | Entidade primaria. Entidade seleccionada | Auto.Seleccionado |
| Referencia ao contexto de control | Regra da entidade | Formulario. HomepageGrid. SubGridStandard. SubGridAssociated | Auto.Seleccionado |
| Propiedades dos metadatos da táboa | EntityPropertyRule | DataSourceInfo() | |
| Mostrar/ocultar segundo o estado do formulario. Por exemplo, mostrar para o formulario de creación | FormStateRule | Crear. Existente. Só lectura. Desactivado. Edición masiva | Self.Selected.State = FormMode.New |
| Mostrar cando se seleccionan > 1 rexistros nunha cuadrícula | SelectionCountRule | CountRows(Self.Selected.Items) > 1 | |
| Mostrar/ocultar unha táboa relacionada nunha busca polimórfica. Por exemplo, comprobe se a busca é un usuario OU un equipo | Regra personalizada | PrimaryEntityTypeCode | IsType(), AsType |
| Propiedades do entorno de referencia (Org) | Regra personalizada | OrgName. OrgLcid. UserLcid | Non dispoñible actualmente |
Preguntas máis frecuentes
- Por que vexo máis comandos no deseñador que os que vexo na miña aplicación?
- Hai varias razóns. Ás veces hai lóxica de visibilidade que ocultará o comando ao executar a aplicación. Noutras ocasións estes comandos inxéctanse de forma dinámica mediante JavaScript personalizado durante o tempo de execución e non se poden configurar.
- Por que vexo comandos duplicados no deseñador?
- Este era un padrón común empregado cos comandos clásicos. Ambos os comandos non aparecían no tempo de execución xa que estaban controlados por regras de visibilidade. O deseñador de comandos amosará todos os comandos, independentemente das súas regras de visibilidade.
Consulte tamén
Personalizar a barra de comandos co deseñador de comandos
Xestionar os comandos nas solucións
Limitacións coñecidas dos comandos modernos
Comentarios
Enviar e ver os comentarios
