Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Puede relacionar columnas entre tablas que tienen una relación. Esto le permite establecer valores predeterminados para un registro que se crea en el contexto de otro registro. Utilice las herramientas de personalización de la aplicación para asignar tablas; consulte Asignar columnas.
Comportamiento en la aplicación
La asignación en Microsoft Dataverse simplifica la entrada de datos al crear nuevos registros asociados a otro registro. Cuando una tabla tiene una relación con otra tabla, puede crear registros relacionados mediante la pestaña Crear relacionado de la cinta de opciones. Al crear un nuevo registro de esta manera, los datos mapeados del registro principal se copian en el formulario para el nuevo registro relacionado. Al mapear columnas de tablas, puede controlar qué datos se copian al añadir nuevos mapeos en la relación entre las dos tablas. Si crea un registro sin usar la vista asociada de la tabla primaria, los datos no se asignarán.
Por ejemplo, puede querer establecer un mapeo entre las columnas de dirección en cuentas y las de dirección en contactos. Con esta asignación, cuando un usuario agrega un contacto asociado a una cuenta específica, las columnas de dirección del contacto se rellenan automáticamente.
Puede asignar una columna a varias columnas de destino. Por ejemplo, puede asignar la información de dirección de una cuenta a las direcciones de facturación y envío de un pedido.
La asignación se aplica antes de que se cree un nuevo registro relacionado. Los usuarios pueden hacer cambios antes de guardar el registro. Los cambios posteriores que se realicen en el registro principal no se aplicarán al registro relacionado.
Uso de datos de mapeo de tablas y columnas
Uso de la API web
Al trabajar con la API web, puede usar InitializeFrom Function para crear registros nuevos en el contexto de los registros existentes en los que existe una asignación entre las tablas.
La respuesta recibida de la solicitud InitializeFrom consta de valores de columnas asignados entre la tabla de origen, la tabla de destino y el GUID del registro primario. La asignación de columnas entre tablas que tienen una relación es diferente para diferentes conjuntos de tablas y es personalizable, por lo que la respuesta de la solicitud de función InitializeFrom puede variar para distintas tablas y organizaciones. Cuando esta respuesta se pasa en el cuerpo de la solicitud de creación del nuevo registro, estos valores de columna se replican en el nuevo registro. Los valores de las columnas mapeadas personalizadas también se establecen en el nuevo registro durante el proceso.
Nota:
Para determinar si se pueden mapear dos tablas, use la siguiente solicitud de API web:GET [Organization URI]/api/data/v9.0/entitymaps?$select=sourceentityname,targetentityname&$orderby=sourceentityname
Para obtener más información, vea Crear un nuevo registro a partir de otro registro.
Uso del SDK para .NET
Al crear nuevos registros en el contexto de un registro existente en el que existe una asignación entre las tablas, puede usar el InitializeFromRequest mensaje para definir un nuevo registro que contenga los valores especificados en la asignación. A continuación, ya podrá usar el método IOrganizationService. Create para guardar el registro. De esta manera, se aplican todas las asignaciones definidas.
Los mapas de tabla válidos se crean cuando se crea una relación. Use la entity_map_attribute_maps relación para recuperar los mapas de columnas para el par de tablas especificadas por el mapa de tablas.
Puede crear o actualizar registros de mapa de columnas. Se deben cumplir los siguientes requisitos para los mapas de columnas:
- El tipo de AttributeMetadata debe coincidir.
- La longitud de la columna de destino no puede ser más corta que la columna de origen.
- El formato debe coincidir.
- La columna de destino no debe usarse en otro mapeo.
- La columna de origen debe estar visible en el formulario.
- La columna de destino debe ser un campo en el que un usuario puede escribir datos.
- Los valores de identificador de dirección no se pueden asignar.
- Columnas PartyList, donde AttributeMetadata.AttributeType es AttributeTypeCode.PartyList no se puede asignar.
Asignación automática de columnas entre tablas
Puede editar asignaciones de columnas entre tablas para relaciones que admitan la asignación.
Además de crear manualmente cada asignación de columnas, puede usar el AutoMapEntity mensaje (Acción AutoMapEntity o clase AutoMapEntityRequest) para generar un nuevo conjunto de asignaciones de columnas. 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 (vea Generar asignaciones de columnas automáticamente). Este mensaje asigna todas las columnas entre las dos tablas relacionadas donde los nombres de columna y los tipos son idénticos. Este mensaje se proporciona como aumento de la productividad, de modo que no es necesario agregar manualmente todas las asignaciones de columnas. En su lugar, puede generar un conjunto de asignaciones potenciales y reducir la cantidad de trabajo manual para agregar o quitar asignaciones individuales para adaptarse a sus requisitos.
Nota:
La generación automática de mapeos de este modo quitará los mapeos de columnas definidos previamente y puede incluir mapeos que no desee.
Recuperar las asignaciones de tablas y columnas
Una forma sencilla de ver las asignaciones que se han realizado es usar la siguiente consulta de FetchXML. Para obtener más información sobre cómo ejecutar esta consulta, consulte Consulta de datos mediante FetchXml.
<fetch>
<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>