Compartir a través de


Personalización de asignaciones de entidades y atributos

Puede asignar atributos entre entidades que tienen una relación de entidad. Esto le permite establecer valores predeterminados para un registro que se crea en el contexto de otro registro. Use las herramientas de personalización de la aplicación para asignar atributos. Consulte Creación y edición de relaciones de entidad: Asignación de campos de entidad.

Comportamiento en la aplicación

La asignación en Dynamics 365 Customer Engagement (local) simplifica la entrada de datos al crear nuevos registros asociados a otro registro. Cuando una entidad tiene una relación de entidad con otra entidad, puede crear registros de entidad relacionados mediante la pestaña Crear relacionado de la cinta de opciones. Al crear un nuevo registro de esta manera, los datos asignados del registro de entidad principal se copian en el formulario para el nuevo registro de entidad relacionado. Mediante la asignación de atributos de entidad, puede controlar qué datos se copian agregando nuevas asignaciones en la relación entre las dos entidades. Si crea un registro de alguna manera distinto de la vista asociada de la entidad principal, los datos no se asignan.

Por ejemplo, es posible que desee configurar una asignación entre los campos de dirección de las cuentas y los campos de dirección de los contactos. Con esta asignación, cuando un usuario agrega un contacto asociado a una cuenta específica, los campos de dirección del contacto se rellenan automáticamente.

Puede asignar un atributo a varios atributos de destino. Por ejemplo, puede asignar información de direcciones en una cuenta a las direcciones de facturación y envío en un pedido.

La asignación se aplica antes de crear un nuevo registro relacionado. Los usuarios pueden realizar cambios antes de guardar el registro. Los cambios posteriores en los datos del registro principal no se aplican al registro relacionado.

Uso de datos de asignación de entidades y atributos

Uso de la API web

Al trabajar con la API web, puede usar InitializeFrom Function para crear registros nuevos en el contexto de registros existentes en los que existe una asignación entre las entidades.

La respuesta recibida de la solicitud InitializeFrom consta de valores de atributos asignados entre la entidad de origen y la entidad de destino y el GUID del registro primario. La asignación de atributos entre entidades que tienen una relación de entidad es diferente para diferentes conjuntos de entidades y es personalizable, por lo que la respuesta de la solicitud de función InitializeFrom puede variar para diferentes entidades y organizaciones. Cuando esta respuesta se pasa en el cuerpo de la solicitud de creación del nuevo registro, estos valores de atributo se replican en el nuevo registro. Los valores de los atributos asignados personalizados también se establecen en el nuevo registro durante el proceso.

Nota:

Para determinar si se pueden asignar dos entidades, use la siguiente solicitud de API web:
GET [Organization URI]/api/data/v9.1/entitymaps?$select=sourceentityname,targetentityname&$orderby=sourceentityname

Para obtener más información, consulte Creación de una nueva entidad a partir de otra entidad.

Uso del servicio de organización

Al crear nuevos registros en el contexto de un registro existente en el que existe una asignación entre las entidades, puede usar el InitializeFromRequest mensaje para definir un nuevo registro que contenga los valores especificados en la asignación. A continuación, puede usar .IOrganizationService Create para guardar el registro. De esta manera, se aplican las asignaciones que defina.

Los mapas de entidades válidos se crean cuando se crea una relación de entidad. Use la entity_map_attribute_maps relación de entidad para recuperar los mapas de atributos para el par de entidades especificadas por el mapa de entidades.
Puede crear o actualizar registros de asignación de atributos. Se deben cumplir los siguientes requisitos para los mapas de atributos:

  • El AttributeMetadata tipo debe coincidir.
  • La longitud del campo de destino no puede ser menor que el campo de origen.
  • El formato debe coincidir.
  • El campo de destino no debe usarse en otra asignación.
  • El campo de origen debe estar visible en el formulario de entidad.
  • El campo de destino debe ser un campo en el que un usuario puede escribir datos.
  • No se pueden asignar valores de identificador de dirección.
  • Atributos PartyList, donde AttributeMetadata.AttributeType es AttributeTypeCode. PartyList no se puede asignar.

Atributos de asignación automática entre entidades

Puede editar las asignaciones de atributos entre entidades para las relaciones de entidad que admiten la asignación.

Además de crear manualmente cada asignación de atributos, puede usar el AutoMapEntity mensaje (Acción o clase AutoMapEntityRequest) para generar un nuevo conjunto de asignaciones de atributos. Este mensaje realiza la acción que se encuentra en la opción de menú Generar asignaciones en el menú Más acciones de la barra de herramientas. Este mensaje asigna todos los atributos entre las dos entidades relacionadas donde los nombres de atributo y los tipos son idénticos. Este mensaje se proporciona como una mejora de productividad para que no tenga que agregar manualmente todas las asignaciones de atributos. En su lugar, puede generar un conjunto de asignaciones probables y minimizar la cantidad de trabajo manual para agregar o quitar asignaciones individuales para satisfacer sus requisitos.

Nota:

La generación automática de asignaciones de esta manera quitará las asignaciones de atributos definidas previamente y puede incluir asignaciones que no desee.

Recuperación de las asignaciones de entidades y atributos

Una manera sencilla de ver las asignaciones que se han creado es usar la siguiente consulta FetchXML. Para obtener más información sobre cómo ejecutar esta consulta, consulte Uso de FetchXML para construir una consulta.


<fetch version='1.0' mapping='logical' distinct='false'>
   <entity name='entitymap'>
      <attribute name='sourceentityname'/>
      <attribute name='targetentityname'/>
      <link-entity name='attributemap' alias='attributemap' to='entitymapid' from='entitymapid' link-type='inner'>
         <attribute name='sourceattributename'/>
         <attribute name='targetattributename'/>
      </link-entity>
   </entity>
 </fetch>

Consulte también

Ampliar el modelo de metadatos para Dynamics 365 Customer Engagement (local)
Crear y editar relaciones de entidad: Asignar campos de entidad