Ações em registros de locais SharePoint

 

Publicado: janeiro de 2017

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Ao usar o SDK do Microsoft Dynamics 365, você pode executar as seguintes ações em registros de local Microsoft SharePoint.

  • Criar, recuperar, atualizar e excluir registros de local

  • Definir um registro de local do site como padrão

  • Associar um registro de local de documento a um registro de entidade

  • Recupere as URLs absolutas e do conjunto de sites para um registro de local

Criar, recuperar, atualizar e excluir registros de local

Usando as mensagens SDK do Microsoft Dynamics 365 nas entidades SharePointSite e SharePointDocumentLocation, você pode criar, recuperar, atualizar e excluir registros. Para realizar estas operações na entidade SharePointSite, você deve ter uma função de Administrador do Sistema no Microsoft Dynamics 365. Para obter uma lista de mensagens com suporte, consulte Mensagens e métodos da entidade SharePointSite e Mensagens e métodos da entidade SharePointDocumentLocation.

Observação

Executar estas operações em registros de locais SharePoint manipula somente os dados em Microsoft Dynamics 365. Não cria, atualiza, nem exclui os locais no servidor SharePoint.

O atributo SharepointSite.ValidationStatus mostra o status de validação da URL do local SharePoint. Os valores possíveis desse atributo são definidos no conjunto de opções Status da validação (sharepoint_validationstatus).

O atributo SharepointSite.ValidationStatusErrorCode mostra a razão do status da validação da URL do local do SharePoint. Os valores possíveis desse atributo são definidos no conjunto de opções Motivo do status da validação (sharepoint_validationstatusreason).

Os locais de armazenamento em SharePoint Server são hierárquicos onde o conjunto de locais SharePoint é o container que pode conter diversos locais, e cada local pode conter diversos locais ou bibliotecas de documentos. Cada biblioteca de documentos pode conter várias pastas de documentos. Ao criar registros de locais em Microsoft Dynamics 365, especifique o caminho ou a URL destes locais em SharePoint Server.

URL absoluta dos registros de locais do SharePoint

Esta é a URL completa de um local de armazenamento em SharePoint. Você pode especificar a URL absoluta usando a propriedade SharePointSite.AbsoluteURL ou SharePointDocumentLocation.AbsoluteURL.

Para criar um registro SharePointSite especificando a URL absoluta:


// 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)

De modo semelhante, para criar um registro de local de documentos SharePoint especificando a URL absoluta:

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);

URLs absolutas geralmente são fornecidas para os registros de locais SharePoint porque são containers ou objetos primários sob os quais você deseja criar outros locais para armazenar e gerenciar seus documentos.

Observação

O atributo SharePointDocumentLocation.LocationType determina se um registro SharePointDocumentLocation aponta para uma pasta (0) SharePoint ou para um arquivo (1) OneNote. Quando você cria uma instância (registro) SharePointDocumentLocation, o valor do atributo SharePointDocumentLocation.LocationType é definido como 0 por padrão para indicar que ele aponta para uma pasta SharePoint. Para obter mais informações sobre o suporte do OneNote, consulte Integrar o Microsoft Dynamics 365 com o OneNote.

URL relativa dos registros de locais do SharePoint

Este é o local relativo de um registro de local em relação ao registro primário de locais no servidor SharePoint. Quando você especifica uma URL relativa para um registro de localidade do SharePoint, você deve também especificar um objeto pai sob o qual ele deve ser criado. O Microsoft Dynamics 365 usa internamente a URL do objeto pai para determinar a URL absoluta do objeto filho. Por exemplo, para criar um registro de um local de documentos SharePoint sob o local SharePoint criado no exemplo anterior, você deve especificar o seguinte:


// 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)

A URL absoluta dos objetos secundários (local do documento nesse exemplo) é: “Parent_URL/Relative_URL”. Assim, neste exemplo, a URL absoluta do local de documentos é http://www.example.com/spdocloc.

