Condividi tramite


Risolvere i problemi relativi a data e ora nelle app basate su modello

Quando i valori di data e ora sono disattivati di un giorno o di alcune ore, potrebbero essere causati da regolazioni del fuso orario o dell'ora legale. Questo articolo fornisce suggerimenti per risolvere problemi come:

  • Il campo Data e ora mostra il valore errato.
  • Il valore Solo data mostra la data errata per alcuni utenti e fusi orari.
  • Il campo Data e ora mostra il valore corretto in alcune parti dell'app, ma non in altre.
  • Dopo aver modificato un valore di data e ora e averlo salvato, viene automaticamente modificato in un valore diverso.
  • Se si immette una data di passaggio all'ora legale, la data viene disattivata di un giorno o l'ora di un'ora.

Determinare se si tratta di un problema del server o del client

Le app basate su modello sono app Web. Recuperano dati dal servizio cloud Dataverse (server). Gli stessi dati possono alimentare più app (client). È possibile che si verifichino errori nel server o nel client.

Se il valore di data e ora archiviato nel server è imprevisto, è probabile che venga visualizzato in modo non corretto in tutte le app, indipendentemente dall'utente o dal fuso orario di sistema. Pertanto, verificare il valore del server è un primo passaggio importante.

Controllare la configurazione della colonna data e ora

Dataverse supporta comportamenti di regolazione del fuso orario diversi per le colonne di data e ora (campi). Prima di risolvere i problemi, è importante comprendere in che modo le diverse parti del sistema elaborano i valori di data e ora.

Controllare le opzioni della colonna data e ora nel portale di Power Apps o in Esplora soluzioni:

  • Indica se rappresenta il fuso orario di un utente
  • Indica se visualizza la parte temporale del valore

Verificare se il valore corretto è archiviato nel server

I valori di data e ora vengono sempre archiviati come UTC nel server. È possibile visualizzare il valore non elaborato nel server con una query api Web.

Ecco una query per ottenere una colonna per una riga (record).

[Organization URI]/api/data/v9.2/<entity set name>(<row id>)?$select=<column name>

I nomi di tabella e colonna usati sono nomi logici, non nomi visualizzati.

Consiglio

Un modo semplice per trovare l'ID di una riga consiste nell'aprirlo in un'app basata su modello. L'ID è disponibile nell'URL della pagina.

Nell'esempio seguente viene recuperata la scheduledstart colonna della appointment tabella per la riga con ID d2862246-4763-ee11-8def-000d3a34118b.

https://myorg.crm.dynamics.com/api/data/v9.2/appointments(d2862246-4763-ee11-8def-000d3a34118b)?$select=scheduledstart

L'immissione di questo elemento nella barra degli indirizzi del browser sarà simile alla seguente:

{
    "@odata.context": "https://myorg.crm.dynamics.com/api/data/v9.2/$metadata#appointments(scheduledstart)/$entity",
    "@odata.etag": "W/\"11472725\"",
    "scheduledstart": "2023-10-15T07:30:00Z",
    "activityid": "d2862246-4763-ee11-8def-000d3a34118b"
}

Pertanto, il scheduledstart di è il appointment 15 ottobre 2023, 7:30 am. L'oggetto Z alla fine indica che il valore è in formato UTC.

Si supponga che un utente nel fuso orario UTC-8 visualinga questa colonna in un'app basata su modello. Questi sono i valori previsti per le diverse opzioni di colonna.

Comportamento di regolazione del fuso orario Formato Valore visualizzato nell'app
Utente locale Data e ora 14 ottobre 2023, ore 23:30
Utente locale Solo data 14 ottobre 2023
indipendente Time-Zone Data e ora 15 ottobre 2023, ore 7.30
indipendente Time-Zone Solo data 15 ottobre 2023
Solo data - 15 ottobre 2023

Se il valore visualizzato nell'app non viene regolato correttamente, è probabile che si tratti di un problema del client. Se il valore del server non è corretto per iniziare, è probabile che si tratti di un problema del server.

Controllare il valore formattato dal server

È possibile apportare modifiche al fuso orario e all'ora legale nel server o nell'app. Se la stessa colonna mostra un valore diverso in parti diverse dell'app, è probabile che alcune parti dell'app useranno il valore formattato dal server, mentre altre stanno apportando le modifiche nell'app.

Si tratta probabilmente di un problema. Prima di segnalarlo, è possibile isolare se si tratta di un problema del server o del client controllando il valore formattato dal server.

Ad esempio,

GET https://myorg.crm.dynamics.com/api/data/v9.2/appointments(d2862246-4763-ee11-8def-000d3a34118b)?$select=scheduledstart
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue"

La risposta includerà il valore regolato dal server. In questo esempio, l'utente si trova nel fuso orario UTC-8 e scheduledstart ha il comportamento User Local . Pertanto, il valore formattato è di otto ore rispetto al valore non elaborato.

{
    "@odata.context": "https://myorg.crm.dynamics.com/api/data/v9.2/$metadata#appointments(scheduledstart)/$entity",
    "@odata.etag": "W/\"11472725\"",
    "scheduledstart@OData.Community.Display.V1.FormattedValue": "10/14/2023 11:30 PM",
    "scheduledstart": "2023-10-15T07:30:00Z",
    "activityid": "2ad8786a-9164-ee11-9ae7-0022480a0700"
}

Se questo valore formattato non è corretto, si tratta di un problema del server. Se è corretto, si tratta di un problema del client.

Analizzare i valori imprevisti del server

I possibili motivi per i valori imprevisti del server sono:

  • È possibile che il comportamento e il formato di regolazione del fuso orario non siano stati configurati correttamente.
  • Le regole di business e i flussi di lavoro in esecuzione nel server possono modificare il valore prima o dopo il salvataggio. All'interno di un'app, gli script client possono modificare il valore prima di inviarlo al server per il salvataggio.

Determinare se si tratta di un problema di personalizzazione o di prodotto

Le personalizzazioni possono causare un comportamento imprevisto. I metodi seguenti consentono di escludere i problemi causati dalle personalizzazioni.

Disabilitare gli script personalizzati

Gli script personalizzati causano spesso problemi. Provare a disabilitarli temporaneamente.

Creare una nuova colonna data e ora

La creazione di una nuova colonna data e ora è il modo più semplice per scoprire se il problema è causato da errori di configurazione o personalizzazioni come le regole di business. In teoria, usare una tabella e un'app diverse.

Se la nuova colonna funziona come previsto, è probabile che si tratti di un problema di personalizzazione. Confrontare con la colonna originale per trovare la differenza.

Se la nuova colonna presenta lo stesso problema, potrebbe trattarsi di un problema di prodotto. È possibile creare un'app basata su modello vanilla repro e segnalarla tramite una richiesta di supporto.

Provare un fuso orario diverso

Per scoprire se le regolazioni del fuso orario e dell'ora legale causano valori imprevisti, provare a modificare il fuso orario dell'utente.

Esistono due impostazioni che influiscono sui fusi orari nelle app basate su modello:

  1. Fuso orario nelle opzioni personali.
  2. Fuso orario di sistema. Per informazioni su come modificarlo, vedere la rispettiva documentazione in Windows, Android, iOS o macOS.

Combinazioni utili da provare:

  • Associare il fuso orario nelle opzioni personali al fuso orario di sistema.
  • Usare il fuso orario UTC.
  • Usare un fuso orario con lo stesso offset, ma non osservare l'ora legale.

Consiglio

I metodi seguenti forniscono altri dettagli per semplificare l'analisi dei problemi di data e ora.

Modificare il formato "Solo data" in "Data e ora"

Se un valore di sola data è disattivato di un giorno, è utile visualizzare la parte relativa all'ora per verificare se la modifica del fuso orario potrebbe essere la causa. È possibile modificare temporaneamente il formato di colonna nel portale di Power Apps o in Esplora soluzioni.

Non usare anni a 2 cifre

L'anno a 2 cifre è ambiguo. Ad esempio, 40 potrebbe indicare 1940, 2040 o 2140. Il modo in cui il sistema interpreta gli anni a 2 cifre può e probabilmente cambierà nel tempo.

È anche difficile analizzare quando i valori di data e ora completi non vengono visualizzati. Per questi motivi, è consigliabile usare gli anni a 4 cifre, soprattutto quando si immettono le date.

Se non è possibile passare agli anni a 4 cifre in modo permanente, provare temporaneamente per risolvere i problemi.

Vedere anche

Comportamento e formato della colonna Data e ora