Odoo.res.partner@odo geeft error

Sinds iets meer dan een week ervaar ik problemen met tabel Odoo.res.partner@odo.

Alle overige Odoo-tabellen laden zonder problemen, alleen deze (relatief eenvoudige tabel) geeft een foutmelding.

De melding die Power BI geeft is niet heel zinvol:

We’re sorry, an error occurred during evaluation

Hoe krijg ik dit weer aan de gang?

Aanvullen informatie

Is het mogelijk om een (geanonimiseerde) schermafdruk van de details van het verzoek in Invantive Bridge Online Monitoring toe te voegen zoals beschreven in Meer inzicht met nieuwe Bridge Online Monitoring?

De details vindt u door te klikken op het downloadverzoek welke het onderwerp van dit onderwerp representeert.

Het downloadverzoek heeft meestal een SQL-statement waarin de tabelnaam zichtbaar is.

Gelieve tenminste de volgende gegevens zichtbaar te laten van beide kolommen:

  • de titelbalk met de request ID,
  • de statuscode, netwerkgrootte, pad en tijdstippen in de linkerkolom,
  • de foutcode en foutmelding helemaal onderaan in de linkerkolom,
  • de gehele rechterkolom inclusief het SQL statement, tabelnaam en parameterwaardes.

Bijvoorbeeld:

Controleer juiste server en gebruiker

Controleer zorgvuldig dat u zich aanmeldt op de Bridge Online-website die ook gebruikt wordt vanuit Power BI en met dezelfde gebruikersnaam. U ziet alleen de verzoeken van de Invantive Cloud-gebruiker waarmee u zich aanmeldt op de website.

Er zijn vier servers in gebruik:

  • bridge-online.cloud
  • app-online.cloud
  • bridge-online.invantive.com
  • app-online.invantive.com

De gebruikte server ziet u in uw script of broncode van rapportage.

Controleer juiste aanvraag en details

Zorg ervoor dat u het verzoek eerst selecteert om de details weer te geven. Er hoort maar één verzoek zichtbaar zijn in de schermafbeelding.

Controleer ook zorgvuldig of het verzoek een pad heeft met odata4 of apps. Verzoeken met andere paden zijn over het algemeen niet relevant voor dit doel.

Foutmelding en tips per e-mail

Daarnaast zal de Invantive Cloud-gebruiker die de foutmelding heeft op zijn e-mailadres veelal een e-mail ontvangen met een foutmelding en tips als er sprake is van een foutmelding in Power BI, Power Query, Azure Data Factory, Qlik of Tableau.

Advies is om de spam van de betrokken gebruiker te controleren op dergelijke e-mails verzonden vanaf support@invantive.com.

Het lukt mij op dit moment niet om aanvullende info aan te leveren. Het heeft wel maanden goed gewerkt; hoe kan het dan opeens een fout geven?

Dat is niet te zeggen zonder de echte foutmelding. Odoo staat in het algemeen niet bekend voor zijn stabiliteit tussen releases en consulting sessies; in de praktijk veroorzaakt dat de meeste storingen met een oorzaak buiten de SQL-driver.

Ik zal van de week proberen meer achtergrond informatie te achterhalen.

Het is niet gelukt om een Odoo-database te vinden onder uw gebruikersaccount of een waar u via delegatie toegang toe heeft.

Advies is om meer informatie te verschaffen zoals bovenstaand beschreven.

Ik heb meer achtergrondinformatie gevonden:

itgenodo111
Expected singleton: res.partner(…)

Is er al beeld hoe dit op te lossen is?

Andere Odoo-databases kennen bij een gelijke query deze melding niet. Het probleem treedt op sinds 5 augustus 13:43:40.

De Odoo foutmelding geeft extra details bij de call naar https://acme.odoo.com/jsonrpc:

Verzoek:

{
  "id": 9368,
  "jsonrpc": "2.0",
  "method": "call",
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "odoo-experts-acme-production-14365361",
      22,
      "secret",
      "res.partner",
      "search_read",
      [],
      {
        "limit": 500,
        "offset": 0
      }
    ]
  }
}

Antwoord:

