bi_view_editor : rapport customisé
À quoi sert ce module ?
Le module bi_view_editor permet de créer des vues listes et pivots customs. On peut ajouter les champs que l'on souhaite dans la vue, y compris des champs qui n'existent pas dans le modèle à représenter.
Par exemple, on souhaite créer une vue pivot des écritures analytiques qui contiennent comme champ le "compte analytique parent". Or ce champ est défini sur le compte analytique, mais pas directement sur l'écriture analytique.
Ainsi, si l'on va voir la vue pivot des écritures analytiques, on ne peut pas regrouper les écritures via le compte analytique parent.
Le module bi_view_editor va donc permettre de créer des vues pivots contenant des champs liés, mais qui ne sont pas directement accessibles sur la vue pivot native de Odoo.
Cas d'usage simple
Attention, pour utiliser ce module, c'est mieux d'avoir une idée de l'organisation du modèle de donnée, c'est-à-dire, quel champs existent dans quels modèles, et quels sont les liens entre les modèles. Ces infos sont parfois transparentes sur l'interface de Odoo mais parfois pas. Dans mon exemple avec les écritures analytique, j'ai besoin de comprendre que le champs "parent analytic account" est défini sur le modèle "compte analytique", qui est lié aux écritures analytiques.
En cas de besoin plus complexe qui ne peut pas être réalisé par bi_view_editor, on peut utiliser bi_sql_editor. Il demande de coder une requête directement en SQL, ce qui est plus flexible.
Une fois le module installé (voir les détails techniques dans le readme), on peut y accéder via le menu Dashboard>Custom Reports (ou en français : Tableau de bord>Custom reports).
On arrive sur l'écran suivant. On peut encoder le nom du rapport, puis commencer à chercher les données que l'on souhaite inclure.
Je commence à ajouter les champs présents dans le modèle "analytic line" (écritures analytiques) que je souhaite intégrer à ma vue.
Ensuite, on ajoute le champ "parent analytic account", qui est dans le modèle Compte analytique (analytic account).
Maintenant on a tous les champs que l'on souhaite. Par défaut ils sont ajoutés seulement à la vue liste. On doit les configurer pour qu'ils s'affichent comme ligne, colonne ou mesure dans la vue pivot.
On fait un clic-droit sur l'icône "liste"
Et on choisit "Measure" pour le champ "Montant", car il sera utilisé comme valeur à calculer.
Pour les autres champs, on les ajoute comme lignes (row) et colonne parce qu'ils seront utilisés pour regrouper les données.
On a terminé, on clique sur "Generate the BI view", puis sur "open BI view", et enfin sur l'icône de la vue pivot.
Quand on ouvre la vue pivot, par défaut tous les champs lignes et colonnes seront utilisé et "ouvert". Donc si il y en a beaucoup cela peut prendre du temps pour calculer le tableau.C'est un comportement bizarre. C'est donc mieux de limiter le nombre de champs à ceux purement nécéssaires.
Et voilà, on a notre vue pivot et on peut la regrouper par "parent analytic account".
Enfin, on peut créer un menu via le bouton "Create a menu" dans la configuration de la vue.
Si on veut changer la configuration, il faut cliquer sur "reset to draft".
Le module peut aussi être utilisé pour créer des vues listes customisées, mais dans ce cas, les lignes ne sont pas cliquables ! C'est juste un outil de rapport, ce n'est pas un outil pour modifier les données.
Le module peut être utilisé de manière plus complexe, par exemple en ajoutant des groupes de sécurité, ou en allant chercher des champs plus éloignés du modèle principal. Cette documentation ne couvre pas ces cas d'usage.