Notes Odoo, IA, méthode.
22 articles pour « Odoo 19 »
Odoo 20 supprime _table_query : vos rapports SQL à réécrire
Odoo 20 retire l'attribut _table_query de l'ORM et réécrit sale.report sur l'objet SQL et les chemins de champs. Un module qui garde l'ancien attribut ne plante pas au chargement : il échoue quand un utilisateur ouvre le rapport. Voici comment repérer et migrer vos rapports custom.
Odoo 20 : vos champs Binary ne parlent plus base64
Avec Odoo 20, les champs Binary renvoient un objet BinaryValue en octets bruts et ir.attachment.datas disparaît au profit de raw. Le format RPC change aussi en lecture, ce qui touche vos intégrations externes. Voici comment auditer vos modules avant la migration.
Vers Odoo 20 : ir.access remplace ACL et record rules
Dans la branche master d'Odoo, le modèle ir.access fusionne ir.model.access et ir.rule. Nous lisons le code, le nouveau fichier ir.access.csv et la logique permission/restriction. Puis nous listons ce qu'il faut prévoir pour migrer la sécurité de vos modules spécifiques.
Odoo 19 : vos t-esc survivent, vos t-raw sont à réécrire
Plusieurs guides annoncent que t-esc casse les templates en Odoo 19. La documentation officielle dit l'inverse : t-esc reste un alias de t-out, et c'est t-raw, déprécié depuis la 15.0, qui demande vraiment une réécriture. Comment prioriser votre migration QWeb sans perdre de temps.
Owl 3 entre dans Odoo 20 : onWillUpdateProps et this.props partent
La version 3 d'Owl entre dans la ligne Odoo 20 et retire des conventions que vos composants utilisent partout : this.props implicite, onWillUpdateProps et les t-ref par chaîne. Le script officiel ne traite que le squelette, la logique de réactivité reste manuelle.
Odoo 19 : l'opérateur any! ignore les règles d'accès sur le comodèle
Depuis Odoo 17, l'opérateur any traverse une relation avec un domaine imbriqué. Odoo 19 ajoute any!, qui fonctionne pareil mais court-circuite les règles d'accès du comodèle. Pratique dans le cœur, piège de sécurité dans du code métier.
Odoo 19 refuse _sql_constraints : passez à models.Constraint
L'attribut _sql_constraints, présent dans quantité de modules, n'est plus pris en charge par Odoo 19 : le module ne se charge pas tant qu'il subsiste. Voici la nouvelle syntaxe déclarative avec models.Constraint et la marche à suivre pour migrer.
Odoo 19 retire le paramètre limit des champs One2many et Many2many
Le changelog ORM d'Odoo 19 retire discrètement le paramètre limit des champs One2many et Many2many. Un plafond silencieusement désactivé se paie en lenteurs après la mise en production. Voici comment auditer vos modules et quels schémas adopter à la place.
Odoo 19 : trois types d'index sur vos champs, lequel choisir
Beaucoup de bases Odoo ralentissent sur des recherches qu'un bon index réglerait en une ligne. L'attribut index de vos champs propose trois modes, dont un pour la recherche textuelle et un pour les colonnes souvent vides. Voici comment les choisir sans indexer à l'aveugle.
Odoo 19 : vos PDF reposent encore sur wkhtmltopdf, abandonné
Odoo 19 convertit encore ses rapports QWeb en PDF avec wkhtmltopdf, un moteur dont le dépôt est archivé et qui repose sur QtWebKit figé en 2012. Voici ce que cette dépendance change pour vos rapports, votre installation et vos choix de migration.