Open eheliot12 opened 6 years ago
Là où on voudrait uniquement 2 décimales j'imagine.
Oui, à l'affichage on n'en met que 2
Y a-t-il des exceptions, c'est à dire des prix que l'on souhaite afficher avec plus de 2 décimales ?
sur les devis et factures, je ne crois pas. ce serait pertinent sur le prix unitaire pour de très grosses quantités (ie industrie) mais pas dans notre cas.
OK pour l'affichage.
Par contre ça introduirait une incohérence avec la saisie qui permet jusqu'à 5 chiffres après la virgule pour les champs de prix.
il peut y avoir un écart entre prix unitaire et prix de la ligne
Oui mais par ex pour le prix unitaire. Si on choisi de ne l'afficher (mode vue) qu'avec 2 décimales. Est-ce qu'on laisse pour autant la possibilité de saisir (mode formulaire) 5 décimales ?
Oui c'est l'idée, les saisies et calculs se font avec 5 décimales mais à l'affichage on arrondi à 2
OK, merci. (je suis dessus)
Est-ce qu'on l'inclut à la 4.2 ? (est-ce une régression ?)
bien present en 4.1. on peut l'inclure en 4.2
Un traducteur doit pouvoir avoir un prix unitaires à 5 chiffres dans ses devis et factures. Le fonctionnement actuel a été ajouté à la demande de plusieurs CAE utilisatrices
OK, j'ai harmonisé un peu tout ça, en vérifiant sur les pages devis et factures qu'il n'y avait pas d'oublis. (PR en cours de rédaction).
Ça ressemble à ça :
L'usage des ellipses (« … ») me questionne un peu : je comprends leur utiité, mais je trouve que ça surcharge beaucoup (en fait, les trois petits points prennent quasiment autant de place que si on avait laissé deux décimales de plus).
Solution prête pour review sur #957
Du coup je me demande si il ne faut pas faire une passe sur l'ensemble des templates, pas uniquement cette vue, en faisant un peu de recherche dans les fichiers, je trouve tout ça de cas où on utilise un affichage à 5 décimales :
-*- mode: helm-ag -*-
Ag Results for `format_amount precision=5':
autonomie/templates/tasks/invoice_view_only.mako:196: ${api.format_amount(payment.amount, precision=5)|n} €
autonomie/templates/tasks/invoice_view_only.mako:225: d'un montant TTC de ${api.format_amount(cancelinvoice.ttc, precision=5)|n} €
autonomie/templates/tasks/view_only.mako:118: <dd>${api.format_amount(request.context.ht, precision=5)|n} €</dd>
autonomie/templates/tasks/view_only.mako:120: <dd>${api.format_amount(request.context.tva, precision=5)|n} € </dd>
autonomie/templates/tasks/view_only.mako:122: <dd>${api.format_amount(request.context.ttc, precision=5)|n} €</dd>
autonomie/templates/estimations.mako:96: <td><strong>${api.format_amount(totalht, precision=5)|n} €</strong></td>
autonomie/templates/estimations.mako:97: <td><strong>${api.format_amount(totaltva, precision=5)|n} €</strong></td>
autonomie/templates/estimations.mako:98: <td><strong>${api.format_amount(totalttc, precision=5)|n} €</strong></td>
autonomie/templates/estimations.mako:142: ${api.format_amount(ht, precision=5) | n} €
autonomie/templates/estimations.mako:146: ${api.format_amount(tva, precision=5) | n} €
autonomie/templates/estimations.mako:149: ${api.format_amount(ttc, precision=5) | n} €
autonomie/templates/estimations.mako:162: <td><strong>${api.format_amount(totalht, precision=5)|n} €</strong></td>
autonomie/templates/estimations.mako:163: <td><strong>${api.format_amount(totaltva, precision=5)|n} €</strong></td>
autonomie/templates/estimations.mako:164: <td><strong>${api.format_amount(totalttc, precision=5)|n} €</strong></td>
autonomie/templates/company_index.mako:49: ${format_customer(invoice.customer, False)} - ${api.format_amount(invoice.ttc, precision=5)|n} €
autonomie/templates/treasury/commercial.mako:68: ${api.format_amount(turnover.value, trim=True, precision=5)|n}
autonomie/templates/treasury/commercial.mako:74: title='${turnover.comment}' onclick='setTurnoverProjectionForm("${i}", "${api.format_amount(turnover.value, grouping=False, precision=5)}", this);'>
autonomie/templates/treasury/commercial.mako:83: ${api.format_amount(turnover_projections['year_total'], trim=True, precision=5)|n}
autonomie/templates/treasury/commercial.mako:88: <td>${api.format_amount(turnovers[i], trim=True, precision=5)|n}</td>
autonomie/templates/treasury/commercial.mako:91: ${api.format_amount(turnovers['year_total'], trim=True, precision=5)|n}
autonomie/templates/treasury/commercial.mako:97: ${api.format_amount(compute_turnover_difference(i, turnover_projections, turnovers), trim=True, precision=5)|n}
autonomie/templates/treasury/commercial.mako:101: ${api.format_amount(turnovers['year_total'] - turnover_projections['year_total'], trim=True, precision=5)|n}
autonomie/templates/business/overview.mako:93: ${api.format_amount(deadline.payment_line.amount, precision=5) | n} €
autonomie/templates/project/business_list.mako:122: ${api.format_amount(sum([i.ttc for i in business.invoices]), precision=5)|n} €
autonomie/templates/project/estimations.mako:97: <td><strong>${api.format_amount(totalht, precision=5)|n} €</strong></td>
autonomie/templates/project/estimations.mako:98: <td><strong>${api.format_amount(totaltva, precision=5)|n} €</strong></td>
autonomie/templates/project/estimations.mako:99: <td><strong>${api.format_amount(totalttc, precision=5)|n} €</strong></td>
autonomie/templates/project/estimations.mako:143: ${api.format_amount(ht, precision=5) | n} €
autonomie/templates/project/estimations.mako:147: ${api.format_amount(tva, precision=5) | n} €
autonomie/templates/project/estimations.mako:150: ${api.format_amount(ttc, precision=5) | n} €
autonomie/templates/project/estimations.mako:163: <td><strong>${api.format_amount(totalht, precision=5)|n} €</strong></td>
autonomie/templates/project/estimations.mako:164: <td><strong>${api.format_amount(totaltva, precision=5)|n} €</strong></td>
autonomie/templates/project/estimations.mako:165: <td><strong>${api.format_amount(totalttc, precision=5)|n} €</strong></td>
autonomie/templates/panels/task/estimation.mako:87: <td class='price'>${api.format_amount(task.deposit_amount_ttc(), precision=5)|n} €</td>
autonomie/templates/panels/task/estimation.mako:98: <td class='price'>${api.format_amount(line.amount, precision=5)|n} €</td>
autonomie/templates/panels/task/estimation.mako:100: <td class='price'>${api.format_amount(task.paymentline_amount_ttc(), precision=5)|n} €</td>
autonomie/templates/panels/task/estimation.mako:115: ${api.format_amount(task.sold(), precision=5)|n} €
autonomie/templates/panels/task/task_list.mako:50: <td><strong>${api.format_amount(totalht, precision=5)|n} €</strong></td>
autonomie/templates/panels/task/task_list.mako:51: <td><strong>${api.format_amount(totaltva, precision=5)|n} €</strong></td>
autonomie/templates/panels/task/task_list.mako:52: <td><strong>${api.format_amount(totalttc, precision=5)|n} €</strong></td>
autonomie/templates/panels/task/task_list.mako:111: <strong>${api.format_amount(ht, precision=5)|n} €</strong>
autonomie/templates/panels/task/task_list.mako:114: ${api.format_amount(tva, precision=5)|n} €
autonomie/templates/panels/task/task_list.mako:117: ${api.format_amount(ttc, precision=5)|n} €
autonomie/templates/panels/task/task_list.mako:133: ${api.format_amount(payment.amount, precision=5)|n} €
autonomie/templates/panels/task/task_list.mako:166: <td><strong>${api.format_amount(totalht, precision=5)|n} €</strong></td>
autonomie/templates/panels/task/task_list.mako:167: <td><strong>${api.format_amount(totaltva, precision=5)|n} €</strong></td>
autonomie/templates/panels/task/task_list.mako:168: <td><strong>${api.format_amount(totalttc, precision=5)|n} €</strong></td>
autonomie/templates/panels/task/base.mako:104: <td class="unity">${api.format_amount(line.cost, trim=False, precision=5)|n} €</td>
autonomie/templates/panels/task/base.mako:151: ${api.format_amount(task.expenses_ht, precision=5)|n} €
autonomie/templates/panels/task/base.mako:166: ${api.format_amount(task.groups_total_ht() + task.expenses_ht, trim=False, precision=5)|n} €
autonomie/templates/panels/task/base.mako:178: ${api.format_amount(discount.amount, precision=5)|n} €
autonomie/templates/panels/task/base.mako:192: ${api.format_amount(task.total_ht(), precision=5)|n} €
autonomie/templates/panels/task/base.mako:204: ${api.format_amount(task.total_ht(), precision=5)|n} €
autonomie/templates/panels/task/base.mako:242: ${api.format_amount(tva_amount, precision=5)|n} €
autonomie/templates/panels/task/base.mako:249: ${api.format_amount(tva_amount, precision=5)|n} €
autonomie/templates/panels/task/base.mako:260: ${api.format_amount(task.expenses_amount(), precision=5)|n} €
autonomie/templates/panels/task/base.mako:269: ${api.format_amount(task.total(), precision=5)|n} €
autonomie/tests/utils/test_strings.py:51: strings.format_amount(c, trim=False, precision=5),
autonomie/tests/utils/test_strings.py:56: strings.format_amount(c, trim=False,precision=5),
autonomie/tests/utils/test_strings.py:61: strings.format_amount(c, trim=False,precision=5),
autonomie/tests/utils/test_strings.py:66: strings.format_amount(c, trim=True, precision=5),
autonomie/tests/utils/test_strings.py:71: strings.format_amount(c, trim=False, precision=5),
autonomie/scripts/simple_invoice_export.py:13: 'ht': format_amount(task.ht, grouping=False, precision=5),
autonomie/scripts/simple_invoice_export.py:14: 'tva': format_amount(task.tva, grouping=False, precision=5),
autonomie/scripts/simple_invoice_export.py:15: 'ttc': format_amount(task.ttc, grouping=False, precision=5),
autonomie/views/invoices/invoice.py:261: format_amount(self.context.topay(), precision=5)
Si il y a probablement quelques cas légitimes, certains sont clairement de l'affichage et mériteraient probablement d'être rammenés à 2 décimales. Qu'en pensez-vous ?
Comme indiqué ci-dessus, l'affichage à 5 chiffres étaient une demande utilisateur, elle a été rajoutée après coup, ainsi que la notation avec ellipses "..." Une option d'affichage pourrait éventuellement être mise à 2 chiffres et pourraient être passée à 5 pour les devis/factures qui le nécessite. Plusieurs corps de métiers ont besoin de ce niveau de détail (notamment les traducteurs).
@tonthon désolé, j'ai manqué ton message précédent (on a posté en même temps, du coup il est passé sous mon radar).
Du coup il ne s'agirait pas vraiment d'un bug, mais plus d'une fonctionnalité à développer : rendre paramétrable le nombre de décimales affichées. Ça serait paramétrable par enseigne ou par préférence utilisateur ? (j'ai du mal à me rendre compte de si c'est intéressant que les accompagnateur·ice·s voient également ce niveau de détail).
Je propose de conserver #957 en enlevant le commit qui passe de 5 à 2 les décimales, étant donné qu'elle corrige des incohérences d'affichage également.
Je pense que le mieux serait qu'on ait 2 décimales par défaut et qu'une option puisse être activée par devis/facture pour afficher les 5 (éventuellement avec un paramétrage par défaut par enseigne).
Mais effectivement ça c'est une amélioration qu'on pourra implémenter plus tard. Dans l'immédiat je suis d'accord avec ton plan Jocelyn.
EDIT: cette issue s'appelait initialement « devis/factures : 5 decimales dans les prix », d'où la discussion ci-dessous
dans certains cas, les 5 décimales s'affichent dans les prix paiement en 3 fois par exemple