Condividi tramite


Esempio: Convertire il comportamento di data e ora

 

Data di pubblicazione: novembre 2016

Si applica a: Dynamics CRM 2015

In questo esempio viene illustrato come utilizzare il messaggio ConvertDateAndTimeBehaviorRequest per convertire il valore UTC nel valore DateOnly dell'attributo di data e ora in Dynamics 365 esistente nel sistema prima di aver modificato il comportamento dell'attributo da UserLocal a DateOnly.Ulteriori informazioni:Convertire il comportamento dei valori esistenti di data e ora nel database.

Questo esempio è per Aggiornamento 1 di Microsoft Dynamics CRM Online 2015. È disponibile per il download da Convertire il comportamento di data e ora.

Prerequisiti

  1. Accedi a un'organizzazione Aggiornamento 1 di Microsoft Dynamics CRM Online 2015.

  2. Devi disporre del ruolo di amministratore di sistema per l'organizzazione CRM per poter usare il messaggio ConvertDateAndTimeBehaviorRequest illustrato nell'esempio. In caso contrario, questo esempio non avrà esito positivo.

  3. Scarica il progetto DateTimeAttributeBehavior di Visual Studio.

  4. Apri il progetto DateTimeAttributeBehavior di Visual Studio e installa il pacchetto NuGet Microsoft.CrmSdk.CoreAssemblies versione 7.1.0-preview. Per le istruzioni, vedi Installare i pacchetti di NuGet più avanti.

    Dopo aver installato i pacchetti NuGet, vedi Eseguire l'esempio per le istruzioni su come eseguire l'esempio e i risultati previsti.

In questo argomento

Esempio

Installare i pacchetti di NuGet

Eseguire l'esempio

Esempio

  1. Il metodo Run della classe ConvertDateandTimeBehavior controlla se è in esecuzione la versione di Dynamics 365 appropriata per l'esempio.

  2. Il metodo CreateRequiredRecords crea i record richiesti per l'esempio:

    1. Crea un attributo di data e ora di esempio per l'entità Account con il comportamento UserLocal.

    2. Crea un record di account di esempio con il valore March 31, 2015 11:00 PM UTC nel nuovo attributo di data e ora.

    3. Modifica il comportamento dell'attributo di data e ora in DateOnly.

    4. Crea un altro record di account di esempio con il valore March 31, 2015 11:00 PM UTC nel nuovo attributo di data e ora. Dal momento che l'attributo ora è DateOnly, la parte dell'ora viene quindi ignorata e archiviata nel sistema come March 31, 2015 00:00:00.

    5. Recupera il valore dell'attributo di data e ora in entrambi i record di account. Dal momento che il comportamento è cambiato, entrambi valori sono visualizzati come March 31, 2015 00:00:00. Tuttavia, il valore nel primo record di account continua a essere nel formato UTC (March 31, 2015 11:00 PM) nel database.

  3. Esegue il messaggio SDK ConvertDateAndTimeBehaviorRequest per creare un processo asincrono per convertire i valori UTC dell'attributo di data e ora in un valore DateOnly. La regola di conversione del messaggio SDK converte il valore in base al codice del fuso orario Ora solare India in CRM (190).

    
    ConvertDateAndTimeBehaviorRequest request = new ConvertDateAndTimeBehaviorRequest()
    {
        Attributes = new EntityAttributeCollection() 
                { 
                    new KeyValuePair<string, StringCollection>("account", new StringCollection() 
                    { "new_sampledatetimeattribute" }) 
                },
        ConversionRule = DateTimeBehaviorConversionRule.SpecificTimeZone.Value,
        TimeZoneCode = 190, // Time zone code for India Standard Time (IST) in CRM
        AutoConvert = false // Conversion must be done using ConversionRule
    };
    
    // Execute the request
    ConvertDateAndTimeBehaviorResponse response = (ConvertDateAndTimeBehaviorResponse)_serviceProxy.Execute(request);
    
  4. Recupera il valore dell'attributo di data e ora in entrambi i record di account dopo la conversione. Il valore UTC nel primo record di account viene convertito in 1 aprile anziché 31 marzo perché la conversione è stata calcolata in base al fuso orario Ora solare India. Il valore del secondo record di account non è interessato perché è già un valore DateOnly.

  5. Infine, il metodo DeleteRequiredRecords richiede di eliminare i record di entità e l'attributo di data e ora personalizzato creato durante l'esecuzione dell'esempio:

    1. Digita y e premi INVIO per eliminare i record di entità e l'attributo personalizzato dall'organizzazione.

    2. Digita n e premi INVIO per lasciare i record di entità e l'attributo personalizzato nell'organizzazione. Dovrai eliminarli manualmente in seguito se desideri ripristinare lo stato originale.

Installare i pacchetti di NuGet

Utilizza i passaggi seguenti per l'installazione degli assembly richiesti per questo esempio:

  1. Scarica questo esempio ed estrai i file.

  2. Passa alla cartella C# e apri il file DateTimeAttributeBehavior.sln in Visual Studio.

  3. In Visual Studio, fai clic con il pulsante destro del mouse sul progetto DateTimeAttributeBehavior e scegli Gestisci pacchetti NuGet.

  4. Per la versione di anteprima, assicurati di scegliere Includi versione di valutazione anziché Solo stabile nei criteri di ricerca. Quindi, cerca "Microsoft Dynamics CRM 2015 SDK core assemblies". Assicurati di selezionare la versione 7.1.0-preview.

  5. Fare clic su Installa. Dovrai accettare le condizioni di licenza per completare l'installazione del pacchetto.

Eseguire l'esempio

  1. In Visual Studio, con la soluzione aperta e i pacchetti NuGet necessari installati, premi F5.

  2. Se in precedenza non hai mai eseguito un esempio di codice gestito di Microsoft Dynamics 365, devi immettere le informazioni necessarie per eseguire il codice, altrimenti immetti il numero di uno dei server Dynamics 365 configurati in precedenza.

    Chiedi conferma

    Descrizione

    Immetti una porta e un nome per il server CRM [crm.dynamics.com]

    Digita il nome del server Microsoft Dynamics CRM. L'impostazione predefinita è Microsoft Dynamics CRM Online (crm.dynamics.com) in Nord America.

    Esempio:
    crm5.dynamics.com

    È stato eseguito il provisioning dell'organizzazione in Microsoft Online Services? (sì/no) [n]

    Digita s se si tratta di un'organizzazione sottoposta a provisioning in Microsoft Online Services. Altrimenti, digitare n.

    Immetti dominio\nomeutente

    Digita il tuo account Microsoft.

    Immetti password

    Digitare la password. I caratteri verranno visualizzati nella finestra come "*". La password viene salvata in modo sicuro in Gestione credenziali Microsoft per il riutilizzo futuro.

    Specifica un numero di organizzazione (1-n) [1]

    Nell'elenco delle organizzazioni visualizzato di cui si è membri, digitare il numero corrispondente. L'impostazione predefinita è 1 e indica la prima organizzazione dell'elenco.

  3. In questo esempio vengono eseguite le operazioni descritte in Esempio e potrebbero essere richieste opzioni aggiuntive.

  4. Al termine dell'esempio, premi INVIO per chiudere la finestra della console.

Vedere anche

ConvertDateAndTimeBehaviorRequest
Comportamento e formato dell'attributo di data e ora
Personalizzare i metadati degli attributi di entità

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright