Azioni sui record di posizione di SharePoint

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Utilizzando Microsoft Dynamics 365 SDK, è possibile eseguire le seguenti operazioni sui record di posizione di Microsoft SharePoint.

  • Creare, recuperare, aggiornare ed eliminare i record di posizione

  • Impostare un record di posizione sito come predefinito

  • Associare un record di posizione documento a un record di entità

  • Recuperare l'URL assoluto e l'URL della raccolta di siti di un record di posizione

Creare, recuperare, aggiornare ed eliminare i record di posizione

Utilizzando i messaggi Microsoft Dynamics 365 SDK nelle entità SharePointDocumentLocation e SharePointSite, è possibile creare, recuperare, aggiornare ed eliminare record. Per eseguire queste operazioni nell'entità SharePointSite, è necessario disporre del ruolo di amministratore di sistema in Microsoft Dynamics 365. Per l'elenco dei messaggi supportati, vedere Metodi e messaggi dell'entità SharePointSite e Messaggi e metodi dell'entità SharePointDocumentLocation.

Nota

L'esecuzione di queste operazioni sui record di posizione di SharePoint consente solo di modificare i dati in Microsoft Dynamics 365. Non è possibile creare, modificare, aggiornare o eliminare le posizioni nel server SharePoint.

L'attributo SharepointSite.ValidationStatus mostra lo stato della convalida dell'URL del sito di SharePoint. I valori possibili per l'attributo sono definiti nel set di opzioni Stato convalida (sharepoint_validationstatus).

L'attributo SharepointSite.ValidationStatusErrorCode mostra il motivo dello stato di convalida dell'URL del sito di SharePoint. I valori possibili per l'attributo sono definiti nel set di opzioni Motivo stato convalida (sharepoint_validationstatusreason).

Le posizioni di archiviazione in SharePoint Server sono gerarchiche, dove la nella raccolta siti di SharePoint è il contenitore che può contenere più siti e ogni sito può contenere più siti o raccolte di documenti. Ogni raccolta documenti può contenere più cartelle documenti. Durante la creazione dei record di posizione in Microsoft Dynamics 365, specificare il percorso o l'URL delle posizioni in SharePoint Server.

URL assoluto dei record di posizione di SharePoint.

È l'URL completo della posizione di archiviazione in SharePoint. È possibile specificare l'URL assoluto utilizzando la proprietà SharePointDocumentLocation.AbsoluteURL o SharePointSite.AbsoluteURL.

Per creare un record di SharePointSite specificando l'URL assoluto:


// Instantiate a SharePoint site object.
// See the Entity Metadata topic in the SDK documentation to determine 
// which attributes must be set for each entity.
SharePointSite spSite = new SharePointSite
{
    Name = "Sample SharePoint Site",
    Description = "Sample SharePoint Site Location record",

    // TODO: Change this URL to a valid SharePoint URL.                        
    AbsoluteURL = "http://www.example.com",
};

// Create a SharePoint site record named Sample SharePoint Site.
_spSiteId = _serviceProxy.Create(spSite);

' Instantiate a SharePoint site object.
' See the Entity Metadata topic in the SDK documentation to determine 
' which attributes must be set for each entity.
Dim spSite As SharePointSite =
 New SharePointSite With {
  .Name = "Sample SharePoint Site",
  .Description = "Sample SharePoint Site Location record",
  .AbsoluteURL = "http://www.example.com"
 }
' TODO: Change this URL to a valid SharePoint URL.                        

' Create a SharePoint site record named Sample SharePoint Site.
_spSiteId = _serviceProxy.Create(spSite)

Analogamente, per creare un record di posizione documento di SharePoint specificando l'URL assoluto:

SharePointDocumentLocation spDocLoc = new SharePointDocumentLocation
{
    Name = "Sample SharePoint Document Location",
    Description = "Sample SharePoint Document Location record",
    AbsoluteUrl = "http://www.example.com/spdocloc"   
};
_spDocLocId = _serviceProxy.Create(spDocLoc);

Gli URL assoluti in genere vengono forniti per i record di sito di SharePoint perché sono gli oggetti contenitore o padre in cui si desidera creare altre posizioni per archiviare e gestire i documenti.

Nota

L'attributo SharePointDocumentLocation.LocationType determina se un record SharePointDocumentLocation punta a una cartella di SharePoint (0) o a un file di OneNote (1). Quando crei un'istanza (record) di SharePointDocumentLocation, il valore dell'attributo SharePointDocumentLocation.LocationType è impostato su 0 per impostazione predefinita per indicare che punta a una cartella di SharePoint. Per ulteriori informazioni sul supporto di OneNote, vedi Integrare Microsoft Dynamics 365 con OneNote.

URL relativo dei record di posizione di SharePoint

