Introducción al scripting del lado del cliente

Completado

El scripting del cliente le permite utilizar JavaScript en aplicaciones basadas en modelos de Power Apps para implementar lógicas empresariales personalizadas. El scripting del cliente debe ser una alternativa cuando las reglas de negocio declarativas no cumplen los requisitos. El scripting del cliente se ejecuta en un formulario basado en modelo en respuesta a los eventos de formulario. Los siguientes eventos son los más comunes para los que puede registrar controladores:

  • Carga del formulario

  • Los datos de una columna han cambiado

  • El formulario se guarda

Además, puede configurar un botón de la barra de comandos para invocar una función de script de cliente cuando se presiona.

Algunas de las tareas comunes que puede realizar mediante secuencias de comandos de cliente incluyen:

  • Obtener o establecer valores de columna en el formulario.

  • Mostrar y ocultar elementos de la interfaz de usuario.

  • Hacer referencia a múltiples controles por columna.

  • Cambiar entre formularios donde hay diferentes formularios para una tabla.

  • Abrir formularios, vistas, diálogos e informes.

  • Interactuar con el control de flujo de procesos de negocio.

Utilizar la API de scripting de cliente proporcionada, deberá implementar su interacción con los datos, los cambios en el contenido de los formularios o las modificaciones del comportamiento de la aplicación. Mientras escribe su lógica en JavaScript, es importante tener en cuenta que, aunque el formulario usa HTML estándar, la manipulación directa del contenido el formulario no es compatible. El scripting del cliente proporciona un modelo de objeto con métodos para interactuar con los distintos componentes del formulario. Este enfoque garantiza que cualquier cambio en el diseño o en el HTML específico utilizado en la representación del formulario no afecte a su lógica empresarial. Es igualmente importante que solo use objetos y funciones documentados y no cualquiera que pueda descubrir, ya que estos pueden cambiar o no estar disponibles en cualquier momento. Para obtener más información sobre las personalizaciones admitidas y no admitidas, consulte Prácticas de creación de aplicaciones de Microsoft Dataverse: Power Apps en la guía para desarrolladores de Dataverse.

Esta es la estructura de alto nivel del modelo de objetos y los espacios de nombres de la API de secuencias de comandos del cliente:

Captura de pantalla que muestra todos los espacios de nombres en el modelo de objeto de la API de secuencias de comandos del cliente, Xrm, App, device, Encoding, Navigation, Panel, Utility, WebAPI.

  • Aplicación: permite agregar controladores de eventos para cualquier notificación de nivel de aplicación.

  • Dispositivo: permite, con consentimiento, acceder al contenido del dispositivo, como imagen, vídeo, sonido, ubicación y más.

  • Codificación: acceso rápido a las funciones de codificación/decodificación HTML.

  • Navegación: proporciona funciones de navegación independientes de la plataforma, incluidos cuadros de diálogo abiertos, formularios, archivos y URL.

  • Panel: muestra la página web representada por una URL en el área estática del panel lateral, que aparece en todas las páginas del cliente web de aplicaciones basadas en modelos.

  • Utilidad: colección de funciones de utilidad, incluido el acceso a metadatos y varios objetos de contexto.

  • WebAPI: proporciona propiedades y funciones para utilizar la API web para crear y administrar registros y ejecutar acciones y funciones de la API web.

Otro concepto clave de alto nivel son los objetos de contexto que están disponibles como parámetros del controlador de eventos o pueden recuperarse mediante métodos especiales. Estos objetos de contexto ayudan a evitar escribir código que está conectado a un diseño de control de formulario particular o control específico. Los siguientes son los contextos con los que trabaja:

  • Ejecución: define el contexto del evento en el que se ejecuta su código. El contexto de ejecución se pasa cuando ocurre un evento en un formulario o cuadrícula, que puede usar en su controlador de eventos para realizar varias tareas, como determinar formContext o gridContext o administrar el evento de guardado.

  • Formulario: proporciona una referencia al formulario o a un elemento de este, como un control de vista rápida o una fila en una cuadrícula editable, con la que se ejecuta el código actual. El contexto del formulario se recupera utilizando el método getFormContext() del contexto de ejecución o se incluye como un argumento cuando el código se ejecuta desde una acción de la cinta. El contexto del formulario tiene los siguientes espacios de nombres clave dentro de él:

    • datos: este espacio de nombres da acceso a los datos de la fila de la tabla que se presenta en un formulario. Incluye funciones como guardar y actualizar. Por ejemplo, formContext.data.entity.save ("saveandnew");

    • iu: este espacio de nombres le permite manipular controles en el formulario, como pestañas, secciones y controles. Las tareas comunes incluyen esconder, mostrar y crear requeridos o no requeridos. Por ejemplo, formContext.ui.refreshRibbon (true);

  • Cuadrícula: proporciona información de contexto a los controladores de eventos registrados en subcuadrículas en un formulario.

Como pueda deducir de las descripciones de alto nivel, el uso de la API de scripting del cliente le brinda mucha flexibilidad para implementar la lógica en el lado del cliente. Sin embargo, es importante recordar que la lógica implementada con secuencias de comandos en el lado del cliente se aplica solo cuando el usuario está utilizando la aplicación. En muchos casos, las secuencias de comandos del cliente deben combinarse con la implementación del lado del servidor para garantizar que la lógica siempre se aplique independientemente del método utilizado para acceder a los datos y la funcionalidad. En el resto de este módulo, profundizaremos en cómo utilizar las secuencias de comandos del cliente.