Configurar controles personalizados en Dynamics
Esta guía explica la configuración de los servicios web de DQE One en un entorno de Microsoft Dynamics 365 o Power Apps. Cada servicio web requiere dos niveles de configuración: ajustes a nivel de aplicación (una sola vez) y ajustes a nivel de formulario (por entidad — Account, Contact, Lead).
Añadir un control PCF
Todos los servicios web de DQE se configuran colocando un control PCF en el campo de destino, en el editor de formularios. El proceso es el mismo para cada tipo de control, en cualquier entidad — estándar (Account, Contact, Lead) o personalizada.
- Abra el formulario de la entidad de destino en el editor de formularios de Power Apps.
- Seleccione el campo a configurar (calle, ciudad, email, teléfono, etc.).
- En el panel derecho, haga clic en + Components y luego seleccione el control DQE correspondiente.
- Asigne los parámetros requeridos. Los parámetros requeridos deben vincularse a un campo existente; los parámetros opcionales pueden dejarse sin definir. Consulte la sección de cada servicio web para la referencia completa de parámetros.
- Guarde y publique el formulario. Repita para cada entidad y cada bloque de dirección donde el servicio web deba estar activo.
Nota: cada control debe configurarse de forma independiente en cada formulario de entidad. Los ajustes a nivel de aplicación (DQE DataQ Settings) se aplican globalmente y solo deben establecerse una vez.
Opciones de código de país
Varios controles aceptan parámetros de código de país para preseleccionar el país en las consultas a la API. Tres opciones mutuamente excluyentes:
- Dejar sin definir tanto countrycode como countryiso3 — sin preselección de país, el usuario selecciona el país manualmente.
- Establecer countrycode en el campo de búsqueda DQE Country — el país se preselecciona dinámicamente a partir del registro.
- Establecer countrycode en una búsqueda a una tabla de países personalizada + establecer countryfield en el nombre lógico del campo ISO3 de esa tabla.
- Establecer countryiso3 en un valor ISO3 fijo (por ej.
FRA) — país fijo para todos los registros de este formulario.
Atención: los PCF antiguos llevan el prefijo [Legacy], mientras que los nuevos PCF no llevan ningún prefijo [].
1. Direcciones
El servicio web de direcciones proporciona autocompletado y validación de direcciones en tiempo real. Puede activarse en las entidades Account, Contact y Lead.
1.1 Ajustes de la aplicación
En DQE DataQ Settings → General, ponga en Yes los interruptores correspondientes:
- Enable Address Autocomplete — activa la lista de sugerencias de dirección en los campos de dirección.
- Enable Address Validation — activa el cuadro de diálogo de validación RNVP al guardar.
Luego vaya a la pestaña Address Setup:
- Autofill Address Complement — actívelo para rellenar el campo de complemento (nombre del edificio, piso…) a partir de la respuesta de la API.
- Address Default Country — preselecciona un país en el campo de búsqueda. No restringe la validación internacional.
- Contact / Account / Lead Address List — selección múltiple por entidad. Seleccione en qué bloques de dirección (Address 1, Address 2…) debe estar activo el servicio web.
1.2 Validación de dirección (RNVP)
La validación de dirección se activa con el interruptor Enable Address Validation en Ajustes de la aplicación (§1.1). Cuando está activado, guardar un registro cuyos campos de dirección se editaron manualmente (no seleccionados mediante autocompletado) activa un cuadro de diálogo RNVP — el usuario puede aceptar o rechazar cada corrección sugerida, campo por campo.
Nota: RNVP y el autocompletado de direcciones se controlan mediante dos interruptores independientes y pueden activarse por separado.
1.2.1 AddressFieldControl — Campo Calle
AddressFieldControl · Custom API: DQE - Addresses - Search by address
| Parámetro | Tipo | Uso | Requerido | Descripción |
|---|---|---|---|---|
line | SingleLine.Text | bound | Requerido | Línea de dirección (el campo en el que se coloca el control). |
city | SingleLine.Text | bound | Requerido | Campo Ciudad — se actualiza al seleccionar una sugerencia. |
postalcode | SingleLine.Text | bound | Requerido | Campo Código postal — se actualiza al seleccionar una sugerencia. |
complement | SingleLine.Text | bound | Opcional | Campo de complemento de dirección (nombre del edificio, piso…). Requiere tener activado Autofill address complement en Address Setup. |
saidplace | SingleLine.Text | bound | Opcional | Campo de localidad/caserío. Asígnelo a un campo personalizado para recibir el valor de localidad devuelto por la API. |
dqecodedetail | SingleLine.Text | bound | Opcional | Almacena el código de retorno RNVP tras la validación de la dirección. Puede usarse en flujos de Power Automate o reglas de negocio. |
countrycode | Lookup.Simple | bound | Opcional | Búsqueda a la tabla DQE Country (o a una tabla de países personalizada). Se usa para preseleccionar el país. |
countryfield | SingleLine.Text | input | Opcional | Si se usa una tabla de países personalizada, el nombre lógico del campo que contiene el código ISO3 en esa tabla. |
countryiso3 | SingleLine.Text | input | Opcional | Código de país ISO3 fijo (por ej. FRA). Úselo en lugar de countrycode cuando el país sea fijo. |
addressColumns | Multiple | input | Opcional | JSON que define columnas personalizadas en la lista de sugerencias de dirección. |
complementColumns | Multiple | input | Opcional | JSON que define columnas personalizadas en la lista de sugerencias de complemento. |
1.2.2 CityFieldControl — Campo Ciudad
CityFieldControl · Custom API: DQE - Addresses - Search by address
| Parámetro | Tipo | Uso | Requerido | Descripción |
|---|---|---|---|---|
city | SingleLine.Text | bound | Requerido | Campo Ciudad (el campo en el que se coloca el control). |
postalcode | SingleLine.Text | bound | Requerido | Campo Código postal — se actualiza al seleccionar una sugerencia. |
countrycode | Lookup.Simple | bound | Opcional | Búsqueda a la tabla DQE Country (o a una tabla de países personalizada). |
countryfield | SingleLine.Text | input | Opcional | Si se usa una tabla de países personalizada, el nombre lógico del campo ISO3 en esa tabla. |
countryiso3 | SingleLine.Text | input | Opcional | Código de país ISO3 fijo. |
customColumns | Multiple | input | Opcional | JSON que define columnas personalizadas en la lista de sugerencias de ciudad. |
1.2.3 PostalcodeFieldControl — Campo Código postal
PostalcodeFieldControl · Custom API: DQE - Addresses - Search by address
| Parámetro | Tipo | Uso | Requerido | Descripción |
|---|---|---|---|---|
postalcode | SingleLine.Text | bound | Requerido | Campo Código postal (el campo en el que se coloca el control). |
city | SingleLine.Text | bound | Requerido | Campo Ciudad — se actualiza al seleccionar una sugerencia. |
countrycode | Lookup.Simple | bound | Opcional | Búsqueda a la tabla DQE Country (o a una tabla de países personalizada). |
countryfield | SingleLine.Text | input | Opcional | Si se usa una tabla de países personalizada, el nombre lógico del campo ISO3 en esa tabla. |
countryiso3 | SingleLine.Text | input | Opcional | Código de país ISO3 fijo. |
customColumns | Multiple | input | Opcional | JSON que define columnas personalizadas en la lista de sugerencias de código postal. |
1.3 Resultado esperado
Cuando Enable Address Autocomplete está activo y los controles PCF están configurados:
- Al escribir una dirección: aparecen sugerencias a medida que el usuario escribe en el campo Calle.
- Al escribir un código postal: las sugerencias se filtran por ciudades y calles coincidentes.
- Al seleccionar una sugerencia se rellenan automáticamente Ciudad, Código postal y los demás campos asignados.
2. Emails
El servicio web de email valida las direcciones de correo en tiempo real y puede sugerir correcciones basadas en el nombre del contacto. Disponible en Account, Contact y Lead.
2.1 Ajustes de la aplicación
En DQE DataQ Settings → General, ponga Enable Email Validation en Yes.
Luego vaya a la pestaña Email Setup:
- Contact / Account / Lead Email List — selección múltiple por entidad. Seleccione en qué campos de email debe estar activo el servicio web.
Nota: las sugerencias de email basadas en el nombre se activan a nivel de PCF asignando los parámetros firstnamevalue y lastnamevalue en EmailFieldTextControl. El almacenamiento del código de retorno también se configura a nivel de PCF mediante el parámetro returncode.
2.2 Configuración del formulario
En el editor de formularios, seleccione el campo Email, haga clic en + Components, seleccione EmailFieldTextControl, asigne los parámetros y luego guarde y publique.
EmailFieldTextControl · Custom API: DQE - Email - Search by email
| Parámetro | Tipo | Uso | Requerido | Descripción |
|---|---|---|---|---|
emailvalue | Email | bound | Requerido | Campo Email (el campo en el que se coloca el control). |
firstnamevalue | SingleLine.Text | bound | Opcional | Campo Nombre. Se usa para las sugerencias de email basadas en el nombre. Para entidades Account, asígnelo al campo de razón social. |
lastnamevalue | SingleLine.Text | bound | Opcional | Campo Apellidos. Se usa para las sugerencias de email basadas en el nombre. |
returncode | SingleLine.Text | bound | Opcional | Campo de salida que almacena el código de retorno de la API DQE tras la validación. Puede usarse en flujos de Power Automate o reglas de negocio. |
countrycode | Lookup.Simple | bound | Opcional | Búsqueda a la tabla DQE Country (o a una tabla de países personalizada). |
countryfield | SingleLine.Text | input | Opcional | Si se usa una tabla de países personalizada, el nombre lógico del campo ISO3 en esa tabla. |
countryiso3 | SingleLine.Text | input | Opcional | Código de país ISO3 fijo. |
2.3 Resultado esperado
- Después de que el usuario introduzca un email, aparece un indicador de validación junto al campo.
- Si los campos de nombre/apellidos están asignados, el servicio web sugiere direcciones de email y dominios probables.
- Si returncode está asignado, se actualiza tras cada validación y puede desencadenar lógica de Power Automate posterior.
3. Teléfonos
El servicio web de teléfono valida números de teléfono en tiempo real y los formatea según el país. Disponible en Account, Contact y Lead.
3.1 Ajustes de la aplicación
En DQE DataQ Settings → General, ponga Enable Phone Validation en Yes.
Luego vaya a la pestaña Phone Setup:
- Address Default Country — preselecciona un prefijo de país. No restringe la validación internacional.
- Contact / Account / Lead Phone List — selección múltiple por entidad. Seleccione en qué campos de teléfono debe estar activo el servicio web.
Nota: el almacenamiento del código de retorno se configura a nivel de PCF mediante el parámetro returncode en PhonefieldControl.
3.2 Configuración del formulario
En el editor de formularios, seleccione el campo Main Phone, haga clic en + Components, seleccione PhonefieldControl, asigne los parámetros y luego guarde y publique.
PhonefieldControl · Custom API: DQE - Phone - Search by phone number
| Parámetro | Tipo | Uso | Requerido | Descripción |
|---|---|---|---|---|
name | Phone | bound | Requerido | Campo Teléfono (el campo en el que se coloca el control). |
returncode | SingleLine.Text | bound | Opcional | Campo de salida que almacena el código de retorno de la API DQE tras la validación. Puede usarse en flujos de Power Automate o reglas de negocio. |
countrycode | Lookup.Simple | bound | Opcional | Búsqueda a la tabla DQE Country (o a una tabla de países personalizada). Determina el prefijo usado para la validación. |
countryfield | SingleLine.Text | input | Opcional | Si se usa una tabla de países personalizada, el nombre lógico del campo ISO3 en esa tabla. |
countryiso3 | SingleLine.Text | input | Opcional | Código de país ISO3 fijo. |
3.3 Resultado esperado
- Después de que el usuario introduzca un número de teléfono, aparece un indicador de validación y el número se reformatea según el estándar del país.
- Si returncode está asignado, se actualiza tras cada validación y puede desencadenar lógica de Power Automate posterior.
4. Nombre
El servicio web de nombre sugiere tratamientos (Sr./Sra./…) a partir del nombre y puede validar la coherencia entre nombre y género. Disponible en cualquier entidad con un campo de nombre (normalmente Contact, Lead).
4.1 Ajustes de la aplicación
En DQE DataQ Settings → General, ponga Enable Firstname Validation en Yes.
Luego vaya a la pestaña Firstname Setup:
- Address Default Country — preselecciona un país predeterminado para el servicio web.
- Firstname Configuration — abre el WebResource Name Mapping (ver §4.2).
4.2 Asignación de nombres
Haga clic en el botón Firstname Configuration de la pestaña Firstname Setup para abrir el WebResource FieldMapping. Aquí es donde se asignan los códigos de género de DQE a los valores de opción de su choice set de Dynamics.
- DQE devuelve tres valores de género:
H(masculino),F(femenino),I(desconocido/indeterminado). - Para cada valor, establezca el valor de opción entero correspondiente de su campo choice set de Dynamics.
- Las asignaciones se almacenan en la tabla
dqe_field_mappingen Dataverse.
Requerido al usar genderchoice: si el parámetro genderchoice está asignado en FirstNameFieldControl pero no hay ninguna asignación configurada aquí, el campo de género no se actualizará tras seleccionar el nombre.
4.3 Configuración del formulario
En el editor de formularios, seleccione el campo First Name, haga clic en + Components, seleccione FirstNameFieldControl, asigne los parámetros y luego guarde y publique. Configure primero la asignación de género en el §4.2 si usa el parámetro genderchoice.
FirstNameFieldControl · Custom API: DQE - Name - Search by firstname
| Parámetro | Tipo | Uso | Requerido | Descripción |
|---|---|---|---|---|
firstnamevalue | SingleLine.Text | bound | Requerido | Campo Nombre (el campo en el que se coloca el control). |
gendervalue | SingleLine.Text | bound | Opcional | Cadena de género fija: H (masculino), F (femenino) o I (desconocido). Mutuamente excluyente con genderchoice. |
genderchoice | OptionSet | bound | Opcional | Campo choice set que contiene el valor de género/tratamiento. La asignación de los valores de DQE (H/F/I) a los valores de opción del CRM debe configurarse en el WebResource FieldMapping. Mutuamente excluyente con gendervalue. |
countrycode | Lookup.Simple | bound | Opcional | Búsqueda a la tabla DQE Country (o a una tabla de países personalizada). |
countryfield | SingleLine.Text | input | Opcional | Si se usa una tabla de países personalizada, el nombre lógico del campo ISO3 en esa tabla. |
countryiso3 | SingleLine.Text | input | Opcional | Código de país ISO3 fijo. |
Configuración del género: elija una de tres opciones — (1) dejar sin definir tanto gendervalue como genderchoice, (2) establecer gendervalue en una cadena fija, o (3) establecer genderchoice en un campo choice set y configurar la asignación de valores en el WebResource FieldMapping.
4.4 Resultado esperado
- Al escribir un nombre: el servicio web busca el nombre y determina el género/tratamiento probable.
- Si genderchoice está asignado y la asignación de valores está configurada en el WebResource FieldMapping (§4.2), el campo choice set de género/tratamiento se actualiza automáticamente con la opción correspondiente.
- Si en su lugar está asignado gendervalue, se establece directamente con la cadena de género fija (
H/F/I) devuelta por el servicio web, sin pasar por la asignación del choice set. - Si genderchoice está asignado pero no hay ninguna asignación configurada en el §4.2, el campo de género no se actualiza tras seleccionar el nombre.
5. B2B
El servicio web B2B ofrece autocompletado de empresas a partir de la base de datos SIRENE francesa (INSEE). Disponible únicamente en la entidad Account.
5.1 Ajustes de la aplicación
En DQE DataQ Settings → General, ponga Enable Company Verification en Yes.
Luego vaya a la pestaña Company Setup:
- Botón Configure company mapping (esta fila no tiene etiqueta de campo visible) — abre el WebResource Field Mapping, cuya ventana emergente se titula Company Mapping (ver §5.2).
5.2 Asignación de campos
Haga clic en el botón Configure company mapping de la pestaña Company Setup para abrir el WebResource FieldMapping (su ventana emergente se titula Company Mapping). Esto define qué campos de datos de SIRENE se asignan a qué campos de Dynamics en la entidad Account.
- Las asignaciones se almacenan en la tabla
dqe_field_mappingen Dataverse. - Haga clic en Initialize Default Records para precargar una asignación estándar. Es seguro ejecutarlo varias veces — solo crea los registros que faltan, no sobrescribe los existentes.
5.3 Configuración del formulario
Añada los dos controles B2B al formulario Account: CompanyField en el campo de razón social y CompanyNumberField en el campo de número de empresa. Ambos controles llaman a la misma Custom API, DQE - Siretisation - Search.
CompanyField — Campo de razón social
CompanyField · Custom API: DQE - Siretisation - Search
| Parámetro | Tipo | Uso | Requerido | Descripción |
|---|---|---|---|---|
name | SingleLine.Text | bound | Requerido | Campo de razón social (el campo en el que se coloca el control). |
countrycode | Lookup.Simple | bound | Requerido | Búsqueda a la tabla DQE Country. Determina en qué base de datos SIRENE se consulta. |
filter | SingleLine.Text | input | Opcional | Cadena de filtro pasada a la API RECSIRET (por ej. solo empresas activas, difusibles, asociaciones). Contacte con su gestor de proyecto de DQE para conocer los valores disponibles. |
columns | Multiple | input | Opcional | JSON que define columnas personalizadas en la lista de sugerencias de empresa (ver sección 5.4). |
naf25 | Enum | input | Opcional | Activa la clasificación NAF25 en los resultados de la API DQE. Valores: No / Yes. |
outputtrigger | SingleLine.Text | output | Opcional | Se establece en "autocomplete" cuando la salida fue activada por una selección del usuario (no por un cambio manual). Se usa en el Integrator Method para detectar eventos de autocompletado. |
outputdata | Object | output | Opcional | Objeto completo de datos de empresa devuelto por el servicio web. Se usa en el Integrator Method para leer y aplicar valores de campo mediante programación. |
CompanyNumberField — Campo de número de empresa
CompanyNumberField · Custom API: DQE - Siretisation - Search
| Parámetro | Tipo | Uso | Requerido | Descripción |
|---|---|---|---|---|
accountnumber | SingleLine.Text | bound | Requerido | Campo de número de empresa / SIRET (el campo en el que se coloca el control). |
accountid | SingleLine.Text | bound | Requerido | ID del registro Account actual. Se usa para evitar la detección de auto-duplicados. |
filter | SingleLine.Text | input | Opcional | Cadena de filtro pasada a la API RECSIRET (por ej. solo empresas activas, difusibles, asociaciones). |
naf25 | Enum | input | Opcional | Activa la clasificación NAF25 en los resultados de la API DQE. Valores: No / Yes. |
outputtrigger | SingleLine.Text | output | Opcional | Se establece en "autocomplete" cuando la salida fue activada por una selección del usuario. |
outputdata | Object | output | Opcional | Objeto completo de datos de empresa devuelto por el servicio web. |
5.4 Columnas de la lista desplegable
Sobrescriba las columnas predeterminadas de la lista desplegable de CompanyField estableciendo el parámetro columns como JSON en el form XML.
[
{"label": "Company", "propertyName": "CompanyName", "minWidth": 150, "maxWidth": 250},
{"label": "Zip Code", "propertyName": "ZIP_Code", "minWidth": 150, "maxWidth": 250},
{"label": "SIRET", "propertyName": "CompanyNumber", "minWidth": 150, "maxWidth": 250},
{"label": "Ref", "propertyName": "Ref", "minWidth": 150, "maxWidth": 250}
]
Nombres de propiedades disponibles:
CompanyName CompanyName2 CompanyCName CompanyNumber ZIP_Code CompanyAddress1 CompanyAddress2 CompanyAddress3 Locality Phone Fax Email Activity1 Activity2 StaffCount TurnOver LegalStructureCode LegalStructureLabel IncorporationDate DissolutionDate Country CompanyStatus CompanySIC IntraNumber MainCompanyFlag Ref
Consejo: un plugin editor de form XML de XrmToolBox puede simplificar la exportación y edición del form XML.
5.5 Parámetro de filtro
Tanto CompanyField como CompanyNumberField aceptan un parámetro opcional filter, pasado directamente a la API RECSIRET. Puede establecerse de forma estática en Component Properties o dinámicamente a partir de un valor de campo. Contacte con su gestor de proyecto de DQE para conocer las cadenas de filtro disponibles.
5.6 Resultado esperado
- El usuario abre un registro Account y empieza a escribir una razón social o un SIRET.
- Aparece una lista desplegable con las empresas coincidentes de la base de datos SIRENE.
- El usuario selecciona una empresa — los campos asignados (dirección, SIRET, forma jurídica…) se rellenan automáticamente.
- Al guardar, si Dynamics detecta un duplicado, aparece la ventana emergente nativa de detección de duplicados.
Importante: es obligatorio seleccionar un país antes de buscar.
Relacionada con