Ejercicio: crear la aplicación de lienzo Dive Center
En este ejercicio debe aplicar los conocimientos adquiridos mediante la creación de una aplicación de lienzo de Dive Center.
Escenario
Trabaja en un centro de buceo. Usted se encarga de administrar el entorno de Dataverse de la organización.
Los empleados del departamento de servicio requieren una aplicación Power Apps que les permita continuar con los procesos de registro y pago para los clientes que traigan equipos de buceo que necesitan repararse.
Para respaldar estos procesos, los empleados requieren las siguientes características:
Una lista de clientes para los servicios de reparación
La capacidad de almacenar registros
Una lista de equipos de buceo para identificar el tipo de equipo para registrar
Los usuarios han realizado otras solicitudes y es posible que también desee incluir las siguientes características:
Habilitar la capacidad para proceder con el pago de las solicitudes de servicio completadas.
Crear un nuevo equipo de buceo con una imagen, el color y el tipo de equipo especificado.
Capturar imágenes y el tipo de servicio en el momento del registro.
Capturar una firma para completar un pago.
Crear nuevos clientes.
Ejercicio
Requisito previo: la solución y el origen de datos al que se hace referencia en este ejercicio se explican en la unidad anterior Ejercicio: Preparar la aplicación de lienzo Dive Center.
En un entorno de Dataverse que incluye una solución donde se define el origen de datos para la aplicación de lienzo, siga estos pasos:
Cree una nueva aplicación de lienzo denominada Dive Center App.
Seleccione teléfono como el formato de la aplicación de lienzo.
En el estudio de lienzo de Power Apps, inserte una imagen para usarla como logotipo principal. Posicione y cambie el tamaño de la imagen según el estado de la pantalla disponible y otros componentes para incluirla en la aplicación. También puede ajustar el fondo de la pantalla al color del logotipo mediante la propiedad Fill.
Para facilitar la navegación a las pantallas siguientes, agregue tres botones para Registrar, Pagar y Salir. Defina colores, posiciones y tamaño en función de la experiencia de usuario prevista.
Cambie el nombre de los controles y pantallas predeterminados con nombres que representen su uso. Este es el procedimiento recomendado para identificarlos de forma más sencilla.
Para crear la pantalla de registro, seleccione Duplicar pantalla en la pantalla de inicio a la que cambió el nombre.
Elimine los botones de la nueva pantalla y luego cambie el tamaño de la imagen principal para dejar espacio para el formulario que se agrega para el proceso de registro. Cambie el nombre de los componentes con nombres relevantes para su uso.
Agregue el formulario de edición de registro, cámbiele el nombre frmCheckIn y conecte el origen de datos a la tabla Solicitudes de servicio. Establezca la propiedad Default mode del formulario en New.
En el formulario, elimine los campos que no sean obligatorios.
Agregue campos al formulario necesario para el proceso de registro y organícelos en una secuencia lógica para los usuarios de la aplicación. Establezca la posición y el tamaño del formulario para que todos los campos sean visibles.
Para proporcionar funcionalidad de actualización y navegación a los usuarios, agregue dos botones en la parte inferior de la pantalla del lienzo.
Para actualizar el formulario cuando se selecciona el botón btnSaveCheckIn y permitir que se procese un nuevo registro, introduzca el siguiente script de PowerFx en la propiedad OnSelect del botón:
SubmitForm(frmCheckIn); NewForm(frmCheckIn);
Para volver a HOME SCREEN cuando se selecciona el botón btnBackCheckIn, introduzca el siguiente script de PowerFx en la propiedad OnSelect del botón:
Navigate('HOME SCREEN',ScreenTransition.Fade);
Para dirigirse a la pantalla CHECKIN de HOME SCREEN cuando se selecciona el botón btnCheckIn de HOME SCREEN, introduzca el siguiente script de PowerFx en la propiedad OnSelect del botón:
Navigate(CHECKIN,ScreenTransition.Fade);
Para permitir que los usuarios cierren la aplicación cuando se seleccione el botón btnExit de HOME SCREEN, introduzca el siguiente script de PowerFx en la propiedad OnSelect del botón:
Exit();
En este momento, puede guardar y reproducir la aplicación para probar la navegación entre las pantallas y la creación de nuevas entradas de registro.
Características opcionales
En la siguiente sección se proporcionan los pasos necesarios para continuar con las características opcionales de la aplicación. Algunas de estas características requieren tablas y columnas definidas en la unidad Ejercicio: Preparar la aplicación de lienzo Dive Center que hemos visto anteriormente en este módulo.
Característica para realizar el pago
Para proporcionar la funcionalidad de pago a los usuarios de la aplicación, siga estos pasos:
Cree un duplicado de la pantalla CHECKIN y cámbiele el nombre a CHECKOUT. Cambie el nombre de los componentes de la pantalla y luego realice las siguientes acciones:
Edite las propiedades frmCheckOut para eliminar el campo Nombre.
Agregue el campo opcional Archivos adjuntos.
Establezca el tamaño y la posición para asignar espacio para un componente adicional encima del formulario.
Establezca la opción Modo predeterminado en Vista para que el formulario se muestre como Solo lectura.
Para proporcionar una lista de solicitudes de servicio que están disponibles para su pago, agregue una entrada Desplegable a la pantalla y luego realice las siguientes acciones:
Cambie el nombre del menú desplegable a ddServiceRequestForCheckOut.
Establezca el tamaño y la posición para que estén encima del formulario frmCheckOut.
Establezca la propiedad Items en la tabla Solicitudes de servicio.
Establezca la propiedad Value para que sea la columna Nombre.
Para mostrar la solicitud de servicio seleccionada en el control desplegable, introduzca el siguiente script de PowerFx en la propiedad Item del formulario frmCheckOut:
ddServiceRequestForCheckOut.Selected
Para mostrar únicamente la lista de solicitudes de servicio que están disponibles para su pago, introduzca el siguiente script de PowerFx en la propiedad Items de la entrada desplegable:
Filter('Service Requests',IsBlank('Actual Completion'))
De este modo, la solicitud de servicio aparecerá como pagada. Cuando se seleccione el botón btnSaveCheckOut, introduzca el siguiente script de PowerFx en la propiedad OnSelect del botón:
Patch('Service Requests',ddServiceRequestForCheckOut.Selected,{'Actual Completion':Now()});
Para volver a HOME SCREEN cuando se selecciona el botón btnBackCheckOut, introduzca el siguiente script de PowerFx en la propiedad OnSelect del botón:
Navigate('HOME SCREEN',ScreenTransition.Fade);
Para dirigirse a la pantalla CHECKOUT de HOME SCREEN cuando se selecciona el botón btnCheckOut de HOME SCREEN, introduzca el siguiente script de PowerFx en la propiedad OnSelect del botón:
Navigate(CHECKOUT,ScreenTransition.Fade);
En este momento, puede guardar y reproducir la aplicación para probar la navegación entre las pantallas y el proceso de pago.
Característica para crear equipo de buceo
Para permitir a los usuarios crear nuevos equipos de buceo con color, tipo de equipo y una imagen, siga estos pasos:
Cree un duplicado de la pantalla CHECKIN y cámbiele el nombre a DIVEGEAR. Cambie el nombre de los componentes de la pantalla y luego realice las siguientes acciones:
Edite las propiedades frmGear para usar la tabla Equipo de buceo como origen de datos.
Seleccione los diferentes campos que desea proporcionar a los usuarios, incluido el campo Imagen.
Para crear el equipo de buceo cuando se selecciona el botón btnSaveGear y permitir que se cree un nuevo equipo de buceo, introduzca el siguiente script de PowerFx en la propiedad OnSelect del botón:
`SubmitForm(frmGear); NewForm(frmGear); Refresh ('Dive Gear');
Para volver a la pantalla CHECKIN cuando se selecciona el botón btnBackGear, introduzca el siguiente script de PowerFx en la propiedad OnSelect del botón:
Navigate(CHECKIN,ScreenTransition.Fade);
Para navegar desde CHECKIN al nuevo equipo de buceo que ha creado, desbloquee las propiedades de la tarjeta de datos del campo Tipo de servicio del formulario frmCheckIn. Cambie el tamaño del cuadro combinado de la tarjeta de datos para proporcionar espacio para insertar un icono Agregar junto a él.
Para dirigirse a la pantalla DIVEGEAR, introduzca el siguiente script de PowerFx en la propiedad OnSelect del icono:
Navigate(DIVEGEAR,ScreenTransition.Fade);
Para asegurarse de que la lista de equipos se actualice cuando se cree un equipo nuevo, cambie la propiedad Data Source del cuadro combinado a la tabla Equipo de buceo.
En este momento, puede guardar y reproducir la aplicación para probar la navegación entre las pantallas y la creación de equipo de buceo nuevo.
Característica para capturar imágenes y tipo de servicio
Para permitir que los usuarios capturen imágenes y el tipo de servicio en el momento de realizar el pago, siga estos pasos:
Agregue Tipo de servicio, Archivos adjuntos y Fecha de aceptación como campos para el formulario frmCheckin.
Para establecer el valor Fecha de aceptación en la fecha y hora en las que se crea la solicitud de servicio, desbloquee la tarjeta de datos Fecha de aceptación y luego configure la propiedad Update con el siguiente script de PowerFx:
Now()
En este momento, puede guardar y reproducir la aplicación para probar la adición de imágenes como archivos adjuntos a la solicitud de servicio.
Característica para capturar firma
Para permitir que los usuarios capturen una firma para completar un pago, siga estos pasos:
Agregue los siguientes controles Text label a la pantalla CHECKOUT.
Nombre Texto Posición/tamaño Otra información lbl_greyout <empty> X: 0
Y: 0
Width: 640
Height: 1136Fill: RGBA(149,149,149,0.4) lbl_SignatureCapture <empty> X: 0
Y: 338
Width: 640
Height: 384Fill: RGBA(255, 255, 255, 1) lbl_SignatureLine <empty> X: 0
Y: 587
Width: 640
Height: 13Fill: RGBA(0,0,0,1) lbl_CustomerSignature Firma del cliente X: 21
Y: 600
Width: 560
Height: 70Font size: 21 lbl_OK Aceptar X: 388
Y: 599
Width: 60
Height: 70Font size: 21 lbl_Cancel Cancelar X: 492
Y: 599
Width: 122
Height: 70Font size: 21 El resultado debe ser similar a la siguiente captura de pantalla.
Agregue los siguientes controles Icons a la pantalla CHECKOUT.
Nombre Icono Posición/tamaño Color ico_Cancel Cancelar X: 448
Y: 615
Width: 35
Height: 39RGBA(255,0,0,1) ico_OK Comprobar X: 346
Y: 615
Width: 35
Height: 39RGBA(51,176,75,1) El resultado debe ser similar a la siguiente captura de pantalla.
Para capturar la firma del cliente, agregue un control Entrada manuscrita. Cámbiele el nombre a PenCustomerSignature y establezca las propiedades de Mostrar controles en Desactivado. Establezca la posición y el tamaño para que esté encima del control lbl_SignatureLine.
Se utiliza una variable para mostrar y ocultar los controles relacionados con la firma según la etapa del proceso. Reemplace la propiedad actual OnSelect del botón btnSaveCheckOut con el siguiente script de PowerFx:
Set(flgSignature, true);
Para mostrar y ocultar los controles relacionados con la firma según el estado de la variable flgSignature, configure la propiedad Visible con el siguiente script de PowerFx:
flgSignature
Para proporcionar la opción de cancelar la captura de firma y volver a la pantalla CHECKOUT, configure la propiedad OnSelect de icoCancel con el siguiente script de PowerFx:
Reset(PenCustomerSignature);Set(flgSignature, false);
Para actualizar la solicitud de servicio con la firma capturada y completar el proceso de pago, configure la propiedad OnSelect de icoOK con el siguiente script de PowerFx:
Patch('Service Requests',ddServiceRequestForCheckOut.Selected,{'Actual Completion':Now(),'Customer Signature':PenCustomerSignature.Image}); Reset(PenCustomerSignature); Set(flgSignature, false);
En este momento, puede guardar y reproducir la aplicación para probar la captura de la firma al realizar el pago de una solicitud de servicio.
Característica para crear nuevos clientes
Para permitir que los usuarios creen nuevos clientes en la pantalla CHECKIN, siga estos pasos:
Cree un duplicado de la pantalla CHECKIN y cámbiele el nombre a CUSTOMER. Cambie el nombre de los componentes de la pantalla y siga estos pasos:
Edite las propiedades frmCustomer para utilizar la tabla Contactos como Origen de datos
Seleccione los diferentes campos que desea proporcionar a los usuarios.
Para crear el cliente cuando se selecciona el botón btnSaveCustomer y permitir que se creen nuevos clientes, introduzca el siguiente script de PowerFx en la propiedad OnSelect del botón:
SubmitForm(frmCustomer); NewForm(frmCustomer); Refresh(Contacts);
Para volver a la pantalla CHECKIN cuando se selecciona el botón btnBackCustomer, introduzca el siguiente script de PowerFx en la propiedad OnSelect del botón:
Navigate(CHECKIN,ScreenTransition.Fade);
Para navegar desde CHECKIN a este, desbloquee las propiedades de la tarjeta de datos del campo Cliente del formulario frmCheckIn. Cambie el tamaño del cuadro combinado de la tarjeta de datos para proporcionar espacio para insertar un icono Agregar junto a él.
Para dirigirse a la pantalla CUSTOMER, introduzca el siguiente script de PowerFx en la propiedad OnSelect del icono:
Navigate(CUSTOMER,ScreenTransition.Fade);
Para asegurarse de que la lista de clientes se actualice cuando se cree un cliente, cambie la propiedad Data Source del cuadro combinado a la tabla Contactos.
En este momento, puede guardar y reproducir la aplicación para probar la navegación entre las pantallas y la creación de equipo de buceo nuevo.
Pasos siguientes
Ahora ha aprendido cómo crear una aplicación de lienzo de Dive Center. A continuación, aprenderá a crear una aplicación basada en modelo.