Freigeben über


Entität, die per E-Mail gesendet werden kann, erstellen und aktualisieren

 

Veröffentlicht: November 2016

Gilt für: Dynamics CRM 2015

Sie können eine Entität erstellen, die eine E-Mail-Adresse enthält, die Sie verwenden können, um E-Mail-Aktivitäten an Datensätze für diese Entität zu senden.

Das folgende Beispiel erstellt eine benutzerdefinierte Entität und legt die Eigenschaft IsActivityParty auf true fest. Es wird außerdem ein StringAttributeMetadata-Attribut mit StringFormatName.Email erstellt, um die zu verwendende E-Mail-Adresse bereitzustellen.

Selbst wenn Sie andere StringAttributeMetadata-Attribute hinzufügen, die als E-Mail-Adresse formatiert sind, wird nur das zuerst angegebene Attribut verwendet.



// Create the custom entity.
CreateEntityRequest createrequest = new CreateEntityRequest
{
    // Define an entity to enable for emailing. In order to do so,
    // IsActivityParty must be set.
    Entity = new EntityMetadata
    {
        SchemaName = _customEntityName,
        DisplayName = new Label("Agent", 1033),
        DisplayCollectionName = new Label("Agents", 1033),
        Description = new Label("Insurance Agents", 1033),
        OwnershipType = OwnershipTypes.UserOwned,
        IsActivity = false,

        // Unless this flag is set, this entity cannot be party to an
        // activity.
        IsActivityParty = true
    },

    // As with built-in emailable entities, the Primary Attribute will
    // be used in the activity party screens. Be sure to choose descriptive
    // attributes.
    PrimaryAttribute = new StringAttributeMetadata
    {
        SchemaName = "new_fullname",
        RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
        MaxLength = 100,
        FormatName = StringFormatName.Text,
        DisplayName = new Label("Agent Name", 1033),
        Description = new Label("Agent Name", 1033)
    }
};

_serviceProxy.Execute(createrequest);
Console.WriteLine("The emailable entity has been created.");

// The entity will not be selectable as an activity party until its customizations
// have been published. Otherwise, the e-mail activity dialog cannot find
// a correct default view.
PublishAllXmlRequest publishRequest = new PublishAllXmlRequest();
_serviceProxy.Execute(publishRequest);

// Before any emails can be created for this entity, an Email attribute
// must be defined.
CreateAttributeRequest createFirstEmailAttributeRequest = new CreateAttributeRequest
{
    EntityName = _customEntityName,
    Attribute = new StringAttributeMetadata
    {
        SchemaName = "new_emailaddress",
        RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
        MaxLength = 100,                            
        FormatName = StringFormatName.Email,
        DisplayName = new Label("Email Address", 1033),
        Description = new Label("Email Address", 1033)
    }
};

_serviceProxy.Execute(createFirstEmailAttributeRequest);
Console.WriteLine("An email attribute has been added to the emailable entity.");

// Create a second, alternate email address. Since there is already one 
// email attribute on the entity, this will never be used for emailing
// even if the first one is not populated.
CreateAttributeRequest createSecondEmailAttributeRequest = new CreateAttributeRequest
{
    EntityName = _customEntityName,
    Attribute = new StringAttributeMetadata
    {
        SchemaName = "new_secondaryaddress",
        RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
        MaxLength = 100,                            
        FormatName = StringFormatName.Email,
        DisplayName = new Label("Secondary Email Address", 1033),
        Description = new Label("Secondary Email Address", 1033)
    }
};

_serviceProxy.Execute(createSecondEmailAttributeRequest);

Console.WriteLine("A second email attribute has been added to the emailable entity.");


' Create the custom entity.
Dim createrequest As CreateEntityRequest = New CreateEntityRequest With {.Entity = New EntityMetadata With {
  .SchemaName = _customEntityName,
  .DisplayName = New Label("Agent", 1033),
  .DisplayCollectionName = New Label("Agents", 1033),
  .Description = New Label("Insurance Agents", 1033),
  .OwnershipType = OwnershipTypes.UserOwned,
  .IsActivity = False, .IsActivityParty = True},
  .PrimaryAttribute = New StringAttributeMetadata With {
   .SchemaName = "new_fullname",
   .RequiredLevel = New AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
   .MaxLength = 100,
   .Format = StringFormat.Text,
   .DisplayName = New Label("Agent Name", 1033),
   .Description = New Label("Agent Name", 1033)
   }
  }
' Define an entity to enable for emailing. In order to do so,
' IsActivityParty must be set.
' Unless this flag is set, this entity cannot be party to an
' activity.
' As with built-in emailable entities, the Primary Attribute will
' be used in the activity party screens. Be sure to choose descriptive
' attributes.

_serviceProxy.Execute(createrequest)
Console.WriteLine("The emailable entity has been created.")

' The entity will not be selectable as an activity party until its customizations
' have been published. Otherwise, the e-mail activity dialog cannot find
' a correct default view.
Dim publishRequest As New PublishAllXmlRequest()
_serviceProxy.Execute(publishRequest)

' Before any emails can be created for this entity, an Email attribute
' must be defined.
Dim createFirstEmailAttributeRequest As CreateAttributeRequest = New CreateAttributeRequest With {
 .EntityName = _customEntityName,
 .Attribute = New StringAttributeMetadata With {
  .SchemaName = "new_emailaddress",
  .RequiredLevel = New AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
  .MaxLength = 100,
  .Format = StringFormat.Email,
  .DisplayName = New Label("Email Address", 1033),
  .Description = New Label("Email Address", 1033)
 }
}

_serviceProxy.Execute(createFirstEmailAttributeRequest)
Console.WriteLine("An email attribute has been added to the emailable entity.")

' Create a second, alternate email address. Since there is already one 
' email attribute on the entity, this will never be used for emailing
' even if the first one is not populated.
Dim createSecondEmailAttributeRequest As CreateAttributeRequest = New CreateAttributeRequest With {
 .EntityName = _customEntityName,
 .Attribute = New StringAttributeMetadata With {
  .SchemaName = "new_secondaryaddress",
  .RequiredLevel = New AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
  .MaxLength = 100,
  .Format = StringFormat.Email,
  .DisplayName = New Label("Secondary Email Address", 1033),
  .Description = New Label("Secondary Email Address", 1033)
 }
}

_serviceProxy.Execute(createSecondEmailAttributeRequest)

Console.WriteLine("A second email attribute has been added to the emailable entity.")

Siehe auch

Verwenden des Beispiel- und Hilfscode
Anpassen von Entitätsmetadaten
Welche Entitäten sind anpassbar?
Erstellen einer benutzerdefinierten Entität.
Abrufen, Aktualisieren und Löschen von Entitäten
Erstellen einer benutzerdefinierten Aktivitätsentität
Ändern der Symbole für eine Entität
Ändern der Meldungen für eine Entität
Beispiel: Erstellen und Aktualisieren einer E-Mail-fähigen Entität

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright