Prácticas recomendadas de personalización
Siga estas prácticas recomendadas para evitar problemas de rendimiento, usabilidad y compatibilidad con Dynamics 365 Field Service.
Minimizar campos personalizados en formularios
Los personalizadores del sistema agregan campos personalizados a formularios de entidad para capturar información específica de su industria y negocio, para ejecutar procesos comerciales y para recopilar información sobre la cual informar. Sin embargo, demasiados campos personalizados en un formulario pueden causar problemas de rendimiento.
Para evitar problemas de rendimiento:
- Minimice la cantidad de campos personalizados en todos los formularios. Si el formulario de orden de trabajo es el que más utiliza en la aplicación Field Service, conviene empezar con ese formulario.
- Minimice los campos de tipo de búsqueda y la subcuadrícula entre los campos personalizados.
- Mueva los campos personalizados (sobre todo los de búsquedas y subcuadrículas) de la primera pestaña del formulario a otras pestañas del formulario.
- Oculte los campos menos utilizados de forma predeterminada en el formulario.
No cambie los recursos web, conjuntos de opciones, roles de seguridad o flujos de trabajo predefinidos
No cambio ni personalice recursos web, conjuntos de opciones, roles de seguridad o flujos de trabajo predefinidos. De lo contrario, podría provocar un comportamiento no deseado del sistema.
Es posible que las organizaciones que personalizan estos componentes no experimenten problemas inmediatamente en su entorno. Sin embargo, los cambios que Microsoft lanza a los componentes personalizados listos para usar no se aplican a la capa superior de esos componentes. En su lugar, la capa personalizada específica anula todos los cambios futuros, y esas anulaciones acaban provocando errores y comportamientos impredecibles.
No modifique, edite o elimine campos de fecha o estados del sistema
Modificar, editar, o eliminar campos de fecha y estados puede afectar a la lógica de negocios y pueden causar problemas con las actualizaciones de la solución. Algunos ejemplos de campos de fecha de órdenes de trabajo son Hora de inicio prometida y Hora de finalización prometida. Los ejemplos de campos de estado incluyen Estado del sistema para la orden de trabajo y Estado del sistema del contrato.
No edite ni elimine campos predefinidos de los formularios
Los clientes editan campos predefinidos para adaptarse a sus necesidades comerciales. Sin embargo, editar campos listos para usar puede causar errores, especialmente cuando los procesos dependen de esos campos.
Para evitar errores:
- Ocultar campos no deseados de un formulario.
- Mueva los campos no deseados a otra pestaña de formulario.
Por ejemplo, los procesos de Field Service calculan el valor del campo Tiempo estimado de llegada en el registro Reserva de recursos que se pueden reservar para indicar cuándo se espera que llegue un trabajador de primera línea al sitio. Si su organización no necesita este campo, ocúltelo en el formulario en lugar de eliminarlo.
No edite los valores de conjunto de opciones (opción)
Editar los valores de conjuntos de opciones de los campos predefinidos puede causar errores, especialmente cuando los procesos dependen de esos campos o durante las actualizaciones.
Para evitar errores:
- Edite solo las etiquetas del conjunto de opciones de los campos listos para usar. Nunca edite los valores del conjunto de opciones de estos campos.
- No elimine ninguna opción conjunto de opciones.
- No agregue ninguna opción conjunto de opciones.
Por ejemplo, la orden de trabajo de Field Service incluye un campo llamado Estado del sistema de forma predeterminada. Este campo es un conjunto de opciones (del tipo de elección) y tiene opciones como Sin programar, Programado, En curso, Completado y Cancelado. Cada opción tiene un valor y una etiqueta del número asociados. Los administradores del sistema pueden editar las etiquetas de los conjuntos de opciones (como No programado) pero nunca pueden editar el valor numérico asociado de la etiqueta.
Use menos scripts personalizados y siga las mejores prácticas
Los personalizadores del sistema escriben scripts, normalmente recursos web JavaScript, para ejecutar la lógica empresarial. Sin embargo, los scripts personalizados pueden causar problemas de rendimiento, errores y complicaciones al actualizar.
Para evitar estos problemas:
- Minimice el número de scripts que se ejecutan al cargarse.
- No escriba scripts que llamen a muchos datos ni escriba varios scripts que llamen a los mismos datos.
En las siguientes secciones se describen las prácticas recomendadas. Además, siga las mejores prácticas de script de formulario en Mejores prácticas para desarrollar con Dynamics 365 Customer Engagement.
Minimizar la cantidad de solicitudes de red y la cantidad de datos solicitados en el evento OnLoad
Cuanto mayor sea el número de solicitudes de red realizadas durante la carga de un formulario y cuanto mayor sea la cantidad de datos descargados de esas solicitudes, más tiempo tardará en cargarse un formulario. Solicite solo la cantidad mínima de datos necesaria. Asimismo, considere también la posibilidad de almacenar los datos en caché cuando sea posible para evitar que se soliciten datos innecesariamente en futuras cargas.
Evitar el uso de solicitudes de red sincrónicas
Las solicitudes de red sincrónicas pueden causar lentitud al cargar páginas y que los formularios no respondan. Utilice solicitudes asincrónicas en su lugar. En la siguiente entrada del blog encontrará más ejemplos: acelere sus aplicaciones basadas en modelos al alejarse de las solicitudes síncronas. Además, considere usar "async and wait" en cualquier escenario donde se necesiten múltiples llamadas de red para la misma entidad y registro. Más información sobre async and await.
Evite incluir bibliotecas de recursos web de JavaScript que no necesite
Cuantos más scripts agregue al formulario, más tiempo tardará en descargarlos. Por lo general, los scripts se almacenan en caché en el navegador después de cargarse por primera vez. Sin embargo, el rendimiento la primera vez que se ve un formulario a menudo crea una impresión significativa.
Evite cargar todos los scripts en el evento Onload
Si tiene código que únicamente admite los eventos OnChange
para columnas o el evento OnSave
, asegúrese de definir la biblioteca de scripts con el controlador de eventos para dichos eventos en lugar del evento OnLoad
. De esta manera, la carga de estas bibliotecas se puede aplazar y aumentar el rendimiento cuando el formulario se carga.
Use las fichas contraídas para aplazar la carga de recursos web
Los recursos web o los componentes iFrame incluidos en las secciones de una pestaña plegable no se cargan si se pliega la pestaña. Se cargarán cuando se expanda la ficha. Cuando el estado de la ficha cambia, se produce el evento TabStateChange
. Ningún código necesario para admitir recursos web o iFrames en fichas contraídas puede usar controladores de eventos para el evento TabStateChange
ni reducir código que, de otro modo, debería producirse en el evento OnLoad
.
Evite solicitudes de red duplicadas en el código del lado del cliente
Las solicitudes de red múltiples o duplicadas pueden hacer que el navegador web se detenga y afecte el tiempo de carga del formulario. Reducir el número de solicitudes puede mejorar el rendimiento. Una alternativa es consolidar las solicitudes de red y almacenar en caché el valor de las solicitudes. Además, considere las solicitudes de red asincrónicas, como se mencionó anteriormente.
Evite el uso de roles y llamadas específicas del usuario del sistema si la información relevante está disponible en las API de XRM
Utilice las API de XRM para evitar solicitudes de red para obtener información de privilegios de usuario. Obtenga más información sobre cómo realizar la transición de las solicitudes sincrónicas. Además, evite las llamadas de los usuarios del sistema si la información de las API de XRM cumple con sus requisitos.
Defina las opciones predeterminadas de visibilidad
Evite usar scripts de formularios en el evento OnLoad
que oculten elementos de formulario. En su lugar, defina las opciones predeterminadas de visibilidad de los elementos de formulario que podrían ocultarse para no ser visibles de forma predeterminada cuando el formulario se carga. A continuación, use los scripts en el evento OnLoad
para mostrar los elementos de formulario que desee mostrar.
Más información sobre los siguientes recursos:
- Diseñar formularios para rendimiento en aplicaciones basadas en modelos
- Personalizaciones no admitidas
Ejecutar el comprobador de soluciones en sus scripts
El Comprobador de soluciones de Power Apps es una herramienta útil de Microsoft que comprueba los problemas de las soluciones de Power Apps y recomienda mejores prácticas. Estos problemas incluyen problemas con JavaScript, HTML, complementos y actividades de flujo de trabajo personalizadas.
Más información sobre los siguientes recursos:
- Mejore el rendimiento, la estabilidad y la fiabilidad de los componentes con el verificador de soluciones
- Cómo ejecutar y utilizar el Comprobador de soluciones de Power Apps
- Comprobador de soluciones de Dataverse
Utilice flujos de trabajo asincrónicos en lugar de sincrónicos
Los personalizadores del sistema a menudo escriben flujos de trabajo sincrónico para efectuar lógica de negocios en tiempo real que se ejecuta cuando se modifican los datos en Field Service. Sin embargo, ejecutar flujos de trabajo sincrónicamente reduce el rendimiento. Para evitar problemas de rendimiento, ejecute en su lugar flujos de trabajo de forma asincrónica.
Activar los procesos predefinidos de Field Service y Programación de recursos
Field Service y Programación de recursos incluyen muchos procesos que llevan a cabo la lógica de negocios necesaria. Los procesos desactivados pueden provocar errores. Para evitar problemas, asegúrese de que todos los procesos de Field Service y Programación de recursos estén en un estado activo. Ejecute el centro de estado de la solución de Field Service regularmente, para identificar si los procesos están en un estado desactivado.
Ejecutar el Centro de estado de la solución para detectar problemas
El Centro de estado de la solución permite obtener una mejor imagen del estado del entorno y detectar problemas con el entorno de Dynamics 365. La configuración de un entorno puede cambiar con el tiempo debido a las operaciones naturales del sistema. El Centro de estado de la solución ejecuta reglas dentro de una instancia para validar la configuración del entorno. Algunas de las reglas son específicas de Field Service y puede ejecutarlas a petición cuando se produce un problema. Algunas reglas se desencadenan automáticamente cuando Field Service se instala o actualiza.
Para monitorear la salud de su entorno, ejecute regularmente el conjunto de reglas del centro de estado de la solución de Field Service.
Consideraciones de rendimiento de las aplicaciones móviles
La personalización de la aplicación móvil también puede afectar el rendimiento. Para obtener más información, vaya a Consideraciones de rendimiento al personalizar la aplicación móvil.