次の方法で共有


ユーザー定義の活動

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

Microsoft Dynamics 365 でカスタム活動を作成し、インスタント メッセージング (IM) やショート メッセージ サービス (SMS) などの業務上の通信ニーズをサポートできます。Dynamics 365 でカスタム活動を作成するには、ユーザー定義エンティティを作成し、EntityMetadata.IsActivity プロパティを使用してこのエンティティを活動エンティティとして指定します。

ただし、他のユーザー定義エンティティと異なり、ユーザー定義の活動の主属性を指定できません。これは、ユーザー定義の各活動には、既定で ”Subject”. という名前の主属性が必要であるためです。

カスタム活動エンティティを作成すると、activitypointer エンティティのすべてのプロパティと特権がカスタム活動に継承されます。 また、すべての活動関係者の種類をカスタム活動に使用できるようになり、その結果として対応するプロパティも継承されます。

他の活動と同じように、カスタム活動にも 1 対多 (1:N) の関連付けを作成できます。また、既存の関連付けを更新できます。

特権およびアクセス権

ユーザー定義の活動を操作するには、ユーザー定義エンティティを操作する場合と同じ、 Dynamics 365 の特権およびアクセス権のセットが必要です。 ユーザー定義のエンティティの詳細については、エンティティ メタデータのカスタマイズ を参照してください。

ユーザー定義の活動の作成

カスタム活動エンティティを作成するには、以下の表に示すプロパティの値を設定します。

プロパティ名

注意

EntityMetadata.IsActivity

true

ユーザー定義エンティティをカスタム活動として指定します。

EntityMetadata.IsAvailableOffline

true

カスタム活動エンティティをオフラインで使用できるようにする必要があります。

EntityMetadata.IsMailMergeEnabled

false

カスタム活動エンティティの差し込み印刷を有効にすることはできません。

EntityMetadata.OwnershipType

OwnershipTypes。TeamOwned
または
OwnershipTypes。UserOwned

カスタム活動エンティティはチーム所有またはユーザー所有にすることができます。

EntityMetadata.ActivityTypeMask

0 - なし
または
1 – 通信活動

(任意) カスタム活動を Web アプリケーションの活動メニューに表示するかどうかを指定します。

  • 活動メニューに表示しない場合は 0 (なし) を指定します。 カスタム活動は関連する (関連付けがある) エンティティのみの関連グリッドに表示されます。

  • 活動メニューに表示する場合は 1 (通信活動) を指定します。

このプロパティを指定しない場合、カスタム活動は既定のプロパティ値 (1) で作成されます。 つまり、カスタム活動は活動メニューに表示されます。 また、ActivityTypeMask は活動の作成時にのみ設定できます。一度設定したら、変更はできません。

CreateEntityRequest.HasActivities

false

カスタム活動エンティティには活動との関連付けを設定できません。

CreateEntityRequest.HasNotes

true

カスタム活動エンティティにはメモへの関連付けを設定する必要があります。

CreateEntityRequestPrimaryAttribute

SchemaName は、"Subject”.

すべての活動の PrimaryAttribute のスキーマ名を “Subject”. にする必要があります。

次のサンプルは、Microsoft Dynamics 365 SDK を使用してユーザー定義の活動を作成する方法を示します。


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

関連項目

活動エンティティ
ActivityPointer (活動) エンティティ
サンプル: カスタム活動の作成
サンプル: エンティティ メタデータの作成と更新

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権