Posizione relativa di un record di posizione rispetto al record di posizione padre nel server SharePoint. Quando specifichi un URL relativo per un record di posizione di SharePoint, devi specificare anche l'oggetto padre in cui deve essere creato.Microsoft Dynamics 365 utilizza internamente l'URL dell'oggetto padre per determinare l'URL assoluto per l'oggetto figlio. Ad esempio, per creare un record per una posizione documento di SharePoint nel sito di SharePoint creato nell'esempio precedente, è necessario specificare quanto segue:


// Instantiate a SharePoint document location object.
// See the Entity Metadata topic in the SDK documentation to determine 
// which attributes must be set for each entity.
SharePointDocumentLocation spDocLoc = new SharePointDocumentLocation
{
    Name = "Sample SharePoint Document Location",
    Description = "Sample SharePoint Document Location record",

    // Set the Sample SharePoint Site created earlier as the parent site.
    ParentSiteOrLocation = new EntityReference(SharePointSite.EntityLogicalName, _spSiteId),
    RelativeUrl = "spdocloc",

    // Associate this document location instance with the Fourth Coffee
    // sample account record.
    RegardingObjectId = new EntityReference(Account.EntityLogicalName, _account1Id)
};

// Create a SharePoint document location record named Sample SharePoint Document Location.
_spDocLocId = _serviceProxy.Create(spDocLoc);

' Instantiate a SharePoint document location object.
' See the Entity Metadata topic in the SDK documentation to determine 
' which attributes must be set for each entity.
Dim spDocLoc As SharePointDocumentLocation =
 New SharePointDocumentLocation With {
  .Name = "Sample SharePoint Document Location",
  .Description = "Sample SharePoint Document Location record",
  .ParentSiteOrLocation = New EntityReference(SharePointSite.EntityLogicalName, _spSiteId),
  .RelativeUrl = "spdocloc",
  .RegardingObjectId = New EntityReference(Account.EntityLogicalName, _account1Id)
 }
' Set the Sample SharePoint Site created earlier as the parent site.
' Associate this document location instance with the Fourth Coffee
' sample account record.

' Create a SharePoint document location record named Sample SharePoint Document Location.
_spDocLocId = _serviceProxy.Create(spDocLoc)

L'URL assoluto dell'oggetto figlio (la posizione documento in questo esempio) è: "URL_Padre/URL_Relativo". Pertanto, in questo esempio, l'URL assoluto della posizione documento è http://www.example.com/spdocloc.

Gli URL relativi in genere vengono forniti quando si desidera creare un record di posizione inferiore nella gerarchia o un record figlio.

Il vantaggio di utilizzare l'URL relativo è che se si decide lo spostamento in un server SharePoint diverso per archiviare i documenti, è sufficiente aggiornare l'URL assoluto del record di posizione dell'oggetto padre (probabilmente un record di sito o di raccolta di siti) in Microsoft Dynamics 365 e tutti gli altri record inferiori nella gerarchia continueranno a funzionare come prima perché gli URL assoluti (determinati automaticamente da Microsoft Dynamics 365) non verranno interrotti. Se sono stati utilizzati gli URL assoluti per tali record di posizione figlio, è necessario correggere singolarmente gli URL.

Impostare un record di posizione sito come predefinito

È possibile impostare un record di posizione sito di SharePoint come predefinito in modo che tutte le posizioni documento create in Microsoft Dynamics 365 vengono automaticamente create in questo sito. Per creare un record di posizione sito come predefinito, utilizzare la proprietà SharePointSite.IsDefault e impostarla su true. È possibile impostare un record di posizione sito come predefinito durante la creazione o l'aggiornamento di un record di posizione sito.

Nota

La creazione automatica di record di posizione documento è possibile solo se il sito di destinazione è un server SharePoint 2010 o SharePoint 2013 e Componente Elenco di Microsoft Dynamics CRM per SharePoint Server è installato nella raccolta siti di destinazione di SharePoint. Per ulteriori informazioni sul Componente Elenco di Microsoft Dynamics CRM, vedere Microsoft Dynamics CRM list component per Microsoft SharePoint Server.

Associare un record di posizione documento a un record di entità

È possibile associare un record di posizione documento a un record di entità. Se si esegue tale operazione, tutti i documenti per il record di entità vengono archiviati in questa posizione nel server SharePoint. È possibile associare un record di posizione documento di SharePoint a un'entità tramite la proprietà SharePointDocumentLocation.RegardingObjectId. Nell'esempio seguente viene illustrato come eseguire questa operazione:


// Instantiate a SharePoint document location object.
// See the Entity Metadata topic in the SDK documentation to determine 
// which attributes must be set for each entity.
SharePointDocumentLocation spDocLoc = new SharePointDocumentLocation
{
    Name = "Sample SharePoint Document Location",
    Description = "Sample SharePoint Document Location record",

    // Set the Sample SharePoint Site created earlier as the parent site.
    ParentSiteOrLocation = new EntityReference(SharePointSite.EntityLogicalName, _spSiteId),
    RelativeUrl = "spdocloc",

    // Associate this document location instance with the Fourth Coffee
    // sample account record.
    RegardingObjectId = new EntityReference(Account.EntityLogicalName, _account1Id)
};