As URLs relativas são fornecidas geralmente quando você quiser criar um registro de local abaixo da hierarquia ou como um registro secundário.

A vantagem de usar a URL relativa é que se você decidir mudar para um servidor SharePoint diferente para armazenar seus documentos, você precisa apenas atualizar a URL absoluta do registro de local do objeto primário (provavelmente um conjunto de locais ou registro de local) no Microsoft Dynamics 365, e todos os outros registros abaixo da hierarquia continuarão a funcionar como antes, pois as URLs absolutas (determinadas automaticamente por Microsoft Dynamics 365) não serão interrompidas. Se você tivesse usado URLs absolutas para estes registros de locais secundários, você teria que corrigir as URLs individualmente.

Definir um registro de local do site como padrão

Você pode definir um registro de local do site SharePoint como padrão para que todos os locais de documentos criados usando o Microsoft Dynamics 365 sejam criados automaticamente neste local. Para criar um registro de local do site como padrão, use a propriedade SharePointSite.IsDefault, e configure-a para true. Você pode definir um registro de local do site como padrão ao criar ou atualizar um registro de local do site.

Observação

A criação automática de registros de local de documentos é possível somente se o site for SharePoint 2010 ou SharePoint 2013 server e o Lista de componentes do Microsoft Dynamics CRM para SharePoint Server estiver instalado no Conjunto de Sites do SharePoint de destino. Para mais informações sobre o Componente de Lista do Microsoft Dynamics CRM, consulte Microsoft Dynamics CRM list component para Microsoft SharePoint Server.

Associar um registro de local de documento a um registro de entidade

Você pode associar um registro de local de documento a um registro de entidade. Ao fazer isso, todos os documentos do registro de entidade são armazenados nesse local no servidor SharePoint. Você pode associar um registro de local de documentos SharePoint com uma entidade usando a propriedade SharePointDocumentLocation.RegardingObjectId. O exemplo a seguir mostra como você pode fazer isso:


// 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)

Recupere as URLs absolutas e do conjunto de sites para um registro de local

Como explicado anteriormente, o SharePoint Server segue um modelo hierárquico para armazenar registros. Se você deseja recuperar a URL absoluta (completa) de um registro de local na hierarquia e a URL SiteCollection sob a qual o registro de local estiver presente, você pode usar a mensagem RetrieveAbsoluteAndSiteCollectionUrlRequest para fazer isso.

A mensagem RetrieveAbsoluteAndSiteCollectionUrlRequest funcionará corretamente somente se ambos forem verdadeiros:

  • O Lista de componentes do Microsoft Dynamics CRM para SharePoint Server está instalado no conjunto de sites SharePoint no SharePoint 2010 de destino ou SharePoint 2013 server. Para obter mais informações, consulte Microsoft Dynamics CRM list component para Microsoft SharePoint Server.

  • O registro de local do conjunto de sites primário SharePoint existe em Microsoft Dynamics 365, e a propriedade SharePointSite.IsGridPresent foi definida como true ao criar o registro de local primário.

Caso contrário, você receberá um valor em branco ou um valor incorreto da propriedade SiteCollectionUrl.

Para obter mais informações, consulte RetrieveAbsoluteAndSiteCollectionUrlRequest.

O exemplo a seguir mostra como usar a mensagem 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())

Confira Também

RetrieveAbsoluteAndSiteCollectionUrlRequest
RetrieveAbsoluteAndSiteCollectionUrlResponse
Integrar o Microsoft Dynamics 365 com o SharePoint
Introdução à integração do SharePoint
Habilitar o gerenciamento de documentos para entidades
Entidades de integração do SharePoint
Amostra: Habilitar o gerenciamento de documentos para entidades
Exemplo: Criar, recuperar, atualizar e excluir um registro local do SharePoint
Exemplo: Recuperar a URL absoluta e a URL do conjunto de sites para um registro de local
Integrar o Microsoft Dynamics 365 com o OneNote

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais