Condividi tramite


Attività personalizzate

 

Data di pubblicazione: novembre 2016

Si applica a: Dynamics CRM 2015

Per supportare le esigenze di comunicazione di un'azienda, ad esempio la messaggistica immediata e gli SMS, è possibile creare impegni personalizzati in Microsoft Dynamics 365. Per creare un impegno personalizzato in Dynamics 365, creare un'entità personalizzata e specificarla come entità di impegno utilizzando la proprietà EntityMetadata.IsActivity.

Tuttavia, diversamente da altre entità personalizzate, non è possibile specificare un attributo primario per un impegno personalizzato perché, per impostazione predefinita, ogni impegno personalizzato deve avere un attributo primario denominato ”Subject”.

Quando si crea un'entità di tipo impegno personalizzato, tutte le proprietà e i privilegi dell'entità activitypointer vengono ereditati per l'impegno personalizzato. Inoltre, tutti i tipi di partecipante all'impegno diventano disponibili per l'impegno personalizzato e pertanto le proprietà corrispondenti vengono ereditate.

È possibile creare relazioni uno-a-molti (1:N) per un impegno personalizzato esattamente come per qualsiasi altro impegno. È inoltre possibile aggiornare relazioni esistenti.

Privilegi e i diritti di accesso

Per utilizzare gli impegni personalizzati come quelli richiesti per utilizzare le entità personalizzate, è necessario lo stesso set di privilegi e diritti di accesso di Dynamics 365. Per ulteriori informazioni sulle entità personalizzate, vedere Personalizzare i metadati dell'entità.

Creazione di un impegno personalizzato

Per creare un'entità di impegno personalizzato, impostare i valori delle proprietà elencate nella tabella seguente.

Nome proprietà

Valore

Note

EntityMetadata.IsActivity

true

Specificare l'entità personalizzata come entità di impegno.

EntityMetadata.IsAvailableOffline

true

Un'entità di impegno personalizzato deve prevedere la disponibilità offline.

EntityMetadata.IsMailMergeEnabled

false

Un'entità di impegno personalizzato non può essere abilitata per la stampa unione.

EntityMetadata.OwnershipType

OwnershipTypes.TeamOwned
o
OwnershipTypes.UserOwned

L'entità di impegno personalizzato può essere di proprietà di un utente o di un team.

EntityMetadata.ActivityTypeMask

0 - Nessuno
o
1 - Impegno di comunicazione

(Facoltativo) Specificare se un impegno personalizzato deve essere visualizzato nei menu di impegno dell'applicazione Web.

  • Specificare 0 (Nessuno) per non visualizzarlo nei menu di impegno. L'impegno personalizzato verrà visualizzato nelle griglie associate delle sole entità a cui è associato (relazione).

  • Specificare 1 (Impegno di comunicazione) per visualizzarlo nei menu di impegno.

Se non si specifica questa proprietà, un impegno personalizzato viene creato con il valore di proprietà predefinito: 1. L'impegno personalizzato è disponibile nei menu degli impegni. Inoltre, ActivityTypeMask può essere impostato solo al momento della creazione dell'impegno e, una volta impostato, non può più essere modificato.

CreateEntityRequest.HasActivities

false

Un'entità di impegno personalizzato non deve avere una relazione con gli impegni.

CreateEntityRequest.HasNotes

true

Un'entità di impegno personalizzato deve avere una relazione con le note.

CreateEntityRequest.PrimaryAttribute

SchemaName è "Subject”.

Il nome dello schema di PrimaryAttribute per tutti gli impegni deve essere “Subject”.

Esempio

Nell'esempio seguente viene illustrato come creare un impegno personalizzato utilizzando Microsoft Dynamics CRM 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

Vedere anche

Entità Impegno
Entità ActivityPointer (activity)
Esempio: creare un impegno personalizzato
Esempio: creare e aggiornare i metadati di un'entità

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright