🟢 Introducción

En Dataverse, cada registro tiene un GUID único que lo identifica internamente. Sin embargo, a veces necesitamos que nuestros datos también puedan identificarse con atributos significativos, como un número de cliente, un código de producto o un identificador externo de un ERP/CRM.

Para eso existen las Alternate Keys, una funcionalidad poderosa para garantizar integridad, evitar duplicados y facilitar integraciones con sistemas externos.

🧠 Qué tal es / para qué sirve

Una Clave Alterna (Alternate Key) es un campo o combinación de campos que el sistema usa para identificar un registro de forma única, además del GUID.

Sirve para:

🔗 Integraciones: permitir que APIs externas creen/actualicen registros basándose en un código único conocido. 🧹 Evitar duplicados: impide que varios registros tengan el mismo valor clave. 📦 Migración de datos: facilita “upsert” (crear si no existe, actualizar si ya existe). ⚙️ Sincronización con sistemas externos que no manejan GUID.

🧩 Cómo se configuran (sintaxis / pasos)

No es una función de Power Fx: se configuran desde Dataverse dentro de una solución.

📌 Pasos para crear una Alternate Key

Abre Power Apps → Solutions. Abre tu solución o crea una nueva. Selecciona la tabla donde deseas agregar la clave alterna. Ve a Keys. Selecciona + New key. Elige uno o varios campos de tipo texto, entero, opción, fecha, etc. Guarda y publica.

💡 Dataverse creará un índice interno que garantiza unicidad (esto puede tardar algunos segundos/minutos según tamaño de la tabla).

💻 Ejemplos prácticos

🔹 Ejemplo 1 — Código de cliente como llave

Tabla: Clientes

Campos: CodigoCliente

Alternate Key:

Clientes.CodigoCliente

➡ Permite que integraciones externas usen /clientes(CodigoCliente=’ABC123′).

🔹 Ejemplo 2 — Llave compuesta (más de un campo)

Tabla: Inventario

Campos:

Almacen SKU

Alternate Key:

Inventario.Almacen + Inventario.SKU

➡ Evita que existan dos registros del mismo SKU en el mismo almacén.

🔹 Ejemplo 3 — Sincronización con ERP

ERP envía un lote de productos.

Cada producto tiene un ProductCode.

Gracias a la clave alterna:

Si ProductCode existe → se actualiza el registro. Si no existe → se crea uno nuevo.

(No necesitas buscar manualmente ni usar global option sets.)

🧱 Buenas prácticas

✅ Usa claves alternas cuando integras Dataverse con otro sistema que tiene su propio identificador único.

✅ Prefiere campos tipo texto para claves externas.

✅ Si usas claves compuestas, asegúrate de que ningún campo pueda quedar en blanco.

✅ Documenta la clave dentro de la solución (otros desarrolladores lo agradecerán).

✅ Revisa la longitud de los campos clave (los índices tienen límites).

✅ Úsalas en combinación con Flujos de integración, Power Automate o Azure Data Factory.

⚠️ Errores comunes

🚫 Intentar crear claves alternas sobre campos que no cumplen unicidad → fallará la publicación.

🚫 Usar campos que pueden cambiar frecuentemente (como un nombre).

🚫 Crear demasiadas claves alternas en la misma tabla → afecta rendimiento.

🚫 Eliminar o modificar campos que forman parte de la clave → Dataverse bloqueará la acción.

🚫 Asumir que una clave alterna reemplaza reglas de negocio — solo garantiza unicidad.

🔄 Variantes o alternativas

Primary Key (GUID): siempre presente, interno. Business Rules: para validaciones complejas (pero no garantizan unicidad). Duplicate Detection Rules: útil para interacciones manuales, pero menos potente que claves alternas. Flujos con lógica personalizada: en casos donde la unicidad depende de muchas condiciones.

📚 Recursos oficiales (verificados)

🧩 Mini práctica

Abre una solución y selecciona la tabla Productos. Crea un campo nuevo llamado CodigoProducto (Texto). Ve a Keys → New Key. Selecciona CodigoProducto como clave alterna. Publica. Prueba crear dos productos con el mismo código y observa cómo Dataverse bloquea el duplicado. Desde Power Automate, crea un flujo que haga un “Upsert” usando el campo CodigoProducto. Comprueba que: Si el código existe → actualiza Si no existe → crea

Deja un comentario

¡Gracias por tu mensaje!

Me pondré en contacto tan rápido como pueda.

Descubre más desde Power Platform En Español

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo