diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index 45988e1a2d4..41e1eb5ffdb 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -1144,8 +1144,10 @@ if ($_GET['propalid'] > 0) { if ($objp->description == '(CREDIT_NOTE)') { - print ' - '.$langs->trans("CreditNote"); - // \TODO Mettre ici lien sur ref avoir + $discount=new DiscountAbsolute($db); + $discount->fetch($objp->fk_remise_except); + print ' - '.$langs->trans("DiscountFromCreditNote",$discount->ref_facture_source); + // \TODO Mettre ici lien sur ref avoir en ajoutant fonction getNomUrl sur classe DiscountAbsolute } else { @@ -1319,122 +1321,6 @@ if ($_GET['propalid'] > 0) dolibarr_print_error($db); } - - /* - * Lignes de remise - */ - - // Réductions relatives (Remises-Ristournes-Rabbais) - /* Une réduction doit s'appliquer obligatoirement sur des lignes de factures - $var=!$var; - print '
'; - */ - - // Réductions absolues (Remises-Ristournes-Rabbais) - /* Les remises absolues doivent s'appliquer par ajout de lignes spécialisées - $var=!$var; - print ''; - */ - /* * Ajouter une ligne */ diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 2393884c04d..62c8ddb2043 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -2197,6 +2197,7 @@ else * Lignes de factures */ $sql = 'SELECT l.fk_product, l.description, l.price, l.qty, l.rowid, l.tva_taux,'; + $sql.= ' l.fk_remise_except,'; $sql.= ' l.remise_percent, l.subprice, l.info_bits,'; $sql.= ' '.$db->pdate('l.date_start').' as date_start,'; $sql.= ' '.$db->pdate('l.date_end').' as date_end,'; @@ -2274,8 +2275,10 @@ else { if ($objp->description == '(CREDIT_NOTE)') { - print ' - '.$langs->trans("CreditNote"); - // \TODO Mettre ici lien sur ref avoir + $discount=new DiscountAbsolute($db); + $discount->fetch($objp->fk_remise_except); + print ' - '.$langs->trans("DiscountFromCreditNote",$discount->ref_facture_source); + // \TODO Mettre ici lien sur ref avoir en ajoutant fonction getNomUrl sur classe DiscountAbsolute } else { diff --git a/htdocs/discount.class.php b/htdocs/discount.class.php index 4b8a429bdd9..544e3de0600 100644 --- a/htdocs/discount.class.php +++ b/htdocs/discount.class.php @@ -47,8 +47,8 @@ class DiscountAbsolute var $description; // Description libre var $datec; // Date creation var $fk_facture; // Id facture qd une remise a été utilisé - var $fk_facture_source; // Id facture avoir a l'origine de la remise - + var $fk_facture_source; // Id facture avoir à l'origine de la remise + var $ref_facture_source; // Ref facture avoir à l'origine de la remise /** * \brief Constructeur de la classe @@ -67,13 +67,15 @@ class DiscountAbsolute */ function fetch($rowid) { - $sql = "SELECT fk_soc,"; - $sql.= " fk_user,"; - $sql.= " amount_ht, amount_tva, amount_ttc, tva_tx,"; - $sql.= " fk_facture, fk_facture_source, description,"; - $sql.= " ".$this->db->pdate("datec")." as datec"; - $sql.= " FROM ".MAIN_DB_PREFIX."societe_remise_except"; - $sql.= " WHERE rowid=".$rowid; + $sql = "SELECT sr.fk_soc,"; + $sql.= " sr.fk_user,"; + $sql.= " sr.amount_ht, sr.amount_tva, sr.amount_ttc, sr.tva_tx,"; + $sql.= " sr.fk_facture, sr.fk_facture_source, sr.description,"; + $sql.= " ".$this->db->pdate("sr.datec")." as datec,"; + $sql.= " f.facnumber as ref_facture_source"; + $sql.= " FROM ".MAIN_DB_PREFIX."societe_remise_except as sr"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as f ON sr.fk_facture_source = f.rowid"; + $sql.= " WHERE sr.rowid=".$rowid; dolibarr_syslog("DiscountAbsolute::fetch sql=".$sql); $resql = $this->db->query($sql); @@ -91,7 +93,8 @@ class DiscountAbsolute $this->tva_tx = $obj->tva_tx; $this->fk_user = $obj->fk_user; $this->fk_facture = $obj->fk_facture; - $this->fk_facture_source = $obj->fk_facture_source; + $this->fk_facture_source = $obj->fk_facture_source; // Id avoir source + $this->ref_facture_source = $obj->ref_facture_source; // Ref avoir source $this->description = $obj->description; $this->datec = $obj->datec; diff --git a/htdocs/facture.class.php b/htdocs/facture.class.php index 1bdd77cfc69..4226c058d81 100644 --- a/htdocs/facture.class.php +++ b/htdocs/facture.class.php @@ -612,9 +612,9 @@ class Facture extends CommonObject $facligne->price=-$remise->amount_ht; $facligne->remise=0; - $facligne->total_ht = $remise->amount_ht; - $facligne->total_tva = $remise->amount_tva; - $facligne->total_ttc = $remise->amount_ttc; + $facligne->total_ht = -$remise->amount_ht; + $facligne->total_tva = -$remise->amount_tva; + $facligne->total_ttc = -$remise->amount_ttc; $lineid=$facligne->insert(); if ($lineid > 0) diff --git a/htdocs/includes/modules/facture/pdf_crabe.modules.php b/htdocs/includes/modules/facture/pdf_crabe.modules.php index 3bc815c1742..1d0e3a8730e 100644 --- a/htdocs/includes/modules/facture/pdf_crabe.modules.php +++ b/htdocs/includes/modules/facture/pdf_crabe.modules.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2004-2007 Laurent Destailleur