Lignes libres sur devis

Bonjour,

Désolé d’avance si le sujet a déjà été posté auparavant, mais je ne trouve aucune réponse cohérente en recherchant via google.

Je réalise en ce moment quelques devis pour des serveurs informatiques, et aimerai détailler les composants sur les devis, eg:

Désignation_________________________|_Quantité__|_Prix HT__| 
Serveur SuperTropBien               |        1  | 8000 €   |
Comprennant des super disques       |           |          |
Plein de mémoire                    |           |          |
Un cpu qui va vite                  |           |          |
Main d'oeuvre d'installation        |        2  | 1337 €   | 
____________________________________________________________
Total                                            Over 9000 €

Alors oui je pourrais me servir du champ description, mais cela casserait totalement mon format de devis.
D’ailleurs, il est compliqué d’ajouter une simple ligne libre dans Dokos, sachant que je n’ai rien trouvé de mieux que de créer un article à prix zéro, et de le ré-utiliser, mais je suis sur qu’il doit y avoir une solution plus propre.

Pouvez-vous m’aiguiller svp ?

Bonjour @ozy,

Pour ajouter une ligne “libre” dans un devis, il suffit de ne pas mettre de code article (ce n’est plus un champ obligatoire), mais uniquement un libellé (Nom de l’article), une description, une quantité et une unité de mesure.

Pour l’affichage, si vous souhaitez ne pas faire apparaître la quantité et le prix pour les lignes “libres”, il faudra personnaliser le format d’impression.

Bonne journée

Effectivement, j’ai fini par modifier l’affichage des tables d’articles pour afficher la description de l’article plutôt que le nom.
D’ailleurs je trouve que l’affichage des remises par défaut est assez incompréhensible.
De même que le nom du champ de la remise en pourcentage tellement long que l’affichage l’entête de table prend autant de place que 4 articles.

J’ai donc crée un modèle devis/facture dans lesquels j’ai remplacé les tables d’articles prédéfinis.par un champ code HTML comprenant:

    <table class="table table-condensed table-bordered">
        <tr>
            <th>{{ _("Description") }}</th>
            <th class="text-right">P.U. Brut</th>
            <th class="text-right">Remise</th>
            <th class="text-right">PU Net</th>
            <th>{{ _("Quantity") }}</th>
            <th class="text-right">{{ _("Amount") }}</th>
        </tr>
        {%- for row in doc.items -%}
        <tr>
            <td style="width: 49%;">{{ row.description or row.item_name or '' }}</td>
            <td style="width: 11%; text-align: right;">{{ row.get_formatted("price_list_rate", doc) or '' }}</td>
            <td style="width: 9%; text-align: right;">{{ row.get_formatted("discount_percentage", doc) or '' }}<br/><span style="font-size: 7pt;">{{ row.get_formatted("discount_amount", doc) or '' }}</span></td>
            <td style="width: 11%; text-align: right;">{{ row.get_formatted("rate", doc) or '' }}</td>
            <td style="width: 9%; text-align: right;">{{ row.get_formatted("qty") }} {{ row.stock_uom }}</td>
            <td style="width: 11%; text-align: right;">{{ row.get_formatted("amount", doc) or ''}}</td>
        </tr>
        {%- endfor -%}
        </tbody>
    </table>

Jusqu’à la, tout va bien, sauf que je n’ai jamais trouvé le champ permettant d’afficher le montant total non remisé.
ex: article 10€, qte 5, remise 10%, quel champ contiendrait 50 € ?

Enfin, quelle classe dois-je ajouter dans mes tables pour gérer l’affichage "
Impression compacte des articles" ou encore “Imprimer l’unité de mesure après la quantité” ou “Impression de taxes avec un montant nul”.

Merci ;-D

Bonjour @ozy,

Je ne crois pas qu’il y ait un modèle d’impression spécifique aux remises par articles actuellement. Ce serait effectivement un bonne amélioration.

Il n’y a en tout cas, pas de champ contenant le montant total non remisé. Il vous que vous l’ajoutiez dans votre formulaire ou que vous fassiez le calcul dans votre format d’impression.

Les options d’affichage servent quand à elles à modifier les formats d’impression “standard”.
Si vous souhaitez les utiliser dans votre format personnalisé, voici des exemples:

Impression compacte dans les lignes d’article

Impression de l’unité de mesure après la quantité

Impression des taxes

Bonne journée !

Merci de votre réponse… Par contre du moment que j’essaie d’accéder à cette variable, y compris via un simple {{ print_settings.compact_item_print }} quelque part dans mon template, j’ai jinja2 qui plante…

D’ailleurs impossible de voir vraiment d’ou vient le problème, la modale d’affichage des modèles d’impression est trop petite et tronque le taceback.
J’ai cherché “journal” mais ne suis pas tombé sur quelque chose de probant.

Bonjour @ozy,

Je viens de tester et je constate deux cas de figure:

  • S’il s’agit d’un format personnalisĂ© (case format personnalisĂ© cochĂ©e dans le la fiche du format d’impression), la variable print_settings est disponible: {{ print_settings.compact_item_print }} fonctionne.

  • S’il s’agit juste d’un champ HTML dans un format standard, dans ce cas la variable print_settings n’est pas disponible directement, mais via un flag associĂ© au document: doc.flags.print_settings
    Il faut donc remplacer le code que vous avez entré par : {{ doc.flags.print_settings.compact_item_print }}

Bonne journée !

Désolé de la réponse tardive.
En effet, c’est bien un code HTML que sur un format standard.
Parfait, tout fonctionne correctement :wink:
Encore merci.

2 « J'aime »