Mange regler i SyncDeleted

Vi ser cirka 130.000 linjer i SyncDeleted API’en. Over 80% vedrører enhedstyper for salgsordrer. De går tilbage til 6. januar 2026.

Hvordan begrænser vi dette volumen?

Dette er rigtig mange slettede salgsordrelinjer.

Seks måneders historie er meget lang tid. Ifølge dokumentationen på Exact Online REST API - Reference documentation burde dette være 2 måneder (tidligere 1 måned):

Note: the log of records deleted is saved for 2 months. Data older than 2 months is automatically deleted and therefore also not available anymore via the deleted API.

En kontrol blev udført på en egen produktionsmiljø med et tilsvarende antal bogføringer. Denne indeholder også 6 måneders historie, nemlig siden 2. januar 2026 23:26:30. Den følgende forespørgsel viste imidlertid, at der er langt færre ændringer; den højeste i en måned var 1809.

select EntityType
,      d
,      count(*) c
from   ( select EntityType
         ,      to_char(DeletedDate, 'YYYYMM') d
         from   SyncDeleted
       )
group
by     EntityType
,      d

Anbefalingen er:

  • at indsende en ticket til Exact Online med anmodning om at rense data som beskrevet i dokumentationen eller bringe dokumentationen i overensstemmelse med adfærden
  • at undersøge, hvilke processer der ofte sletter salgsordrelinjer.

Mængden af slettede linjer kan, men behøver ikke nødvendigvis påvirke driften af Invantive-tabellerne, men dette kræver en nærmere undersøgelse baseret på de anvendte forespørgsler for at fastslå, om det er tilfældet, og hvilken størrelse det har.

Vi fik følgende svar:

Tak for at indsende supportanmodningen. Hvis gamle transaktioner, der blev fjernet i januar, stadig vises i Sync/deleted, lyder det som en fejl, og vi skal løse det. Data burde maksimalt være tilgængelige i 2 måneder.
Da jeg endnu ikke har modtaget dette problem fra andre udviklere, kunne du så levere bevis for dette?

  • HTTP-anmodning + svarbody + Forklaring af hvilke data der er fra januar?
  • Dato + klokkeslæt for API-kaldet
  • Forklaring på, hvad præcis disse entiteter var, var det for eksempel bogføringslinjer fra en specifik bogføring? Hvis ja, hvilken slags bogføring? Så jeg kan se, om jeg kan finde et bestemt mønster.
  • Er det alt sammen på én administration? Eller har I dette i flere omgivelser?
    Jeg ser frem til at høre fra dig! Tak!

Det anbefales at indsamle de nødvendige data via native call logging:

  • Start Invantive Query Tool.
  • Log på Exact Online.
  • Aktivér native call logging via:
set log-native-calls-to-disk true
  • Udfør den ovenstående SQL-udtalelse.
  • Gå til mappen %USERPROFILE%\NativeCalls.

I Query Tool ser det sådan ud:

Og i mappen ser det sådan ud:

Indholdet er mere end tilstrækkeligt for en udvikler til at finde et svar på de stillede spørgsmål:

Dette spørgsmål er automatisk lukket efter 1 uges inaktivitet. Det sidst givne svar er markeret som løsning.

Venligst opret et nyt spørgsmål i et separat emne, hvis problemet opstår igen. Inkluder venligst et link til dette emne i det nye spørgsmål ved at indsætte URL’en i teksten.

Fra version 26.0.300 er der inkluderet en kontrol ved oprettelse af de inkrementelle tabeller.

Hvis et Exact Online-miljø indeholder slettede rækker ældre end beskrivelsesspecifikationen plus 7 dage, vil behandlingen blive afbrudt med fejlen:

itgeneor878
Et slettet element har sletningsdatoen ‘…’, men specifikationen angiver, at den ældste mulige dato skal være ‘…’.

Denne kontrol sikrer, at specifikationerne er i overensstemmelse med virkeligheden, således at korrektheden af de indsamlede data og ydeevnen sikres.

Rådgivningen er at kontakte Exact Online Support med anmodning om at rense dataene og bringe dem i overensstemmelse med specifikationerne på: