Use el comprobador de soluciones para validar sus soluciones

Para cumplir complejos requisitos de negocio, los creadores con frecuencia pueden terminar con soluciones muy avanzadas que personalizan y extienden la plataforma Microsoft Dataverse. Con implementaciones avanzadas aumenta el riesgo, pues se presentan problemas de rendimiento, estabilidad y fiabilidad que pueden afectar negativamente la experiencia de usuario. Identificar y comprender cómo resolver estos problemas puede ser complejo y laborioso. Con la característica del comprobador de soluciones puede realizar una completa verificación de análisis estático de sus soluciones con un conjunto de reglas de prácticas recomendadas e identificar rápidamente estos patrones problemáticos. Cuando la comprobación se completa, usted recibe un informe detallado que lista los problemas identificados, los componentes y el código afectados y vínculos a la documentación que describe cómo solucionar cada problema.

El comprobador de soluciones analiza estos componentes de la solución:

  • Actividades de flujo de trabajo personalizadas Dataverse
  • Recursos web de Dataverse (HTML y JavaScript)
  • Configuraciones de Dataverse, como pasos de mensajes de SDK
  • Flujos de Power Automate (a través del comprobador de flujo)
  • Expresiones de Power Fx (a través del comprobador de aplicaciones)

El comprobador de soluciones trabaja con soluciones no administradas que se pueden exportar desde un entorno.

Nota

  • En este tema se explica cómo ejecutar el comprobador de soluciones desde el portal de creadores de Power Apps. También está disponible un módulo de PowerShell que puede usar para interactuar directamente con el servicio. El módulo Microsoft.PowerApps.Checker.PowerShell se puede usar para análisis de soluciones no administradas para versiones admitidas de Power Apps entornos locales y en línea, o para automatizar e integrar el servicio en las canalizaciones de compilación y de lanzamiento. Más información: Información general sobre Microsoft.PowerApps.Checker.PowerShell
  • El comprobador de soluciones admite variables globales para ECMAScript 2015 (ES6) y sintaxis hasta ECMAScript 2018 (ES9). Cuando se detecta que en JavaScript se utilizan variables globales posteriores a ES6 o una sintaxis posterior a ES9, se notifica un problema de sintaxis no admitida en web para el recurso web.
  • El uso del comprobador de soluciones no garantiza que la importación de una solución tenga éxito. Las comprobaciones de análisis estático realizadas contra la solución no conocen el estado configurado del entorno de destino y el éxito de la importación puede depender de otras soluciones o configuraciones en el entorno.

Ejecutar el comprobador de soluciones

  1. Inicie sesión en Power Apps.

  2. En el panel izquierdo, seleccione Soluciones. Si el elemento no se encuentra en el panel lateral, seleccione …Más y, a continuación, el elemento que desee.

  3. Junto a la solución no administrada que desea analizar, seleccione ..., señale a Comprobador de soluciones y, a continuación seleccione Ejecutar.

    Ejecutar comando de comprobador de soluciones.

  4. El botón de comando Comprobador de soluciones tiene un indicador de carga y verá Ejecutando... en la columna Comprobación de solución de la lista Solución.

    Estado del comprobador de soluciones.

    Tenga en cuenta lo siguiente:

    • El comprobador de soluciones puede tardar varios minutos en completar el análisis.

    • Usted recibe un correo electrónico de notificación y una notificación en el área Notificaciones del sitio de Power Apps cuando finalice la comprobación.

  5. Vea el informe cuando finalice la comprobación.

Cancelar una comprobación

Después de enviar una comprobación de soluciones en el entorno, la comprobación se puede cancelar a través del panel de estado en el área superior derecha de la página Soluciones.

Cuando usted cancela una comprobación, la comprobación de la solución deja de ejecutarse y la comprobación de la solución vuelve al estado anterior.

Estados del comprobador de soluciones

Al instalar el comprobador de soluciones en el entorno, la columna Comprobación de solución pasa a estar disponible en la lista Soluciones. En esta columna se muestran los estados de análisis para una solución.

Estado Descripción
No se ha ejecutado La solución no se ha analizado.
En ejecución La solución se está analizando.
No se pudo completar El análisis de soluciones se ha solicitado pero no se ha completado correctamente.
Resultados en la fecha y hora El análisis de soluciones se ha completado y los resultados están disponible para descarga.
No se pudo completar. Resultado en la fecha y hora La última solicitud de análisis no se completó correctamente. Los últimos resultados correctos pueden descargarse.
Comprobado por Microsoft Esta es una solución administrada de Microsoft. El análisis de soluciones no está permitido en estas soluciones.
Comprobado por el editor Se trata de una solución administrada por terceros. Actualmente, los análisis de soluciones no está disponible para estas soluciones.

Revise el informe del comprobador de soluciones

Cuando se completa una comprobación de la solución, puede ver el informe de análisis en el portal o puede descargar el informe desde el explorador web. En el portal, tiene opciones de ordenar los resultados por Error, Ubicación o Gravedad y ver información detallada de los problemas detectados en la solución.

  1. En el panel izquierdo, seleccione Soluciones. Si el elemento no se encuentra en el panel lateral, seleccione …Más y, a continuación, el elemento que desee.

  2. Junto a la solución no administrada donde desea ver el informe del comprobador de soluciones, seleccione ..., señale a Comprobador de soluciones y, a continuación seleccione Ver resultados.

  3. Seleccione un problema para ver los detalles y orientación sobre cómo resolverlo.

    Resultados de la vista del comprobador de soluciones.

Los resultados de comprobación de la solución también están disponibles para descarga. El archivo zip del comprobador de soluciones se descarga en la carpeta especificada por el explorador web. El informe de descarga está en formato Excel y contiene varias visualizaciones y columnas que ayudan a identificar de impacto, tipo, y la ubicación de cada problema detectado en la solución. Un vínculo a orientación detallada sobre cómo resolver el problema también se proporciona.

  1. En el panel izquierdo, seleccione Soluciones. Si el elemento no se encuentra en el panel lateral, seleccione …Más y, a continuación, el elemento que desee.
  2. Junto a la solución no administrada donde desea descargar el informe del comprobador de soluciones, seleccione ..., señale a Comprobador de soluciones y, a continuación seleccione Descargar resultados.
  3. El archivo zip del comprobador de soluciones se descarga en la carpeta especificada por el explorador web.

Este es un resumen de cada columna del informe.

Columna de informe Descripción Se aplica al componente
Emitir El título del problema identificado en la solución. Todo
Categoría La categorización del problema identificado, como Rendimiento, Mantenibilidad, Uso, Compatibilidad, Diseño, Seguridad, Accesibilidad o Actualización de preparación. Todos
Gravedad Representa el impacto potencial del problema identificado. Los tipos de impacto disponibles son Crítico, Alto, Medio, Bajo e Informativo. Todos
Instrucciones Vínculo al artículo que detalla el problema, el impacto, y acción recomendada. Todo
Componente El componente de soluciones donde se identificó el problema. Todo
Location La ubicación y/o el archivo de origen del componente donde se produjo el problema que se ha identificado, como el ensamblado o el nombre de archivo JavaScript. Todo
Nº. de línea La referencia de número de línea del problema en el componente del recurso web afectado. Recursos web
Módulo Nombre del módulo donde se detectó el problema identificado en el ensamblado. Actividad de flujo de trabajo personalizado
Tipo Tipo de problema identificado en el ensamblado. Actividad de flujo de trabajo personalizado
Miembro Miembro del problema identificado en el ensamblado. Actividad de flujo de trabajo personalizado
Instrucción La instrucción de código o configuración produjo el problema. Todo
Comentarios Detalles acerca del problema que incluyen pasos de resolución de alto nivel. Todos

Ejecutar las reglas del comprobador de soluciones localmente

Puede ejecutar reglas del comprobador de soluciones en su entorno de desarrollo para detectar problemas mucho antes a medida que crea los recursos de la solución. Esto es compatible actualmente con los recursos web (JavaScript y TypeScript). Para obtener más detalles, vaya al paquete de NPM @microsoft/eslint-plugin-power-apps.

Reglas de prácticas recomendadas usadas por el comprobador de soluciones

La siguiente tabla enumera el tipo de componente, la descripción de la regla, su gravedad y su categoría. Las infracciones críticas se bloquean o advierten cuando se configuran para la aplicación del comprobador de soluciones con entornos administrados. Más información: Usar el verificador de soluciones en entornos gestionados

