電子メール活動を送信するエンティティの作成および更新
公開日: 2016年11月
対象: Dynamics CRM 2015
電子メール アドレスを含むエンティティを作成できます。このアドレスは、エンティティのレコードに電子メール活動を送信するために使用できます。
次のサンプルでは、カスタム エンティティを作成し、その IsActivityParty プロパティを true に設定します。 また、StringFormatName.Emailを使用して StringAttributeMetadata 属性を作成し、使用する電子メール アドレスを指定します。
他の StringAttributeMetadata 属性を電子メール アドレスとして追加する場合でも、使用されるのは最初に指定した属性のみです。
// 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.")
関連項目
サンプルとヘルパー コードの使用
エンティティ メタデータのカスタマイズ
カスタマイズ可能なエンティティ
ユーザー定義エンティティの作成
エンティティの取得、更新、および削除
カスタム活動エンティティの作成
エンティティのアイコンの変更
エンティティのメッセージの変更
サンプル: 電子メール活動を送信するエンティティの作成および更新
© 2017 Microsoft. All rights reserved. 著作権