Ga naar hoofdinhoud
Versie: 1.2.9

Technische referentie voor synchronisatie en accounts

Deze module houdt toezicht op de Odoo-configuratie met meerdere exemplaren, handmatige en plannergestuurde achtergrondsynchronisatie, berichten over de succes-/mislukkingsstatus en beperkingen op de schema-integriteit.

Codebase-kaart

LaagPadDoel
Frontend-UIqml/features/settings/Accountconfiguratie, statusindicatoren voor synchronisatiestatus en logboeken
State & Logicamodels/accounts.jsAccount aanmaken, verifiëren en inloggegevens controleren
Synchronisatiebeheersrc/daemon.pySynchronisatie van hoofdgebeurtenislussen plannen
Pull-synchronisatie-enginesrc/sync_from_odoo.pySynchronisatiewerker die Odoo XML-RPC-eindpunten opvraagt ​​
Push-synchronisatie-enginesrc/sync_to_odoo.pySynchronisatiewerker duwt vuile records terug
Netwerkclientsrc/odoo_client.pyXML-RPC-clientverbindingswrapper

Databaseschema

Lokale accountconfiguraties en synchronisatielogboeken worden opgeslagen in:

users

  • id (INTEGER, Primaire sleutel): Volgorde van lokale gebruikersaccounts.
  • name (TEXT): Unieke instantienaam-ID.
  • url (TEKST): Server-URL.
  • db (TEXT): Odoo-database-ID.
  • username (TEKST): Gebruikersnaam / E-mailadres.
  • password (TEXT): Gecodeerd gebruikerstoken/wachtwoord.

sync_report

  • id (INTEGER, primaire sleutel): log-ID.
  • sync_time (TEXT): Tijdstempel van de uitvoering van de synchronisatie.
  • status (TEKST): Statusbericht (SUCCESS, FAILED).
  • details (TEXT): Uitzonderingstracering of samenvattingsgegevens van synchronisatie.

Gedetailleerd synchronisatiemechanisme

De synchronisatie-engine implementeert een robuust tijdlijnbewust conflictoplossingspatroon.

Strategie voor conflictoplossing

  • Als een record zowel lokaal als op de server is gewijzigd sinds de laatste synchronisatie, worden tijdstempels (write_date van Odoo versus lokaal update_time) geëvalueerd.
  • De nieuwere tijdstempel wint standaard. Als tijdstempels identiek of dubbelzinnig zijn, wordt de gebruiker via een dialoogvenster voor conflictoplossing gevraagd te kiezen welke versie hij wil behouden.

D-Bus-oproepinterface

  • TriggerSync(): Activeert handmatig de achtergrondsynchronisatiewerker.
  • GetSyncStatus(): Retourneert JSON met de tijdstempel, status en logboeken van de laatste uitvoering.
  • VerifyConnection(url, username, password): Vraagt ​​Odoo via XML-RPC om DB-parameters te valideren vóór registratie.