Escanee recibos de forma inteligente con Power Apps Alfred Oct 22, 2023 Power Apps Share Facebook Twitter Google + LinkedIn Pinterest Email Share... A continuación, llegó el momento de modernizar las facturas de gastos. El proceso actual es sencillo. El empleado guarda los recibos en la biblioteca de documentos de SharePoint. A partir de los cuales se alimentan manualmente mensualmente por adelantado. Inicialmente, construyamos una forma más cómoda para que los empleados ingresen recibos con etiquetas en el lugar correcto. A medida que aumenta el número de recibos, también podemos automatizar su procesamiento y transferencia al sistema de pago. Sin embargo, no lo hagamos todavía. Biblioteca de documentos de SharePoint Los recibos se siguen almacenando en la biblioteca de documentos de SharePoint. Agreguemos algunos metadatos a la biblioteca para que sea más fácil de manejar. Valor total) Descripción) Lugar de compra (Vendedor) ¿El gasto ya ha sido pagado al empleado (Pagado) Podemos pasar a la aplicación real. Power Apps Vamos a crear una nueva aplicación (diseño móvil) y agregarle una galería. La galería muestra los costos creados por el usuario que aún no se han pagado. Items = Filter(Expenses, Tekijä.Email = varCurrentUser.Email And Paid = false) VarCurrentUser es una variable cuyo valor se establece al iniciar la aplicación (App OnStart). Set(varCurrentUser, User()) Se agrega un control AI Builder que puede interpretar el contenido del recibo (procesador de recibos). Los controles funcionan sin problemas. El usuario selecciona una imagen (recibo de escaneo), ya sea de la biblioteca de imágenes del dispositivo o tomando una nueva foto. La imagen se analiza, después de lo cual se muestra al usuario. La imagen muestra directamente qué partes de la misma han sido identificadas. El recibo puede ser una foto del recibo (incluso al revés) o, por ejemplo, un recibo en formato pdf de una tienda online. Cumplimentación / corrección de la información de recepción Después de escanear el recibo, procedemos a verificar su información. Al mismo tiempo, el usuario completa los campos que permanecían vacíos. Vamos a crear una nueva pantalla (Información de recibo) con un formulario conectado a nuestra biblioteca de SharePoint. Si vamos a introducir un nuevo gasto (estado del formulario <> FormMode.Edit), los campos predeterminados serán valores creados por IA. El formulario debe estar naturalmente en modo Nuevo. Forzémoslo en esa página al navegar. Pero... También queremos guardar su recibo en la biblioteca de documentos. Todavía no puede hacer esto directamente desde el formulario. Así que hacemos Flow, que se encarga de guardar el recibo. Flow – Guardado de recibos El flujo comienza desde Power Apps. En primer lugar, vamos a almacenar los valores de PowerApps en sus propias variables. Contenido del archivo) Tipo de archivo (Archivo e extensión) Título) Descripción (Descripción) Dónde se compró (Proveedor) Valor total) Se recupera el perfil del usuario, después de lo cual se crea un nuevo archivo en la biblioteca de gastos. Actualice las propiedades del archivo inmediatamente después. Así es como se creó el archivo. Para que la vista previa de la compra de carreteras funcione, debe tener la extensión de archivo correcta. Flow obtiene esto como un parámetro (FileExtension) y se determina en Power Apps examinando brutalmente el contenido del archivo. If( Find("application/pdf",ReceiptProcessor3.OriginalImage) > 0, "pdf", Find("image/gif",ReceiptProcessor3.OriginalImage) > 0, "gif", Find("image/jpeg",ReceiptProcessor3.OriginalImage) > 0, "jpg", Find("image/png",ReceiptProcessor3.OriginalImage) > 0, "png", "unknown" ) Editar costes impagados Hagamos algunos ajustes más para que el usuario pueda editar sus gastos agregados (pero aún no pagados). Agregue la navegación desde la galería de gastos de la página principal a la pantalla de recibos (Información de recibos). Al mismo tiempo, fuerce el formulario al modo de edición (EditForm(frmExpense)). La grabación de flujo ahora se realiza de manera diferente dependiendo de si se trata de creación o edición. Cuando se crea algo nuevo, se llama Flow Al editar, los datos se actualizan mediante el formulario (SubmitForm) If( frmExpense.Mode = FormMode.Edit, SubmitForm(frmExpense), Set(varReturnvalue,'PA - Add Expense'.Run( ReceiptProcessor3.OriginalImage, DataCardValue6.Text, inpTotalValue.Text, DataCardValue8.Text, inpVendor.Text, lblFileExtension.Text) ) ) Ver tu recibo Sería bueno mostrar al usuario el recibo agregado al completar la información. El reto es que el nuevo recibo puede ser una imagen o un archivo pdf. Agregue sus propios controles (Image y PdfViewer) para obtener una vista previa de diferentes tipos de archivos. De estos, se mostrará el correcto, dependiendo de la situación. El contenido de ambos controles es el mismo. If(frmExpense.Mode = FormMode.Edit, galExpences.Selected.Pikkukuva.Large, ReceiptProcessor3.OriginalImage ) Acabado Finalmente, se limpia la apariencia de la aplicación y se cambian los colores y las fuentes a las correctas. Al mismo tiempo, el escaneo del recibo se separará en una presentación separada. Esto le da a la portada más espacio para los recibos impagados. Resumen El procesador de recibos todavía se encuentra en la fase de vista previa. Reconoce la información de los recibos con diversos grados de éxito. Sorprendentemente bien en todos los casos. Los componentes de AI Builder disponibles con carácter general (GA) son características opcionales de Power Platform. Para usarlos, se requieren créditos de AI Builder, que se pueden comprar en incrementos de 5 millones por $ 500 / mes. Nuestro propio tenat tiene un Flow por usuario con licencia de RPA atendida que incluye 5000 créditos de AI Builder. Pronto veremos si tenemos suficiente para analizar los recibos de las facturas de gastos