{
  "jsonrpc": "2.0",
  "id": 9366,
  "error": {
    "code": 200,
    "message": "Odoo Server Error",
    "data": {
      "name": "builtins.ValueError",
      "debug": "Traceback (most recent call last):
  File \"/home/odoo/src/odoo/odoo/models.py\", line 6266, in ensure_one
    _id, = self._ids
    ^^^^
ValueError: too many values to unpack (expected 1)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File \"/home/odoo/src/odoo/odoo/http.py\", line 2123, in _transactioning
    return service_model.retrying(func, env=self.env)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/service/model.py\", line 156, in retrying
    result = func()
             ^^^^^^
  File \"/home/odoo/src/odoo/odoo/http.py\", line 2090, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/http.py\", line 2338, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/addons/base/models/ir_http.py\", line 333, in _dispatch
    result = endpoint(**request.params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/http.py\", line 754, in route_wrapper
    result = endpoint(self, *args, **params_ok)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/addons/base/controllers/rpc.py\", line 178, in jsonrpc
    return dispatch_rpc(service, method, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/http.py\", line 412, in dispatch_rpc
    return dispatch(method, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/service/model.py\", line 58, in dispatch
    res = execute_kw(db, uid, *params[3:])
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/service/model.py\", line 81, in execute_kw
    return execute(db, uid, obj, method, *args, **kw or {})
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/service/model.py\", line 87, in execute
    res = execute_cr(cr, uid, obj, method, *args, **kw)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/service/model.py\", line 72, in execute_cr
    result = retrying(partial(odoo.api.call_kw, recs, method, args, kw), env)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/service/model.py\", line 156, in retrying
    result = func()
             ^^^^^^
  File \"/home/odoo/src/odoo/odoo/api.py\", line 535, in call_kw
    result = getattr(recs, name)(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/models.py\", line 6146, in search_read
    return records._read_format(fnames=fields, **read_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/models.py\", line 4088, in _read_format
    vals[name] = convert(record[name], record, use_display_name)
                         ~~~~~~^^^^^^
  File \"/home/odoo/src/odoo/odoo/models.py\", line 7075, in __getitem__
    return self._fields[key].__get__(self)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/fields.py\", line 1303, in __get__
    self.compute_value(recs)
  File \"/home/odoo/src/odoo/odoo/fields.py\", line 1485, in compute_value
    records._compute_field_value(self)
  File \"/home/odoo/src/odoo/addons/mail/models/mail_thread.py\", line 427, in _compute_field_value
    return super()._compute_field_value(field)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/models.py\", line 5294, in _compute_field_value
    fields.determine(field.compute, self)
  File \"/home/odoo/src/odoo/odoo/fields.py\", line 110, in determine
    return needle(*args)
           ^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/addons/account_peppol/models/res_partner.py\", line 64, in _compute_available_peppol_eas
    eas_codes = set(self.available_peppol_eas)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File \"/home/odoo/src/odoo/odoo/fields.py\", line 1232, in __get__
    record.ensure_one()
  File \"/home/odoo/src/odoo/odoo/models.py\", line 6269, in ensure_one
    raise ValueError(\"Expected singleton: %s\" % self)
ValueError: Expected singleton: res.partner(552, 525, 257, 108, 208, 390, 382, 581, 336, 475, ...)
",
      "message": "Expected singleton: res.partner(552, 525, 257, 108, 208, 390, 382, 581, 336, 475, ...)",
      "arguments": [
        "Expected singleton: res.partner(552, 525, 257, 108, 208, 390, 382, 581, 336, 475, ...)"
      ],
      "context": {}
    }
  }
}

De verwachting is dat er een nieuwe module of maatwerk in gebruik is genomen die bugs bevat gezien:

  • de specifieke Python-foutmelding,
  • de callstack,
  • de aanwezigheid van PEPPOL in de callstack en
  • de verplichting tot gebruik PEPPOL in Belgie per 1-1-2026.

Advies is om het JSON-verzoek en deze melding te overleggen met de implementatieconsultant of Odoo Support. Het probleem zal ook op te wekken zijn zonder de Invantive-driver.

Het voordeel van een “tussenpartij” als Invantive is toch juist dat ik geen bemoeienis heb met het ophalen van de data uit de bronsystemen? Ik haal de data alleen op uit de Invantive database. Hoe dat daar komt is aan Invantive.
Nu moet ik met Odoo gaan schakelen, is dat echt de bedoeling?

Invantive lost zoveel mogelijk issues op in haar platform. Echter, het Odoo-platform is berucht voor de technische instabiliteit bij wijzigingen in software en configuratie. Zonder aanpassingen in Odoo zelf is hiervoor geen oplossing mogelijk.

Ok, bedankt. Ik ga kijken of ik daar iets kan bereiken. Ik laat het weten.

Vreemd genoeg laadt de tabel weer zonder problemen.

Fijn dat de tabel weer laadt. Mogelijk dat een nieuwe update van Odoo het probleem opgelost heeft, of een configuratiewijziging.

Dit topic is 3 dagen na het laatste antwoord automatisch gesloten. Nieuwe antwoorden zijn niet meer toegestaan.