Condividi tramite


Errore sconosciuto durante la sincronizzazione degli appuntamenti nel client Outlook di Microsoft Dynamics CRM 2011

Questo articolo consente di risolvere il problema che si verifica quando si sincronizza un appuntamento con il client Outlook di Microsoft Dynamics CRM 2011.

Si applica a: Microsoft Dynamics CRM 2011
Numero KB originale: 2797386

Sintomi

Quando si sincronizza un appuntamento con il client Outlook di Microsoft Dynamics CRM 2011, si verifica l'errore seguente:

Si è verificato un errore sconosciuto durante la sincronizzazione dei dati in Outlook.

Quando il tracciamento del client è abilitato, viene visualizzato il seguente errore di stack.

[2012-12-17 16:30:41.530] Processo:OUTLOOK |Organizzazione:721c66ca-xxxx-40d2-8857-7f9f46bec876 |Thread: 26 |Categoria: Application.Outlook |Utente: 00000000-0000-0000-0000-000000000000 |Livello: Errore |ReqId: | SchedulableActivityForOutlook.GenerateCrmPartyInfo ilOffset = 0x5E in SchedulableActivityForOutlook. GenerateCrmPartyInfo (String entityId, Object messageItem, IDynamicEntityForOutlook dynamicEntity) ilOffset = 0x5E in ThreadsSupport.ExecuteThreadProc(ThreadProc threadProc, IntPtr parameter) ilOffset = 0x0
Eccezione durante l'interoperabilità di Outlook: System.FormatException: la stringa specificata non è nel formato necessario per un indirizzo di posta elettronica.
at System.Net.Mail.MailAddressParser.ReadCfwsAndThrowIfIncomplete(String data, Int32 index) at System.Net.Mail.MailAddressParser.ParseDomain(String data, Int32& index) presso System.Net.Mail.MailAddressParser.ParseAddress(String data, Boolean expectMultipleAddresses, Int32& index) presso System.Net.Mail.MailAddressParser.ParseAddress(String data) presso System.Net.Mail.MailAddress.. ctor(String address, String displayName, Encoding displayNameEncoding) in Microsoft.Crm.Outlook.OutlookItemWrapper.DecodeRecipientEmailAddress(PropValue mapiEntryId, PropValue altId, PropValue emailValue, PropValue emailType, String& displayName) presso Microsoft.Crm.Outlook.OutlookItemWrapper.GetOutlookRecipients(Object itemWrapper, Object messageItem) all'indirizzo Microsoft.Crm.OutlookItemWrapper.GenerateCrmPartyInfo(Guid entityId, IClientOrganizationContext context, Object messageItem, IDynamicEntityForOutlook dynamicEntity) in Microsoft.Crm.Application.SMWrappers.SchedulableActivityForOutlook.GenerateCrmPartyInfo(String entityId, Object messageItem, IDynamicEntityForOutlook dynamicEntity)

Causa

Ciò è causato dal campo Partecipanti richiesti assente dal modulo Appuntamento. Anche se questo campo non può essere rimosso dal modulo in Microsoft Dynamics CRM 2011, le versioni precedenti di Microsoft Dynamics CRM hanno consentito la rimozione dell'attributo Partecipanti necessari . Di conseguenza, questo problema può verificarsi solo nelle organizzazioni aggiornate da Microsoft Dynamics CRM 3.0 o 4.0 a Microsoft Dynamics CRM 2011.

Quando il campo è mancante e un record aggiunto a un appuntamento non ha un valore nel campo indirizzo di posta elettronica, il campo AddressUsed nella ActivityPartyBase tabella viene impostato su un valore di EMAIL_ADDRESS. Poiché il campo non è NULL o popolato con un indirizzo di posta elettronica valido, Outlook segnala un errore sconosciuto durante la sincronizzazione dell'appuntamento con il client.

Risoluzione

Aggiungere di nuovo il campo Partecipanti obbligatori al modulo Appuntamento:

  1. Passare a Impostazioni, fare clic su Personalizzazioni, su Personalizza sistema, su Entità, su Appuntamento e quindi su Moduli.
  2. Apri il modulo Appuntamento principale usato dall'ambiente. Per impostazione predefinita, si tratta del modulo Informazioni .
  3. Selezionare il campo Partecipanti obbligatori dall'elenco Esplora campi a destra e trascinarlo nel modulo in cui si desidera.
  4. Se si preferisce, è possibile fare clic su Modifica proprietà mentre il campo è selezionato e deselezionare l'opzione Visibile per impostazione predefinita per rendere il campo nascosto nel modulo.
  5. Nella barra multifunzione fare clic su Salva e quindi su Pubblica.

Dopo aver aggiunto di nuovo il campo Partecipanti necessari al modulo Appuntamento , è possibile eseguire una query sul ORG_MSCRM database per trovare eventuali appuntamenti esistenti in cui il problema è presente seguendo questa procedura:

  1. Aprire Microsoft SQL Server Management Studio e scegliere Nuova query nella barra multifunzione.
  2. Scegliere il ORG_MSCRM database dall'elenco a discesa nella barra multifunzione.
  3. Nella finestra della query digitare : SELECT * FROM ActivityPartyBase WHERE AddressUsed = 'EMAIL_ADDRESS'.
  4. Nel caso in cui vengano visualizzati i risultati, è possibile identificare i record interessati facendo riferimento alla colonna PartyIdName .

Tutti i record visualizzati nei risultati del passaggio precedente possono essere corretti con i passaggi seguenti:

  1. Aprire un record che mostra EMAIL_ADDRESS nella colonna AddressUsed nei passaggi precedenti.
  2. Modificare il campo Posta elettronica in un indirizzo di posta elettronica temporaneo e fare clic su Salva nella barra multifunzione per salvare il record.
  3. Rimuovere l'indirizzo di posta elettronica temporaneo appena aggiunto al campo Posta elettronica e fare clic su Salva sulla barra multifunzione per salvare nuovamente il record.