カスタム活動エンティティの作成
公開日: 2017年1月
対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
このトピックでは、ユーザー定義活動エンティティを作成する方法を示すサンプルが含まれます。
次のサンプルでは、カスタム エンティティを作成し、その IsActivity プロパティを true に設定します。 どの活動も PrimaryAttributeSchemaName が必ず Subject に設定されるので、これはすべての活動で使われる共通の ActivityPointer.Subject 属性と対応しています。
// 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)
関連項目
CreateEntityRequest
サンプルとヘルパー コードの使用
ユーザー定義の活動
エンティティ メタデータのカスタマイズ
エンティティのアイコンの変更
エンティティのメッセージの変更
サンプル: カスタム活動エンティティの作成
Microsoft Dynamics 365
© 2017 Microsoft. All rights reserved. 著作権