| Référence |
Désignation |
P.U. HT |
Qté |
Total HT |
TVA |
Aff. |
{% set facture_lignes_pieces = [] %}
{% for facture in intervention.factures %}
{% for factureLigne in facture.getFactureLignes %}
{% if factureLigne.getProduit and factureLigne.getProduit.getProduitType and factureLigne.getProduit.getProduitType.id == 1 %}
{% set facture_lignes_pieces = facture_lignes_pieces|merge([factureLigne]) %}
{% endif %}
{% endfor %}
{% endfor %}
{% if facture_lignes_pieces|length > 0 %}
{% for factureLigne in facture_lignes_pieces %}
| {{ factureLigne.getProduit ? factureLigne.getProduit.code : '' }} |
{{ factureLigne.getProduit ? factureLigne.getProduit.designation : factureLigne.designation }} |
{{ factureLigne.getPuHt ? factureLigne.getPuHt|number_format(2, ',', ' ') ~ '€' : '' }} |
{{ factureLigne.quantite ? factureLigne.quantite : '' }} |
{{ factureLigne.getPrixTotalHt ? factureLigne.getPrixTotalHt|number_format(2, ',', ' ') ~ '€' : '' }} |
{{ factureLigne.getTauxTva ? factureLigne.getTauxTva.taux ~ '%' : '' }} |
{{ factureLigne.getProduitFactureAffectation ? factureLigne.getProduitFactureAffectation.libelleCourt : '' }} |
{% endfor %}
{% set emptyRows = 3 - facture_lignes_pieces|length %}
{% if emptyRows > 0 %}
{% for i in 1..emptyRows %}
|
{% endfor %}
{% endif %}
{% else %}
|
|
|
{% endif %}
{# Bon de commande en haut à droite #}
| Base HT | Taux | Montant |
{% set tva_totaux = {} %}
{# Calcul des totaux TVA pour les pièces #}
{% for facture in intervention.factures %}
{% for factureLigne in facture.getFactureLignes %}
{% if factureLigne.getProduit and factureLigne.getProduit.getProduitType and factureLigne.getProduit.getProduitType.id == 1 %}
{% if factureLigne.getProduitFactureAffectation and factureLigne.getProduitFactureAffectation.libelleCourt == 'F' %}
{% set tva = factureLigne.getTauxTva ? factureLigne.getTauxTva.taux : 0 %}
{% set tva_key = (tva ~ '_tva') %}
{% set montant = factureLigne.getPrixTotalHt ? factureLigne.getPrixTotalHt : 0 %}
{% set tva_totaux = tva_totaux|merge({ (tva_key): (tva_totaux[tva_key]|default(0) + montant) }) %}
{% endif %}
{% endif %}
{% endfor %}
{% endfor %}
{# Ajout de la MO si elle existe #}
{% if ligne_mo %}
{% set tva = ligne_mo.getTauxTva ? ligne_mo.getTauxTva.taux : 0 %}
{% set tva_key = (tva ~ '_tva') %}
{% set montant = ligne_mo.getPrixTotalHt ? ligne_mo.getPrixTotalHt : 0 %}
{% set tva_totaux = tva_totaux|merge({ (tva_key): (tva_totaux[tva_key]|default(0) + montant) }) %}
{% endif %}
{# Ajout du déplacement s'il existe #}
{% if ligne_deplacement %}
{% set tva = ligne_deplacement.getTauxTva ? ligne_deplacement.getTauxTva.taux : 0 %}
{% set tva_key = (tva ~ '_tva') %}
{% set montant = ligne_deplacement.getPrixTotalHt ? ligne_deplacement.getPrixTotalHt : 0 %}
{% set tva_totaux = tva_totaux|merge({ (tva_key): (tva_totaux[tva_key]|default(0) + montant) }) %}
{% endif %}
{% if tva_totaux|length > 0 %}
{% set nb_line = 0 %}
{% for tva_key, montant in tva_totaux %}
{% set taux = tva_key|replace({'_tva':''}) %}
{% set nb_line = nb_line + 1 %}
| {{ montant|number_format(2, ',', ' ') }} € |
{{ taux }}% |
{{ ((montant * taux)/100)|number_format(2, ',', ' ') }}€ |
{% endfor %}
{% set emptyRows = 3 - nb_line %}
{% if emptyRows > 0 %}
{% for i in 1..emptyRows %}
|
{% endfor %}
{% endif %}
{% else %}
|
|
|
{% endif %}
{# Tableau récap TVA à droite, collé au tableau principal #}