Skip to main content

Impression d'étiquettes (solution du Grap)

Le Grap a créé un module dans Odoo dans l'application "Ventes" qui permet de générer des étiquettes en PDF.

Toute la documentation sur leur module est disponible sur ce lien.

Dans le cadre de l'intercoopération des supermarchés coopératifs clients de Coop IT Easy, le module du Grap a été adapté et un nouveau module a été créé pour générer un modèle d'étiquette reprenant les informations des fiches d'articles ajoutées par les modules utilisés par les supermarchés coopératifs (toutes les infos de l'onglet Etiquette).

Modules à installer

  • Le module du Grap qui permet d'avoir toute la mécanique d'impression : product_print_category
  • Le module de Coop IT Easy qui ajoute un modèle d'étiquette utilisant les champs spécifiques de la fiche article : beesdoo_print_label (dont le nom sera adapté - lien à adapter une fois la PR merged).

Droits d'accès

Le module product_print_category ajoute 2 groupes d'utilisateurs :

  • Utilisateur de catégorie d'impression
  • Responsable de catégorie d'impression (qui permet de modifier les modèles d'étiquettes)

image-1646988384765.png

Modèles d'impression

Le module beesdoo_print_label donne accès à un modèle d'impression pré-défini.

Se rendre dans Ventes < "Catalogue" < Catégories d'impression :

image-1646988571473.png

Le modèle d'impression s'appelle "Normal pricetag 60x38mm" :

  • on peut l'activer/le désactiver avec le champ "Actif"
  • Qweb view permet d'accéder au code Qweb qui génère l'étiquette. C'est ce la qui pourrait être adapté (modalités à tester/mettre en place) par chaque supermarché coopératif. De nouvelles catégories d'impression peuvent être créées pour correspondre aux divers besoins de chaque supermarché.
  • Champs déclenchant l'impression : c'est la liste des champs qui, s'ils sont modifiés sur la fiche article, vont modifier le statut de la fiche article et indiquer qu'il faut l'imprimer. L'article sera alors dans une liste d'articles "obsolètes" accessibles sur la catégorie d'impression.
  • Un smart button permet d'accéder à tous les articles qui ont cette catégorie d'impression

image-1646988637852.png

 

Associer une catégorie d'impression (modèle d'étiquette) à un article

Sur la fiche article, dans l'onglet "Ventes", une section "Print Options" est ajoutée :

  • Print Category : choisir le modèle d'étiquette pour cet article (il n'y a qu'un modèle avec le module installé ci-dessus)
  • To Print : cocher cette case pour que l'article soit repris dans la liste des articles dont il faut imprimer l'étiquette. Ce champ est mis à jour automatiquement quand on ajoute le produit

image-1646988892210.png

Imprimer les articles

Tous les articles dont la case "To print" est cochée sont disponibles en cliquant sur le bouton "Imprimer les produits obsolètes" sur la catégorie d'impression :

image-1646989162819.png

La liste des articles concernés est affichée dans un pop up :

image-1646989186073.png

Cliquer sur "Imprimer".

Un PDf au format A4 est généré :

image-1646989244468.png

Si les valeurs des critères (Bio, Belgique...) ont été configurés avec des logos, ce sont les logos qui apparaîtront à la place :

image-1646992729933.png

Version d'août 2022 de l'étiquette :

image-1661499143846.png

 

Version de september 2022 des étiquettes :

etiquettes_09-2022.png

 

Configurer l'impression des étiquettes

Taille des étiquettes imprimées

La taille du modèle d'étiquettes est de 60x38mm. Cependant, il est possible que la taille une fois imprimées soit différente, si l'action d'impression applique un zoom différent de 100% au pdf. La configuration est à chercher non pas sur odoo mais dans la configuration du navigateur ou dans les paramètres de l'imprimante, sous le nom "Échelle" ou "Ajustement des pages" ou "Zone d'impression". Sur Firefox, le paramètre s'appelle "Échelle" et il faut mettre 100%. Sous Ubuntu, c'est "Ajustement des pages" et il faut y mettre la valeur "Aucun".

Marges du document

La marge gauche du modèle d'étiquettes est de 2mm, mais il est possible de modifier cette marge selon ce qu'on souhaite. Il est également possible que cette marge soit rognée lors de l'impression en fonction de votre imprimante. Il est possible d'adapter dans Odoo les marges du format de papier utilisé pour l'impression des étiquettes :

1. activer le mode débug

2. se rendre dans Configuration > Technique > Rapports > Format de papier

3. Modifier le format de papier nommé "Products Print Format"

format de papier.png

 

Créer son propre modèle d'étiquettes (pas encore possible)

Pour créer son propre modèle d'étiquette, il va falloir créer plusieurs éléments dans Odoo, il faut être Gestionnaire des étiquettes et pas simple Utilisateur et avoir activé le mode Développeur.

Créer la structure du nouveau modèle d'étiquettes

  1. Aller dans Configuration > Technique > Interface Utilisateur > Vue
  2. Chercher la vue qui se nomme beesdoo_print_label.qweb_template_pricetag_normal
  3. Ouvrir cette vue et cliquer sur Action > Dupliquer
  4. Modifier les champs Nom de la vue, Clé et l'attribut t-name de la première balise xml pour avoir un nom unique pour cette nouvelle vue. Par exemple : qweb_template_pricetag_coopiteasy_test
  5. Modifier ensuite le contenu de la vue à sa guise.

creation-etiquette-1.png

Créer un nouveau design pour le nouveau modèle d'étiquettes (optionnel)

Il est possible, mais pas obligatoire, modifier le design des nouvelles étiquettes ou des modèles existant. Pour se faire :

  1. Aller dans Configuration > Technique > Interface Utilisateur > Vue
  2. Chercher la vue qui se nomme beesdoo_print_label.css_qweb_template_pricetag_normal
  3. Ouvrir cette vue et cliquer sur Action > Dupliquer
  4. Modifier les champs Nom de la vue, Clé pour avoir un nom unique pour cette nouvelle vue. Par exemple : css_qweb_template_pricetag_coopiteasy_test
  5. Remplacer ensuite le contenu de la vue par ce code ci-dessous.
  6. Modifier ensuite la partie CSS du code ci-dessous avec vos instructions CSS.
<?xml version="1.0"?>
<data inherit_id="web.report_assets_common">
    <xpath expr="." position="inside">
        <style>
        /* WARNING this style will impact every repport generated by Odoo.
         * So do not write global rules like h1 { ... }.
         * Prefix your special class so that there are uniq or any other 
         * method to only target the html tag in your pricetag report.
         * Eg:
         * .container-pricetag-60x38 .pricetag .product_name {
         *     color: red;
         * }
         * Your CSS here after this comment.
         */
        </style>
    </xpath>
</data>

Attention, les styles ajoutés dans cette vue seront appliqués sur chaque rapport généré par Odoo, il est donc important de ne pas écrire de règles généralistes comme h1 { ... } . Par exemple en préfixant les classes de manière à ce qu'elle soit unique de les inclure dans une imbrication de classe qui cible uniquement votre nouveau modèle d'étiquettes.

creation-etiquette-2.png

creation-etiquette-3.png

Créer le nouveau modèle d'étiquettes

Il est temps maintenant de créer votre nouveau modèle d'étiquette et de pouvoir faire votre première impression.

  1. Aller dans Ventes > Catalogues > Catégories d'Impression.

  2. Cliquer sur Créer

  3. Choisir un nom pour votre nouveau modèle d'étiquettes et remplir le formulaire en précisant bien dans le champ Qweb View la nouvelle vue créée pour vos étiquettes (attention pas la vue avec le CSS, la vue avec le contenu des étiquettes).

creation-etiquette-4.png