Componente de la solución Nombre de regla Descripción de la regla Gravedad Category
Complemento o actividad de flujo de trabajo meta-remove-dup-reg Evite duplicar registros del complemento Dataverse. Crítico Rendimiento
Complemento o actividad de flujo de trabajo meta-avoid-reg-no-attribute Incluir atributos de filtrado con el registro de complementos de Dataverse Medio Rendimiento
Complemento o actividad de flujo de trabajo meta-avoid-reg-retrieve Adopta precauciones con complementos de Dataverse registrados para mensajes Retrieve y RetrieveMultiple. Medio Rendimiento
Complemento o actividad de flujo de trabajo meta-remove-inactive Quitar configuraciones inactivas de Dataverse. Bajo Mantenimiento
Complemento o actividad de flujo de trabajo meta-avoid-crm4-event No use la fase de registro de complementos Microsoft Dynamics CRM 4.0. Medio Upgrade Readiness
Complemento o actividad de flujo de trabajo meta-avoid-retrievemultiple-annotation Evite registrar un complemento en RetrieveMultiple de anotación. Alto Uso
Recursos web use-async Interactúe con recursos HTTP y HTTPS forma asincrónica. Crítico Rendimiento
Recursos web avoid-modals Evite el uso de diálogos modales. Alto Compatibilidad
Recursos web avoid-dom-form Alto Compatibilidad
Recursos web avoid-dom-form-event Alto Compatibilidad
Recursos web avoid-crm2011-service-odata No se dirija al extremo de Microsoft Dynamics CRM 2011 OData 2.0. Crítico Upgrade Readiness
Recursos web avoid-crm2011-service-soap No se dirija a los servicios de Microsoft Dynamics CRM 2011 SOAP. Crítico Upgrade Readiness
Recursos web avoid-loadtheme No utilices la API loadTheme de Fluent v8. Bajo Compatibilidad
Recursos web avoid-browser-specific-api No use complementos del explorador o API heredados de Internet Explorer. Crítico Upgrade Readiness
Recursos web avoid-unpub-api Alto Compatibilidad
Recursos web avoid-window-top Alto Compatibilidad
Recursos web avoid-2011-api No use el modelo de objetos de Microsoft Dynamics CRM 2011 en desuso. En su lugar, siga la documentación de la API web de Dataverse. Alto Upgrade Readiness
Recursos web use-relative-uri No use URL de extremo absolutos de Dataverse. Medio Mantenimiento
Recursos web use-cached-webresource Medio Rendimiento
Recursos web use-client-context Use contextos del cliente. Medio Upgrade Readiness
Recursos web use-navigation-api Utilice los parámetros de las API de navegación. Medio Upgrade Readiness
Recursos web use-offline Medio Upgrade Readiness
Recursos web do-not-make-parent-assumption Alto Diseño
Recursos web use-org-setting Use configuración de organización. Medio Upgrade Readiness
Recursos web use-global-context Medio Upgrade Readiness
Recursos web use-grid-api Use las API de cuadrícula. Medio Upgrade Readiness
Recursos web use-utility-dialogs Medio Uso
Recursos web avoid-isActivityType Reemplace el método Xrm.Utility.isActivityType por el nuevo Xrm.Utility.gettableMetadata y no lo utilice en reglas de cinta de opciones. Medio Upgrade Readiness
Recursos web meta-avoid-silverlight El uso del recurso web de Silverlight ha quedado obsoleto. Medio Upgrade Readiness
Recursos web remove-debug-script Evite incluir el script de depuración en entornos que no sean de desarrollo. Medio Uso
Recursos web use-strict-mode Utilice el modo estricto si es posible. Medio Uso
Recursos web use-strict-equality-operators Utilice operadores de igualdad estricta. Medio Uso
Recursos web avoid-eval No use la función 'eval' o sus equivalentes funcionales. Crítico Seguridad
Recursos web avoid-with No use el operador "with". Alto Rendimiento
Recursos web remove-alert No use la función 'alerta' ni sus equivalentes funcionales. Medio Uso
Recursos web remove-console Evitar usar métodos en la consola. Medio Uso
Recursos web avoid-ui-refreshribbon Evite el uso de refreshRibbon en form onload y EnableRule. Crítico Rendimiento
Recursos web use-getsecurityroleprivilegesinfo Evite userSettings.securityRolePrivileges. Utilice userSettings.getSecurityRolePrivilegesInfo en su lugar. Alto Rendimiento
Recursos web use-appsidepane-api Utilice Xrm.App.sidePanes.createPane en lugar de Xrm.Panels.loadPanel. Medio Upgrade Readiness
Recursos web web-sdl-no-cookies Las cookies HTTP son un antiguo mecanismo de almacenamiento del lado del cliente con riesgos y limitaciones inherentes. Utilice Web Storage, IndexedDB u otros métodos modernos en su lugar. Medio Seguridad
Recursos web web-sdl-no-document-domain Las escrituras en la propiedad document.domain deben revisarse para evitar eludir las verificaciones del mismo origen. El uso de dominios de nivel superior como azurewebsites.net está estrictamente prohibido. Medio Seguridad
Recursos web web-sdl-no-document-write Las llamadas a document.write o document.writeln manipulan DOM directamente sin ningún tipo de saneamiento y deben evitarse. Utilice document.createElement() o métodos similares en su lugar. Medio Seguridad
Recursos web web-sdl-no-html-method Las llamadas directas al método html() a menudo (por ejemplo, en jQuery framework) manipulan el DOM sin ningún tipo de saneamiento y deben evitarse. Utilice document.createElement() o métodos similares en su lugar. Medio Seguridad
Recursos web web-sdl-no-inner-html Las asignaciones a las propiedades innerHTML u outerHTML manipulan DOM directamente sin ningún tipo de desinfección y deben evitarse. Utilice document.createElement() o métodos similares en su lugar. Medio Seguridad
Recursos web web-sdl-no-insecure-url Los protocolos no seguros, como HTTP o FTP, deben reemplazarse por sus homólogos cifrados (HTTPS, FTPS) para evitar el envío de datos potencialmente confidenciales a través de redes que no son de confianza en texto sin formato. Medio Seguridad
Recursos web web-sdl-no-msapp-exec-unsafe Las llamadas a MSApp.execUnsafeLocalFunction() omiten la validación de inserción de script y se deben evitar. Medio Seguridad
Recursos web web-sdl-no-postmessage-star-origin Proporcione siempre un origen de destino específico, no * al enviar datos a otras ventanas mediante postMessage para evitar la fuga de datos fuera de ese límite de confianza. Medio Seguridad
Recursos web web-sdl-no-winjs-html-unsafe Las llamadas a WinJS.Utilities.setInnerHTMLUnsafe() y métodos similares no realizan ninguna validación de entrada y deben evitarse. Utilice WinJS.Utilities.setInnerHTML() en su lugar. Medio Seguridad
Aplicación de lienzo app-formula-issues-high Consulte las referencias de fórmulas de Power Apps para obtener detalles adicionales. Crítico Diseño
Aplicación de lienzo app-formula-issues-medium Consulte las referencias de fórmulas de Power Apps para obtener detalles adicionales. Medio Diseño
Aplicación de lienzo app-formula-issues-low Consulte las referencias de fórmulas de Power Apps para obtener detalles adicionales. Bajo Diseño
Aplicación de lienzo app-use-delayoutput-text-input Utilice la carga retrasada en algunos escenarios para mejorar el rendimiento. Medio Rendimiento
Aplicación de lienzo app-reduce-screen-controls Limite el número de controles de la aplicación para mejorar el rendimiento. Medio Rendimiento
Aplicación de lienzo app-include-accessible-label Utilice etiquetas explícitas para mejorar la accesibilidad de la aplicación. Medio Accesibilidad
Aplicación de lienzo app-include-alternative-input Asegúrese de que todos los elementos interactivos sean accesibles para entradas alternativas. Medio Accesibilidad
Aplicación de lienzo app-avoid-autostart Evite utilizar el inicio automático en reproductores dentro de una aplicación. Medio Accesibilidad

Consulte también

Prácticas recomendadas e instrucciones para Dataverse
Prácticas recomendadas e instrucciones para aplicaciones basadas en modelos
Problemas y soluciones comunes para el Comprobador de soluciones

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).