共用方式為


自訂活動

 

發行︰ 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: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. 著作權所有,並保留一切權利。 著作權