Estimados amigos, después de tanto tiempo, vuelvo con un instructivo para CRM 4.0 realizado en base a la ayuda de Cristián Osorio, quién me ayudó y enseñó a crear entidades para luego usar estas como campos lookup en los formularios que necesite.

En concreto, el objetivo del presente es explicar cómo crear una relación entre 2 campos tipo Lookup de una entidad X del sistema, a partir de la creación de 2 entidades personalizadas y la relación entre ellas.

El instructivo explica el procedimiento a partir del ejemplo que he realizado vinculando Países y Provincias:

1. Crear las 2 entidades personalizadas necesarias. Para el caso del ejemplo: País y Provincia.

a. Ir a Settings -> Customization -> Customize Entities -> New.

imagen1

b. Especificar en los campos:

      i. Display Name: el nombre correspondiente.

      ii. Plural Name: el nombre correspondiente.

      iii. Ownership: seleccionar User u Organization, en base a los permisos de seguridad que se le van a asignar.

      iv. Por último, tildar la opción Settings, para que aparezca en este módulo.

image

c. En la pestana Primary Attribute, especificar el nombre del campo que va a aparecer en el formulario en Display Name y modificar el campo Name.

image

d. Save and Close -> Actions -> Publish -> Save and Close.

e. Repetir los puntos anteriores para la entidad faltante.

Nota: si al querer guardar aparece un mensaje de error informando que el nombre del atributo ya existe, cambiar el campo Name o Display Name y volver a intentar guardar.

2. Crear una relación 1:N en la entidad primaria. Para el ejemplo, en País.

a. Ir a Settings -> Customization -> Customize Entities -> Doble click sobre la entidad correspondiente.

b. Seleccionar del menú izquierdo 1:N Relationships -> New 1-to-Many Relationship.

image

c. Seleccionar de la lista del campo Related Entity la entidad secundaria. Para mi caso es Provincia. Especificar el nombre del campo, para mi caso País (ya que es el va a aparecer en el formulario de Provincia), o el que corresponda para este caso. Modificar el campo Name con el nombre deseado y dejar las demás opciones por defecto -> Save and Close -> Actions -> Publish -> Save and Close.

image

3. Agregar el campo lookup, para mi caso País, en la entidad relacionada o secundaria, Provincia.

a. Ir a Settings -> Customization -> Customize Entities -> Doble click sobre la entidad correspondiente. En mi caso la secundaria es Provincia.

b. Seleccionar del menú izquierdo Form -> Doble click sobre Form.

c. Seleccionar del menú derecho Add field -> Tildar el campo País (para mi caso) o el que corresponda -> OK -> Save and Close -> Actions -> Publish -> Save and Close.

image

image

Nota: hasta aquí se han creado las 2 entidades personalizadas y la relación entre las mismas. Con los puntos siguientes se añade la relación a la entidad que contendrá los 2 campos lookup y el script necesario para crear el filtro.

4. Ingresar a la entidad principal y crear una relación N:1 para las 2 entidades que van a ser los nuevos campos de dicho form.

a. Ir a Settings -> Customization -> Customize Entities -> Doble click sobre la entidad correspondiente. Por ejemplo, Accounts.

b. Seleccionar del menú izquierdo N:1 Relationships -> New Many-to-1 Relationship.

image

c. Seleccionar de la lista del campo Primary Entity la entidad secundaria. Especificar el nombre del campo que va a aparecer en el formulario en: Display Name y modificar el campo Name si es necesario. Dejar las demás opciones por defecto -> Save and Close -> Actions -> Publish -> Save and Close.

image

d. Repetir el punto c para la entidad faltante.

5. Configurar la vista Lookup de la entidad secundaria para que pueda buscar por la entidad primaria.

a. <Nombre_Entidad> Lookup View

image

b. Seleccionar del menú derecho Add Find Columns -> Tildar los campos por los que voy a desear filtrar para los campos lookup -> OK -> Save and Close.

image

6. Ingresar a la entidad principal donde quiero utilizar estos datos y agregar estos 2 campos tipo lookup. Luego agregar el script correspondiente en el evento OnChange.

a. Ir a Settings -> Customization -> Customize Entities -> Doble click sobre la entidad correspondiente. En mi caso la secundaria es Provincia.

b. Seleccionar del menú izquierdo Form -> Doble click sobre Form.

c. Seleccionar del menú derecho Add field -> Tildar los 2 campos que correspondan -> OK -> Save and Close -> Actions -> Publish.

d. Doble click sobre el campo, para mi caso Pais -> Pestana Events -> Edit -> Tildar Event is Enabled y copiar en el cuadro de texto:

var searchVal = crmForm.all.<nombre_campo1>.DataValue[0].name;

if(searchVal != null)

{

crmForm.all. <nombre_campo2>.Disabled = false;

crmForm.all. <nombre_campo2>.additionalparams = "search=" + searchVal;

}

image

e. -> OK -> OK -> Save -> Preview -> Create Form (para probar el funcionamiento) -> Save and Close -> Actions -> Publish.

image

Por último, les comparto el blog de Cristián para quien quiera visitarlo: http://cristian-guapi.blogspot.com/

Espero que les sea de gran utilidad!!

Saludos cordiales.