Teilen über


Beispiel: Konvertierung des Datums- und Uhrzeitverhaltens

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Dieses Beispiel veranschaulicht, wie Sie die ConvertDateAndTimeBehaviorRequest-Nachricht verwenden, um den UTC-Wert zum DateOnly-Wert des Datums- und Uhrzeitattributs in Dynamics 365 zu konvertieren, die im System vorhanden sind, bevor Sie das Verhalten des Attributs von UserLocal in DateOnly geändert haben.Weitere Informationen:Konvertieren des Verhaltens von Datums- und Uhrzeitwerten in der Datenbank.

Dieser Beispielcode ist für Microsoft Dynamics CRM Online 2015-Update 1 und Microsoft Dynamics 365 (lokal). Dies kann unter Konvertieren des Datums- und Uhrzeitverhaltens heruntergeladen werden.

Erforderliche Komponenten

  1. Lassen Sie sich den Zugriff auf eine Microsoft Dynamics CRM Online 2015-Update 1- oder Microsoft Dynamics 365-Organisation zuweisen.

  2. Richten Sie die Systemadministratorrolle in der Dynamics 365-Organisation ein, damit Sie die ConvertDateAndTimeBehaviorRequest-Meldung verwenden können, die in diesem Beispiel veranschaulicht wird. Andernfalls funktioniert dieses Beispiel nicht.

  3. Laden Sie das DateTimeAttributeBehaviorVisual Studio-Projekt herunter.

  4. Öffnen Sie das Visual Studio-Projekt DateTimeAttributeBehavior und installieren Sie das NuGet-Paket Microsoft.CrmSdk.CoreAssemblies Version 7.1.0-preview. Siehe Installieren von NuGet-Paketen anschließend die Anweisungen.

    Nachdem Sie die NuGet-Pakete installiert haben, finden Sie unter Ausführen des Beispiels Informationen dazu, wie das Beispiel ausgeführt wird und was zu erwarten ist.

In diesem Thema

Funktionsweise:

Installieren von NuGet-Paketen

Ausführen des Beispiels

