Le module report_py3o, qui facilite la génération de rapports dans Odoo, peut être aisément personnalisé au moyen de quelques lignes de code. XCG a récemment introduit une fonctionnalité de regroupement des articles par catégorie, qui permet d’améliorer la présentation des devis.
Modification des modèles de document via report_py3o
Pour faciliter la génération de documents depuis Odoo, nos équipes ont développé le module report_py3o, qui permet d’utiliser les fonctionnalités de py3o.template dans l’ERP. Les entreprises ont besoin de soumettre à leurs clients des documents commerciaux à la présentation soignée et professionnelle. Les personnalisations souhaitées peuvent être facilement réalisées au moyen de quelques lignes de code en Python dans le module report_py3o (les lignes de code sont à ajouter dans le module et non pas directement dans le template afin de ne pas surcharger le modèle de document). Nos équipes ont ajouté des fonctions dans le code du module afin d’améliorer la structure des devis Odoo.
Voici un aperçu d’une fonction en Python permettant de classer les articles par catégorie dans le devis :

La fonction du code Python précédent est ensuite appelée avec une courte ligne de code depuis le modèle de devis :

Le calcul des sous-totaux par catégorie peut être effectué au moyen du code suivant à ajouter dans le module :

Grâce à l’appel de ces fonctions depuis le modèle de devis, les sous-totaux de chaque catégorie seront calculés puis affichés dans les encadrés jaunes ci-dessous :
Conception d’un template allégé en code
Le code qui définit les fonctions visant à personnaliser les rapports py3o est à écrire dans le module report_py3o. Dans le modèle définissant la structure du devis, le développeur se contentera d’appeler les fonctions déclarées dans le module au moyen de lignes de code brèves. Cela permet d’alléger le code à inscrire dans le modèle. Certaines informations mineures telles que la monnaie (ici « EUR ») et le format d’affichage des prix (ici « FR ») peuvent être définies directement dans le template.

Voici un aperçu du rendu obtenu :

L’outil de reporting py3o.template est constamment amélioré grâce aux diverses contributions de la communauté Open Source. N’hésitez pas à l’utiliser, à contribuer et/ou à faire appel à nos services pour l’intégrer dans le cadre d’un projet plus global.
Crédit icônes image sur les réseaux sociaux : Freepik sur http://www.flaticon.com - CC 3.0 BY