Quantcast
Channel: Forum Dolibarr france :: Discussions récentes
Viewing all articles
Browse latest Browse all 34935

Sujet: Afficher total TTC par ligne produit (template) - par: julien81

$
0
0
Avant de me lancer sur mon 1er post sur ce forum, bravo à toute l'équipe Dolibarr pour votre travail.

Malgré de longues recherches sur le forum, impossible de trouver un modèle de document (devis, commande, facture) qui affiche le total TTC par ligne produit ! Indispensable pour les détaillants et toutes activités en relation avec les particuliers.

Alors je me suis lancé...
Voici les modifications effectuées, sur modèle de commande Einstein, version Doli 3.1.1
Fichier modifié attaché.

Fichier \htdocs\lib\pdf.lib.php
Ajouter ligne 1121
 
/**
* Return line total INCLUDING tax
* @param object Object
* @param i Current line number
* @param outputlangs Object langs for output
* @param hidedetails Hide value
* 0 = no
* 1 = yes
* 2 = just special lines
*/

function pdf_getlinetotalincltax($object,$i,$outputlangs,$hidedetails=0)
{
if ($object->lines[$i]->special_code == 3)
{
return $outputlangs->transnoentities("Option");
}
else
{
if (! empty($object->hooks) && ( ($object->lines[$i]->product_type == 9 && ! empty($object->lines[$i]->special_code) ) || ! empty($object->lines[$i]->fk_parent_line) ) )
{
$special_code = $object->lines[$i]->special_code;
if (! empty($object->lines[$i]->fk_parent_line)) $special_code = $object->getSpecialCode($object->lines[$i]->fk_parent_line);
foreach($object->hooks as $hook)
{
if (method_exists($hook['modules'][$special_code],'pdf_getlinetotalincltax')) return $hook['modules'][$special_code]->pdf_getlinetotalincltax($object,$i,$outputlangs,$hidedetails);
}
}
else
{
if (empty($hidedetails) || $hidedetails > 1) return price($object->lines[$i]->total_ttc);
}
}
}
 


ENSUITE,
Sur votre modèle de document, ici pour l'exemple, c'est une commande.
Pensez à faire une copie de l'original.

\htdocs\includes\modules\commande\pdf_einstein.modules.php
ligne 89
 
// Defini position des colonnes
$this->posxdesc=$this->marge_gauche+1;
$this->posxtva=100;
$this->posxup=115;
$this->posxqty=130;
$this->posxdiscount=140;
$this->postotalht=155;
$this->postotalttc=174;
 


ligne 280 remplacer par

	$pdf->MultiCell(15, 3, $total_excl_tax, 0, 'R', 0);


puis ajouter
 
// Total TTC ligne
$total_incl_tax = pdf_getlinetotalincltax($object, $i, $outputlangs, $hidedetails);
$pdf->SetXY ($this->postotalttc, $curY);
$pdf->MultiCell(20, 3, $total_incl_tax, 0, 'R', 0);
 


ligne 808 remplacer par
$pdf->MultiCell(20,2, $outputlangs->transnoentities("TotalHT"),'','C');


puis ajouter
 
/*TOTAL TTC ligne produit*/
$pdf->line($this->postotalttc, $tab_top, $this->postotalttc, $tab_top + $tab_height);
$pdf->SetXY ($this->postotalttc-1, $tab_top+1);
$pdf->MultiCell(25,2, 'Total TTC','','C');
 

Terminé ...

Viewing all articles
Browse latest Browse all 34935

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>