Crear una entidad personalizada
Publicado: noviembre de 2016
Se aplica a: Dynamics CRM 2015
En este tema se muestra cómo crear una entidad personalizada propiedad del usuario llamada Cuenta bancaria y agregar cuatro tipos diferentes de atributos a la misma.
También puede crear entidades personalizadas propiedad de la organización.Más información:Propiedad de la entidad
Nota
No podrá ver esta entidad al navegar por la aplicación a menos que se establezcan las propiedades de entidad que se modifican para establecer Áreas que muestran esta entidad.
En este tema
Crear una entidad personalizada
Agregar un atributo de cadena a la entidad personalizada
Agregar un atributo monetario a la entidad personalizada
Agregar un atributo de fecha y hora a la entidad personalizada
Agregar un atributo de búsqueda a la entidad personalizada
Crear una entidad personalizada
En el siguiente ejemplo usa la CreateEntityRequest para crear la entidad y StringAttributeMetadataPrimaryAttribute.
El valor _customEntityName es “new_bankaccount”.
CreateEntityRequest createrequest = new CreateEntityRequest
{
//Define the entity
Entity = new EntityMetadata
{
SchemaName = _customEntityName,
DisplayName = new Label("Bank Account", 1033),
DisplayCollectionName = new Label("Bank Accounts", 1033),
Description = new Label("An entity to store information about customer bank accounts", 1033),
OwnershipType = OwnershipTypes.UserOwned,
IsActivity = false,
},
// Define the primary attribute for the entity
PrimaryAttribute = new StringAttributeMetadata
{
SchemaName = "new_accountname",
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
MaxLength = 100,
FormatName = StringFormatName.Text,
DisplayName = new Label("Account Name", 1033),
Description = new Label("The primary attribute for the Bank Account entity.", 1033)
}
};
_serviceProxy.Execute(createrequest);
Console.WriteLine("The bank account entity has been created.");
Dim createrequest As CreateEntityRequest = New CreateEntityRequest With {
.Entity = New EntityMetadata With {
.SchemaName = _customEntityName,
.DisplayName = New Label("Bank Account", 1033),
.DisplayCollectionName = New Label("Bank Accounts", 1033),
.Description = New Label("An entity to store information about customer bank accounts", 1033),
.OwnershipType = OwnershipTypes.UserOwned,
.IsActivity = False},
.PrimaryAttribute = New StringAttributeMetadata With {
.SchemaName = "new_accountname",
.RequiredLevel = New AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
.MaxLength = 100,
.Format = StringFormat.Text,
.DisplayName = New Label("Account Name", 1033),
.Description = New Label("The primary attribute for the Bank Account entity.", 1033)
}
}
'Define the entity
' Define the primary attribute for the entity
_serviceProxy.Execute(createrequest)
Console.WriteLine("The bank account entity has been created.")
Agregar un atributo de cadena a la entidad personalizada
En el siguiente ejemplo se agrega un atributo StringAttributeMetadata a la entidad Bank Account.
CreateAttributeRequest createBankNameAttributeRequest = new CreateAttributeRequest
{
EntityName = _customEntityName,
Attribute = new StringAttributeMetadata
{
SchemaName = "new_bankname",
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
MaxLength = 100,
FormatName = StringFormatName.Text,
DisplayName = new Label("Bank Name", 1033),
Description = new Label("The name of the bank.", 1033)
}
};
_serviceProxy.Execute(createBankNameAttributeRequest);
Dim createBankNameAttributeRequest As CreateAttributeRequest = New CreateAttributeRequest With {
.EntityName = _customEntityName,
.Attribute = New StringAttributeMetadata With {
.SchemaName = "new_bankname",
.RequiredLevel = New AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
.MaxLength = 100,
.Format = StringFormat.Text,
.DisplayName = New Label("Bank Name", 1033),
.Description = New Label("The name of the bank.", 1033)
}
}
_serviceProxy.Execute(createBankNameAttributeRequest)
Agregar un atributo monetario a la entidad personalizada
En el siguiente ejemplo se agrega un atributo MoneyAttributeMetadata a la entidad Bank Account.
CreateAttributeRequest createBalanceAttributeRequest = new CreateAttributeRequest
{
EntityName = _customEntityName,
Attribute = new MoneyAttributeMetadata
{
SchemaName = "new_balance",
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
PrecisionSource = 2,
DisplayName = new Label("Balance", 1033),
Description = new Label("Account Balance at the last known date", 1033),
}
};
_serviceProxy.Execute(createBalanceAttributeRequest);
Dim createBalanceAttributeRequest As CreateAttributeRequest = New CreateAttributeRequest With {
.EntityName = _customEntityName,
.Attribute = New MoneyAttributeMetadata With {
.SchemaName = "new_balance",
.RequiredLevel = New AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
.PrecisionSource = 2,
.DisplayName = New Label("Balance", 1033),
.Description = New Label("Account Balance at the last known date", 1033)
}
}
_serviceProxy.Execute(createBalanceAttributeRequest)
Agregar un atributo de fecha y hora a la entidad personalizada
En el siguiente ejemplo se agrega un atributo DateTimeAttributeMetadata a la entidad Bank Account.
CreateAttributeRequest createCheckedDateRequest = new CreateAttributeRequest
{
EntityName = _customEntityName,
Attribute = new DateTimeAttributeMetadata
{
SchemaName = "new_checkeddate",
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
Format = DateTimeFormat.DateOnly,
DisplayName = new Label("Date", 1033),
Description = new Label("The date the account balance was last confirmed", 1033)
}
};
_serviceProxy.Execute(createCheckedDateRequest);
Console.WriteLine("An date attribute has been added to the bank account entity.");
Dim createCheckedDateRequest As CreateAttributeRequest = New CreateAttributeRequest With {
.EntityName = _customEntityName,
.Attribute = New DateTimeAttributeMetadata With {
.SchemaName = "new_checkeddate",
.RequiredLevel = New AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
.Format = DateTimeFormat.DateOnly,
.DisplayName = New Label("Date", 1033),
.Description = New Label("The date the account balance was last confirmed", 1033)
}
}
_serviceProxy.Execute(createCheckedDateRequest)
Console.WriteLine("An date attribute has been added to the bank account entity.")
Agregar un atributo de búsqueda a la entidad personalizada
En el siguiente ejemplo se usa CreateOneToManyRequest para crear una relación de uno a varios con la entidad Contact para agregar un atributo LookupAttributeMetadata a la entidad Bank Account.
CreateOneToManyRequest req = new CreateOneToManyRequest()
{
Lookup = new LookupAttributeMetadata()
{
Description = new Label("The owner of the bank account", 1033),
DisplayName = new Label("Account Owner", 1033),
LogicalName = "new_parent_contactid",
SchemaName = "New_Parent_ContactId",
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.ApplicationRequired)
},
OneToManyRelationship = new OneToManyRelationshipMetadata()
{
AssociatedMenuConfiguration = new AssociatedMenuConfiguration()
{
Behavior = AssociatedMenuBehavior.UseCollectionName,
Group = AssociatedMenuGroup.Details,
Label = new Label("Bank Accounts", 1033),
Order = 10000
},
CascadeConfiguration = new CascadeConfiguration()
{
Assign = CascadeType.Cascade,
Delete = CascadeType.Cascade,
Merge = CascadeType.Cascade,
Reparent = CascadeType.Cascade,
Share = CascadeType.Cascade,
Unshare = CascadeType.Cascade
},
ReferencedEntity = Contact.EntityLogicalName,
ReferencedAttribute = "contactid",
ReferencingEntity = _customEntityName,
SchemaName = "new_contact_new_bankaccount"
}
};
_serviceProxy.Execute(req);
Dim req As New CreateOneToManyRequest() With {
.Lookup = New LookupAttributeMetadata() With {
.Description = New Label("The owner of the bank account", 1033),
.DisplayName = New Label("Account Owner", 1033),
.LogicalName = "new_parent_contactid",
.SchemaName = "New_Parent_ContactId",
.RequiredLevel = New AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.ApplicationRequired)},
.OneToManyRelationship = New OneToManyRelationshipMetadata() With {
.AssociatedMenuConfiguration = New AssociatedMenuConfiguration() With {
.Behavior = AssociatedMenuBehavior.UseCollectionName,
.Group = AssociatedMenuGroup.Details,
.Label = New Label("Bank Accounts", 1033),
.Order = 10000},
.CascadeConfiguration = New CascadeConfiguration() With {
.Assign = CascadeType.Cascade,
.Delete = CascadeType.Cascade,
.Merge = CascadeType.Cascade,
.Reparent = CascadeType.Cascade,
.Share = CascadeType.Cascade,
.Unshare = CascadeType.Cascade},
.ReferencedEntity = Contact.EntityLogicalName,
.ReferencedAttribute = "contactid",
.ReferencingEntity = _customEntityName,
.SchemaName = "new_contact_new_bankaccount"
}
}
_serviceProxy.Execute(req)
Ver también
CreateEntityRequest
Usar el ejemplo y el código auxiliar
Personalizar metadatos de entidad
¿Qué entidades se pueden personalizar?
Recuperar, actualizar y eliminar entidades
Crear y actualizar una entidad que se puede enviar por correo electrónico
Crear una entidad de actividad personalizada
Modificar los iconos para una entidad
Modificar los mensajes de una entidad
© 2017 Microsoft. Todos los derechos reservados. Copyright