Funktionsweise:

  1. Die ConvertDateandTimeBehavior-Klassen-Run -Methode überprüft, ob Sie die entsprechende Version von Dynamics 365 für das Beispiel ausführen.

  2. Die CreateRequiredRecords-Methode erstellt die erforderlichen Datensätze für das Beispiel:

    1. Erstellt ein Beispieldatums- und -zeitattribut für die Account-Entität mit dem Verhalten UserLocal.

    2. Erstellt einen Beispielfirmendatensatz mit dem March 31, 2015 11:00 PM UTC-Wert im neuen Datums- und Uhrzeitattribut.

    3. Ändert das Verhalten des Datums- und Uhrzeitattributs in DateOnly.

    4. Erstellt einen anderen Beispielfirmendatensatz mit dem March 31, 2015 11:00 PM UTC-Wert im neuen Datums- und Uhrzeitattribut. Da das Attribut jetzt DateOnly ist, wird der Zeitteil ignoriert und im System gespeichert als March 31, 2015 00:00:00.

    5. Ruft den Wert des Datums- und Uhrzeitattributs in beiden Firmendatensätzen ab. Da das Verhalten geändert wird, werden beide Änderungen angezeigt als March 31, 2015 00:00:00. Allerdings ist der Wert im ersten Firmendatensatz weiterhin UTC (March 31, 2015 11:00 PM) in der Datenbank.

  3. Führt die ConvertDateAndTimeBehaviorRequest SDK-Nachricht aus, um einen asynchronen Auftrag zum Konvertieren der UTC-Werte im Datums- und Uhrzeitattribut in einen DateOnly Wert zu erstellen. Die Konvertierungsregel in der SDK-Nachricht konvertiert den Wert gemäß des Indien-Normalzeit (IST)-Zeitzonencodes in Dynamics 365 (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. Ruft nach der Konvertierung den Wert des Datums- und Uhrzeitattributs in beiden Firmendatensätzen ab. Der UTC-Wert im ersten Firmendatensatz wird zum 1. April konvertiert statt 31. März, da die Konvertierung gemäß der Indien-Normalzeit (IST)-Zeitzone erfolgte. Der Wert im zweiten Firmendatensatz wird nicht beeinträchtigt, da er bereits ein DateOnly-Wert war.

  5. Abschließend werden Sie von der DeleteRequiredRecords-Methode aufgefordert, die Entitätsdatensätze und das benutzerdefinierte Datums- und Uhrzeitattribut, das während der Beispielausführung erstellt wurde, zu löschen:

    1. Geben Sie y ein, und drücken Sie die EINGABETASTE, um die Entitätsdatensätze und das benutzerdefinierte Attribut aus der Organisation zu löschen.

    2. Geben Sie n ein, und drücken Sie die EINGABETASTE, um die Entitätsdatensätze und das benutzerdefinierte Attribut in der Organisation zu behalten. Sie müssen diese später manuell löschen, wenn Sie zum ursprünglichen Zustand zurückkehren möchten.

Installieren von NuGet-Paketen

Verwenden Sie die folgenden Schritte, um die erforderlichen Assemblys für dieses Beispiel zu installieren:

  1. Laden Sie das Beispiel herunter und extrahieren Sie die Dateien.

  2. Navigieren Sie zum C#-Ordner und öffnen Sie die DateTimeAttributeBehavior.sln-Datei mithilfe von Visual Studio.

  3. Klicken Sie in Visual Studio mit der rechten Maustaste auf das Projekt DateTimeAttributeBehavior, und wählen Sie NuGet-Pakete verwalten aus.

  4. Stellen Sie für die Vorschauversion sicher, dass Sie in den Suchkriterien Vorabversion berücksichtigen anstelle von Stabile Version auswählen. Suchen Sie dann nach Microsoft Dynamics CRM 2015 SDK core assemblies. Wählen Sie die Version 7.1.0-preview aus.

  5. Klicken Sie auf Installieren. Akzeptieren Sie die Lizenzbedingungen, um die Installation dieses Pakets abzuschließen.

Ausführen des Beispiels

  1. Drücken Sie in Visual Studio bei geöffneter Lösung und nach Installation der erforderlichen NuGet-Pakete F5.

  2. Wenn Sie zuvor keines der verwalteten Microsoft Dynamics 365-Codebeispiele ausgeführt haben, geben Sie die Informationen ein, um den Code auszuführen. Andernfalls geben Sie die Zahl für die Dynamics 365-Server ein, die Sie bereits installiert haben.

    Eingabeaufforderung

    Beschreibung

    Einen Dynamics 365-Servernamen und einen Port eingeben [crm.dynamics.com]

    Geben Sie den Namen Ihres Microsoft Dynamics 365-Servers ein. Die Standardeinstellung ist Microsoft Dynamics 365 (online) (crm.dynamics.com) in Nordamerika.

    Beispiel:
    crm5.dynamics.com

    Wird die Organisation in Microsoft Online Services bereitgestellt [(y/nn]

    Geben Sie y ein, wenn es sich um eine Organisation handelt, die in Microsoft Online Services bereitgestellt wird. Andernfalls geben Sie n ein.

    Domäne\Benutzernamen eingeben

    Geben Sie Ihr Microsoft-Konto ein.

    Kennwort eingeben

    Geben Sie Ihr Kennwort ein. Die Zeichen werden im Fenster als "*" angezeigt. Ihr Kennwort wird sicher im Microsoft Credential Manager zur späteren Wiederverwendung gespeichert.

    Organisationsnummer angeben (1-n) [1]

    Geben Sie aus der Liste der angezeigten Organisationen, zu denen Sie gehören, die entsprechende Nummer ein. Die Standardeinstellung ist 1 für die erste Organisation in der Liste.

  3. Das Beispiel führt die Vorgänge aus, die unter Funktionsweise: beschreiben werden, und fordert Sie möglicherweise zur Angabe weiterer Optionen auf.

  4. Wenn das Beispiel abgeschlossen ist, drücken Sie die EINGABETASTE, um das Konsolenfenster zu schließen.

Siehe auch

ConvertDateAndTimeBehaviorRequest
Verhalten und Format des Datums- und Uhrzeitattributs
Anpassen von Entitätsattributmetadaten

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright