Delen via


Problemen met datum en tijd in modelgestuurde apps oplossen

Wanneer datum- en tijdwaarden zijn uitgeschakeld met een dag of een paar uur, kan dit worden veroorzaakt door aanpassingen in de tijdzone of zomertijd. In dit artikel vindt u tips voor het oplossen van problemen, zoals:

  • In het veld Datum en tijd wordt de verkeerde waarde weergegeven.
  • De waarde Alleen datum geeft de verkeerde datum weer voor sommige gebruikers en tijdzones.
  • In het veld Datum en tijd wordt de juiste waarde weergegeven in sommige delen van de app, maar niet in andere.
  • Nadat u een datum- en tijdwaarde hebt gewijzigd en deze hebt opgeslagen, wordt deze automatisch gewijzigd in een andere waarde.
  • Het invoeren van een zomer-overschakelingsdatum resulteert in de datum die één dag is uitgeschakeld of de tijd voor een uur is uitgeschakeld.

Bepalen of het een server- of clientprobleem is

Modelgestuurde apps zijn web-apps. Ze halen gegevens op uit de Dataverse-cloudservice (server). Dezelfde gegevens kunnen meerdere apps (clients) inschakelen. Er kunnen fouten optreden op de server of client.

Als de datum- en tijdwaarde die is opgeslagen op de server onverwacht is, wordt deze waarschijnlijk onjuist weergegeven in alle apps, ongeacht de tijdzone van de gebruiker of het systeem. Daarom is het controleren van de serverwaarde een belangrijke eerste stap.

De configuratie van de datum- en tijdkolom controleren

Dataverse ondersteunt verschillende gedrag voor het aanpassen van tijdzones voor datum- en tijdkolommen (velden). Voordat u problemen gaat oplossen, is het belangrijk om te begrijpen hoe verschillende onderdelen van de datum- en tijdwaarden van het systeemproces verschillen.

Controleer de opties voor de datum- en tijdkolom in de Power Apps-portal of Solution Explorer:

  • Of het nu om een tijdzone van een gebruiker gaat
  • Hiermee wordt aangegeven of het tijdgedeelte van de waarde wordt weergegeven

Controleer of de juiste waarde is opgeslagen op de server

Datum- en tijdwaarden worden altijd opgeslagen als UTC op de server. U kunt de onbewerkte waarde op de server weergeven met een web-API-query.

Hier volgt een query om een kolom voor een rij (record) op te halen.

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

De gebruikte tabel- en kolomnamen zijn logische namen, niet weergavenamen.

Tip

Een eenvoudige manier om de id van een rij te vinden, is door deze te openen in een modelgestuurde app. De id vindt u in de pagina-URL.

In het volgende voorbeeld wordt de scheduledstart kolom van de appointment tabel voor de rij met id d2862246-4763-ee11-8def-000d3a34118bopgehaald.

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

Als u dit invoert in de adresbalk van de browser, ziet u er ongeveer als volgt uit:

{
    "@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"
}

Daarom is het scheduledstart van appointment 15 oktober 2023, 7:30 uur. De Z aan het einde geeft aan dat de waarde zich in UTC bevindt.

Stel dat een gebruiker in de tijdzone UTC-8 deze kolom bekijkt in een modelgestuurde app. Dit zijn de verwachte waarden voor de verschillende kolomopties.

Gedrag voor het aanpassen van tijdzones Notatie Waarde weergegeven in de app
Gebruikersinstelling Datum en tijd 14 oktober 2023, 23:30 uur
Gebruikersinstelling Alleen datum 14 oktober 2023
Tijdzone-onafhankelijk Datum en tijd 15 oktober 2023, 7:30 uur
Tijdzone-onafhankelijk Alleen datum 15 oktober 2023
Alleen datum - 15 oktober 2023

Als de waarde die wordt weergegeven in de app niet correct is aangepast, is dit waarschijnlijk een probleem met de client. Als de serverwaarde onjuist is om mee te beginnen, is het waarschijnlijk een serverprobleem.

Controleer de opgemaakte waarde van de server

Aanpassingen in de tijdzone en zomertijd kunnen op de server of in de app worden uitgevoerd. Als in dezelfde kolom een andere waarde wordt weergegeven in verschillende delen van de app, is het waarschijnlijk dat sommige delen van de app de opgemaakte waarde van de server gebruiken, terwijl anderen de wijzigingen in de app aanbrengen.

Dit is waarschijnlijk een probleem. Voordat u het rapporteert, kunt u isoleren of het een server- of clientprobleem is door de opgemaakte waarde van de server te controleren.

Bijvoorbeeld:

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"

Het antwoord bevat de waarde die door de server is aangepast. In dit voorbeeld bevindt de gebruiker zich in de tijdzone UTC-8 en scheduledstart heeft het lokale gebruikersgedrag. Daarom ligt de opgemaakte waarde acht uur achter de onbewerkte waarde.

{
    "@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"
}

Als deze opgemaakte waarde onjuist is, is het een serverprobleem. Als dit klopt, is het een probleem met de client.

Onverwachte serverwaarden onderzoeken

Mogelijke redenen voor onverwachte serverwaarden zijn:

  • Mogelijk hebt u het gedrag en de indeling van de tijdzoneaanpassing niet juist geconfigureerd.
  • Bedrijfsregels en werkstromen die op de server worden uitgevoerd, kunnen de waarde wijzigen voor of nadat deze is opgeslagen. In een app kunnen clientscripts de waarde wijzigen voordat deze naar de server wordt verzonden om op te slaan.

Bepalen of het een aanpassingsprobleem of een productprobleem is

Aanpassingen kunnen leiden tot onverwacht gedrag. De volgende methoden kunnen helpen bij het uitsluiten van problemen die worden veroorzaakt door aanpassingen.

Aangepaste scripts uitschakelen

Aangepaste scripts veroorzaken vaak problemen. Probeer ze tijdelijk uit te schakelen.

Een nieuwe datum- en tijdkolom maken

Het maken van een nieuwe datum- en tijdkolom is de eenvoudigste manier om erachter te komen of het probleem wordt veroorzaakt door configuratiefouten of aanpassingen zoals bedrijfsregels. Gebruik idealiter een andere tabel en app.

Als de nieuwe kolom werkt zoals verwacht, is het waarschijnlijk een aanpassingsprobleem. Vergelijk met de oorspronkelijke kolom om het verschil te vinden.

Als de nieuwe kolom hetzelfde probleem heeft, kan dit een productprobleem zijn. U kunt een modelgestuurde vanille-app maken en deze rapporteren via een ondersteuningsaanvraag.

Probeer een andere tijdzone

Als u wilt achterhalen of er onverwachte waarden voor tijdzones en zomertijd worden aangebracht, wijzigt u de tijdzone van de gebruiker.

Er zijn twee instellingen die van invloed zijn op tijdzones in modelgestuurde apps:

  1. Tijdzone in persoonlijke opties.
  2. Systeemtijdzone. Zie de desbetreffende documentatie in Windows, Android, iOS of macOS voor meer informatie over het wijzigen ervan.

Handige combinaties om te proberen:

  • Koppel de tijdzone in persoonlijke opties aan de tijdzone van het systeem.
  • Gebruik utc-tijdzone.
  • Gebruik een tijdzone met dezelfde offset, maar u ziet geen zomertijd.

Tip

De volgende methoden bieden meer details om het gemakkelijker te maken om datum- en tijdproblemen te onderzoeken.

De notatie Alleen datum wijzigen in 'Datum en tijd'

Als een datum-alleen-waarde met een dag is uitgeschakeld, is het handig om het tijdgedeelte weer te geven om te zien of aanpassingen in de tijdzone de oorzaak kunnen zijn. U kunt de kolomindeling tijdelijk wijzigen in de Power Apps-portal of Solution Explorer.

Gebruik geen tweecijferige jaren

Het jaar van twee cijfers is dubbelzinnig. 40 kan bijvoorbeeld 1940, 2040 of 2140 betekenen. Hoe het systeem jaren van twee cijfers interpreteert, kan en zal in de loop van de tijd waarschijnlijk veranderen.

Het is ook moeilijk om te onderzoeken wanneer de volledige datum- en tijdwaarden niet worden weergegeven. Om deze redenen is het raadzaam om viercijferige jaren te gebruiken, met name bij het invoeren van datums.

Als u niet permanent kunt overschakelen naar 4-cijferige jaren, kunt u dit tijdelijk proberen om problemen op te lossen.

Zie ook

Gedrag en indeling van de datum- en tijdkolom