// Create a SharePoint document location record named Sample SharePoint Document Location.
_spDocLocId = _serviceProxy.Create(spDocLoc);

' Instantiate a SharePoint document location object.
' See the Entity Metadata topic in the SDK documentation to determine 
' which attributes must be set for each entity.
Dim spDocLoc As SharePointDocumentLocation =
 New SharePointDocumentLocation With {
  .Name = "Sample SharePoint Document Location",
  .Description = "Sample SharePoint Document Location record",
  .ParentSiteOrLocation = New EntityReference(SharePointSite.EntityLogicalName, _spSiteId),
  .RelativeUrl = "spdocloc",
  .RegardingObjectId = New EntityReference(Account.EntityLogicalName, _account1Id)
 }
' Set the Sample SharePoint Site created earlier as the parent site.
' Associate this document location instance with the Fourth Coffee
' sample account record.

' Create a SharePoint document location record named Sample SharePoint Document Location.
_spDocLocId = _serviceProxy.Create(spDocLoc)

Recuperare l'URL assoluto e l'URL della raccolta di siti di un record di posizione

Come spiegato in precedenza, SharePoint Server segue un modello gerarchico per archiviare i record. Per recuperare l'URL assoluto (completo) di un record di posizione nella gerarchia e l'URL SiteCollection in cui è presente il record di posizione, è possibile utilizzare il messaggio RetrieveAbsoluteAndSiteCollectionUrlRequest.

Il messaggio RetrieveAbsoluteAndSiteCollectionUrlRequest funzionerà correttamente solo se entrambi condizioni sono vere:

  • Componente Elenco di Microsoft Dynamics CRM per SharePoint Server è installato nella raccolta siti di SharePoint nel server di destinazione SharePoint 2010 o SharePoint 2013. Per ulteriori informazioni, vedere Microsoft Dynamics CRM list component per Microsoft SharePoint Server.

  • Il record di posizione della raccolta siti padre di SharePoint esiste in Microsoft Dynamics 365 e la proprietà SharePointSite.IsGridPresent è stata impostata su true durante la creazione del record di posizione padre.

In caso contrario, verrà visualizzato un valore vuoto o un valore non corretto per la proprietà SiteCollectionUrl.

Per ulteriori informazioni, vedere RetrieveAbsoluteAndSiteCollectionUrlRequest.

Nell'esempio seguente viene illustrato come utilizzare il messaggio RetrieveAbsoluteAndSiteCollectionUrl:


// Retrieve the absolute URL and the Site Collection URL
// of the SharePoint document location record.
RetrieveAbsoluteAndSiteCollectionUrlRequest retrieveRequest = new RetrieveAbsoluteAndSiteCollectionUrlRequest
{
    Target = new EntityReference(SharePointDocumentLocation.EntityLogicalName, _spDocLocId)
};
RetrieveAbsoluteAndSiteCollectionUrlResponse retriveResponse = (RetrieveAbsoluteAndSiteCollectionUrlResponse)_serviceProxy.Execute(retrieveRequest);

Console.WriteLine("Absolute URL of document location record is '{0}'.", retriveResponse.AbsoluteUrl.ToString());
Console.WriteLine("Site Collection URL of document location record is '{0}'.", retriveResponse.SiteCollectionUrl.ToString());

' Retrieve the absolute URL and the Site Collection URL
' of the SharePoint document location record.
Dim retrieveRequest As RetrieveAbsoluteAndSiteCollectionUrlRequest =
 New RetrieveAbsoluteAndSiteCollectionUrlRequest With {
  .Target = New EntityReference(SharePointDocumentLocation.EntityLogicalName, _spDocLocId)
 }
Dim retriveResponse As RetrieveAbsoluteAndSiteCollectionUrlResponse =
 CType(_serviceProxy.Execute(retrieveRequest), RetrieveAbsoluteAndSiteCollectionUrlResponse)

Console.WriteLine("Absolute URL of document location record is '{0}'.", retriveResponse.AbsoluteUrl.ToString())
Console.WriteLine("Site Collection URL of document location record is '{0}'.", retriveResponse.SiteCollectionUrl.ToString())

Vedere anche

RetrieveAbsoluteAndSiteCollectionUrlRequest
RetrieveAbsoluteAndSiteCollectionUrlResponse
Integrare Microsoft Dynamics 365 con SharePoint
Operazioni preliminari dell'integrazione di SharePoint
Abilitare la gestione dei documenti per le entità
Entità di integrazione di SharePoint
Esempio: Abilitare la gestione dei documenti per le entità
Esempio: creare, recuperare, aggiornare ed eliminare un record di località di SharePoint
Esempio: recuperare l'URL assoluto e l'URL della raccolta di siti di un record di posizione
Integrare Microsoft Dynamics 365 con OneNote

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright