Introducción al scripting del lado del cliente
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 usar 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.
Al usar la API de scripting de cliente proporcionada, podrá 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:
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 a fin de crear y administrar registros o ejecutar acciones y funciones de la API web.
Otro concepto general importante es que los objetos de contexto pueden estar disponibles como parámetros del controlador de eventos o pueden recuperarse mediante métodos especiales. Estos objetos de contexto contribuyen a evitar la escritura de código 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 contiene los siguientes espacios de nombres:
data: este espacio de nombres proporciona acceso a los datos de la fila de la tabla presentada en un formulario, como las funciones guardar y actualizar. Un ejemplo de uso de este método es formContext.data.entity.save("saveandnew");
ui: este espacio de nombres le permite manipular controles en el formulario, como pestañas, secciones y controles. Algunas tareas comunes son ocultar, mostrar y hacer que los campos sean obligatorios o no. Un ejemplo de uso de este método es formContext.ui.refreshRibbon(true);
Cuadrícula: proporciona información de contexto a los controladores de eventos registrados en subcuadrículas en un formulario.
Como puede ver a partir de las descripciones generales, el uso de la API de scripting del cliente le aporta 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 que la lógica se aplique siempre, 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.