Registrar QR en SharePoint con Power Apps / Power Platform
Registrar QR en SharePoint con Power Apps / Power Platform es útil para inventarios, check‑ins o rastreo de activos. Este tutorial muestra cómo crear una Canvas app que usa el control BarcodeScanner para capturar un código y grabar el valor, el usuario y la hora en una lista SharePoint.
Requisitos previos
- Cuenta con acceso a Power Apps y a SharePoint (permisos para crear listas).
- SharePoint Online para crear una lista donde guardar los escaneos.
- Power Apps Mobile o navegador con cámara (el BarcodeScanner funciona mejor en el móvil).
Paso 1: Crear la lista SharePoint
Crea una lista nueva llamada QRLog con columnas básicas. Ejemplo de columnas:
Title (Single line) – puede usarse para identificar el registro
Barcode (Single line)
ScannedBy (Single line)
ScannedAt (Date and Time)
Deja la columna Title obligatoria (o utiliza otra lógica) — la rellenaremos automáticamente en la app.
Paso 2: Crear la Canvas app y conectar la lista
En Power Apps Studio crea una Canvas app (se recomienda el diseño para móvil). En Data, añade la fuente de datos SharePoint y elige la lista QRLog.
Paso 3: Insertar el BarcodeScanner y un EditForm
En la pantalla principal inserta un BarcodeScanner (p. ej. BarcodeScanner1) y un EditForm (FormScan) conectado a QRLog. Define el FormMode a New:
FormScan.Mode = FormMode.New
FormScan.DataSource = QRLog
FormScan.Item = Defaults(QRLog)
Incluye los DataCards para Barcode, Title, ScannedBy y ScannedAt (el EditForm los genera automáticamente si eliges los campos).
Paso 4: Preparar variables y vincular el escaneo al formulario
Usaremos una variable para guardar temporalmente el valor del scanner y rellenar los DataCards antes de enviar.
Selecciona el control BarcodeScanner1 y, en la propiedad OnScan, coloca:
Set(varScannedValue, BarcodeScanner1.Value);
Set(varScannedTime, Now());
Set(varScannedBy, User().FullName);
SubmitForm(FormScan)
Ahora ajusta los DataCards para usar esas variables como valores por defecto:
/* En el DataCardValue del campo Barcode */
DataCardValue_Barcode.Default = varScannedValue
/* En el DataCardValue del campo ScannedAt */
DataCardValue_ScannedAt.Default = varScannedTime
/* En el DataCardValue del campo ScannedBy */
DataCardValue_ScannedBy.Default = varScannedBy
/* Opcional: Title automático */
DataCardValue_Title.Default = "Scan-" & Text(varScannedTime, "yyyy-mm-dd_hhmmss")
Notas: si los nombres de los DataCardValue son diferentes, ajusta en consecuencia. El SubmitForm enviará los valores actuales del formulario al SharePoint.
Paso 5: Gestionar éxito y error
Para confirmar que el envío se realizó correctamente, usa los eventos OnSuccess y OnFailure de FormScan. Ejemplos simples:
/* FormScan.OnSuccess */
Notify("Scan registrado con éxito", NotificationType.Success);
ResetForm(FormScan);
Set(varScannedValue, "");
/* FormScan.OnFailure */
Notify("Error al registrar. Verifica conexión y permisos.", NotificationType.Error);
Estas acciones limpian el formulario e informan al usuario.
Errores comunes y cómo resolverlos
- El BarcodeScanner no abre la cámara en el navegador: prueba la app en Power Apps mobile (iOS/Android) — la funcionalidad puede estar limitada en el navegador.
- Permisos de la lista: confirma que la cuenta usada tiene permisos para añadir elementos a la lista de SharePoint.
- Campos no aparecen en el Form: abre el formulario, elige Edit Fields y añade los campos correctos (Barcode, ScannedBy, ScannedAt, Title).
- Formato de fecha: si ScannedAt está incorrecto, confirma el tipo de columna en SharePoint (Date and Time) y el formato usado en el Default.
Verificar el resultado
Abre la lista QRLog en SharePoint y comprueba si aparecen nuevos elementos con el valor del código, el nombre del usuario y la marca temporal. En Power Apps, prueba la app en un móvil: ábrela, pulsa el BarcodeScanner, escanea un QR y observa las notificaciones de éxito.
Conclusión
Ahora tienes una Canvas app simple que registra QR/Barcode en SharePoint con Power Apps / Power Platform, sin código complejo. Próximos pasos: añadir geolocalización con Location, soportar modo offline usando Collections y SaveData/LoadData, o validar duplicados antes de grabar. Consejo: ¿has probado la lectura en varias condiciones de luz y ángulos para garantizar la robustez del BarcodeScanner?