Freigeben über


Erstellen einer benutzerdefinierten Aktivitätsentität

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Dieses Thema enthält ein Beispiel, das veranschaulicht, wie Sie eine benutzerdefinierte Aktivitätsentität erstellen.

Das folgende Beispiel erstellt eine benutzerdefinierte Entität und legt die Eigenschaft IsActivity auf true fest. Für alle Aktivitäten muss PrimaryAttributeSchemaName auf Subject festgelegt werden, um dem allgemeinen Attribut ActivityPointer.Subject zu entsprechen, das von allen Aktivitäten verwendet wird.


 // The custom prefix would typically be passed in as an argument or 
 // determined by the publisher of the custom solution.
 String prefix = "new_";

 String customEntityName = prefix + "instantmessage";

 // Create the custom activity entity.
 CreateEntityRequest request = new CreateEntityRequest
 {
     HasNotes = true,
     HasActivities = false,
     PrimaryAttribute = new StringAttributeMetadata
     {
         SchemaName = "Subject",
         RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
         MaxLength = 100,
         DisplayName = new Label("Subject", 1033)
     },
     Entity = new EntityMetadata
     {
         IsActivity = true,
         SchemaName = customEntityName,
         DisplayName = new Label("Instant Message", 1033),
         DisplayCollectionName = new Label("Instant Messages", 1033),
         OwnershipType = OwnershipTypes.UserOwned,
         IsAvailableOffline = true,

     }
 };

 _serviceProxy.Execute(request);

 //Entity must be published

 // Add few attributes to the custom activity entity.
 CreateAttributeRequest fontFamilyAttributeRequest =
     new CreateAttributeRequest
{
    EntityName = customEntityName,
    Attribute = new StringAttributeMetadata
    {
        SchemaName = prefix + "fontfamily",
        DisplayName = new Label("Font Family", 1033),
        MaxLength = 100
    }
};
 CreateAttributeResponse fontFamilyAttributeResponse =
     (CreateAttributeResponse)_serviceProxy.Execute(
     fontFamilyAttributeRequest);

 CreateAttributeRequest fontColorAttributeRequest =
     new CreateAttributeRequest
 {
     EntityName = customEntityName,
     Attribute = new StringAttributeMetadata
     {
         SchemaName = prefix + "fontcolor",
         DisplayName = new Label("Font Color", 1033),
         MaxLength = 50
     }
 };
 CreateAttributeResponse fontColorAttributeResponse =
     (CreateAttributeResponse)_serviceProxy.Execute(
     fontColorAttributeRequest);

 CreateAttributeRequest fontSizeAttributeRequest =
     new CreateAttributeRequest
 {
     EntityName = customEntityName,
     Attribute = new IntegerAttributeMetadata
     {
         SchemaName = prefix + "fontSize",
         DisplayName = new Label("Font Size", 1033)
     }
 };
 CreateAttributeResponse fontSizeAttributeResponse =
     (CreateAttributeResponse)_serviceProxy.Execute(
     fontSizeAttributeRequest);

' The custom prefix would typically be passed in as an argument or 
' determined by the publisher of the custom solution.
Dim prefix As String = "new_"

Dim customEntityName As String = prefix & "instantmessage"

' Create the custom activity entity.
Dim request As CreateEntityRequest = New CreateEntityRequest With {
 .HasNotes = True,
 .HasActivities = False,
 .PrimaryAttribute = New StringAttributeMetadata With {
  .SchemaName = "Subject",
  .RequiredLevel = New AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
  .MaxLength = 100,
  .DisplayName = New Label("Subject", 1033)},
 .Entity = New EntityMetadata With {
  .IsActivity = True,
  .SchemaName = customEntityName,
  .DisplayName = New Label("Instant Message", 1033),
  .DisplayCollectionName = New Label("Instant Messages", 1033),
  .OwnershipType = OwnershipTypes.UserOwned,
  .IsAvailableOffline = True}}

_serviceProxy.Execute(request)

'Entity must be published

' Add few attributes to the custom activity entity.
Dim fontFamilyAttributeRequest As CreateAttributeRequest = New CreateAttributeRequest With {
 .EntityName = customEntityName,
 .Attribute = New StringAttributeMetadata With {
  .SchemaName = prefix & "fontfamily",
  .DisplayName = New Label("Font Family", 1033),
  .MaxLength = 100}}
Dim fontFamilyAttributeResponse As CreateAttributeResponse = CType(_serviceProxy.Execute(fontFamilyAttributeRequest), CreateAttributeResponse)

Dim fontColorAttributeRequest As CreateAttributeRequest = New CreateAttributeRequest With {
 .EntityName = customEntityName,
 .Attribute = New StringAttributeMetadata With {
  .SchemaName = prefix & "fontcolor",
  .DisplayName = New Label("Font Color", 1033),
  .MaxLength = 50}}
Dim fontColorAttributeResponse As CreateAttributeResponse = CType(_serviceProxy.Execute(fontColorAttributeRequest), CreateAttributeResponse)

Dim fontSizeAttributeRequest As CreateAttributeRequest = New CreateAttributeRequest With {
 .EntityName = customEntityName,
 .Attribute = New IntegerAttributeMetadata With {
  .SchemaName = prefix & "fontSize",
  .DisplayName = New Label("Font Size", 1033)}}
Dim fontSizeAttributeResponse As CreateAttributeResponse = CType(_serviceProxy.Execute(fontSizeAttributeRequest), CreateAttributeResponse)

Siehe auch

CreateEntityRequest
Verwenden des Beispiel- und Hilfscode
Benutzerdefinierte Aktivitäten
Anpassen von Entitätsmetadaten
Ändern der Symbole für eine Entität
Ändern der Meldungen für eine Entität
Beispiel: Erstellen einer benutzerdefinierte Aktivitätsentität

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright