Clean invoice class from deprecated fields.

Enhance initAsSpeciment function to contains all kind of lines.
This commit is contained in:
Laurent Destailleur 2011-11-23 13:39:55 +01:00
parent 3fd2a621f0
commit 31f198fa79
2 changed files with 103 additions and 79 deletions

View File

@ -55,7 +55,6 @@ $user->getrights();
print "***** ".$script_file." (".$version.") *****\n"; print "***** ".$script_file." (".$version.") *****\n";
// Start of transaction // Start of transaction
$db->begin(); $db->begin();
@ -63,6 +62,7 @@ require_once(DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php");
// Create invoice object // Create invoice object
$obj = new Facture($db); $obj = new Facture($db);
//$obj->initAsSpecimen();
$obj->ref = 'ABCDE'; $obj->ref = 'ABCDE';
$obj->socid = 4; // Put id of third party (rowid in llx_societe table) $obj->socid = 4; // Put id of third party (rowid in llx_societe table)

View File

@ -65,8 +65,10 @@ class Facture extends CommonObject
var $ref_int; var $ref_int;
//! 0=Standard invoice, 1=Replacement invoice, 2=Credit note invoice, 3=Deposit invoice, 4=Proforma invoice //! 0=Standard invoice, 1=Replacement invoice, 2=Credit note invoice, 3=Deposit invoice, 4=Proforma invoice
var $type; var $type;
var $amount;
var $remise; //var $amount;
var $remise_absolue;
var $remise_percent;
var $total_ht; var $total_ht;
var $total_tva; var $total_tva;
var $total_ttc; var $total_ttc;
@ -102,27 +104,26 @@ class Facture extends CommonObject
var $nbtodo; var $nbtodo;
var $nbtodolate; var $nbtodolate;
var $specimen; var $specimen;
//! Numero d'erreur de 512 a 1023
var $errno = 0;
/** /**
* Constructor * Constructor
* *
* @param DoliDB $DB Database handler * @param DoliDB $db Database handler
*/ */
function Facture($DB) function Facture($db)
{ {
$this->db = $DB; $this->db = $db;
$this->amount = 0; //$this->amount = 0;
$this->remise = 0; //$this->remise = 0;
$this->remise_percent = 0; $this->remise_percent = 0;
$this->remise_absolue = 0;
$this->total_ht = 0; $this->total_ht = 0;
$this->total_tva = 0; $this->total_tva = 0;
$this->total_ttc = 0; $this->total_ttc = 0;
$this->propalid = 0; $this->propalid = 0;
$this->fk_project = 0; $this->fk_project = 0;
$this->remise_exceptionnelle = 0;
} }
/** /**
@ -144,7 +145,7 @@ class Facture extends CommonObject
$this->ref_client=trim($this->ref_client); $this->ref_client=trim($this->ref_client);
$this->note=trim($this->note); $this->note=trim($this->note);
$this->note_public=trim($this->note_public); $this->note_public=trim($this->note_public);
if (! $this->remise) $this->remise = 0; //if (! $this->remise) $this->remise = 0;
if (! $this->cond_reglement_id) $this->cond_reglement_id = 0; if (! $this->cond_reglement_id) $this->cond_reglement_id = 0;
if (! $this->mode_reglement_id) $this->mode_reglement_id = 0; if (! $this->mode_reglement_id) $this->mode_reglement_id = 0;
$this->brouillon = 1; $this->brouillon = 1;
@ -183,17 +184,17 @@ class Facture extends CommonObject
$this->cond_reglement_id = $_facrec->cond_reglement_id; $this->cond_reglement_id = $_facrec->cond_reglement_id;
$this->mode_reglement = $_facrec->mode_reglement_id; $this->mode_reglement = $_facrec->mode_reglement_id;
$this->mode_reglement_id = $_facrec->mode_reglement_id; $this->mode_reglement_id = $_facrec->mode_reglement_id;
$this->amount = $_facrec->amount; //$this->amount = $_facrec->amount;
$this->remise_absolue = $_facrec->remise_absolue; $this->remise_absolue = $_facrec->remise_absolue;
$this->remise_percent = $_facrec->remise_percent; $this->remise_percent = $_facrec->remise_percent;
$this->remise = $_facrec->remise; //$this->remise = $_facrec->remise;
// Clean parametres // Clean parametres
if (! $this->type) $this->type = 0; if (! $this->type) $this->type = 0;
$this->ref_client=trim($this->ref_client); $this->ref_client=trim($this->ref_client);
$this->note=trim($this->note); $this->note=trim($this->note);
$this->note_public=trim($this->note_public); $this->note_public=trim($this->note_public);
if (! $this->remise) $this->remise = 0; //if (! $this->remise) $this->remise = 0;
if (! $this->mode_reglement_id) $this->mode_reglement_id = 0; if (! $this->mode_reglement_id) $this->mode_reglement_id = 0;
$this->brouillon = 1; $this->brouillon = 1;
} }
@ -203,8 +204,8 @@ class Facture extends CommonObject
// Insert into database // Insert into database
$socid = $this->socid; $socid = $this->socid;
$amount = $this->amount; //$amount = $this->amount;
$remise = $this->remise; //$remise = $this->remise;
$totalht = ($amount - $remise); $totalht = ($amount - $remise);
@ -214,7 +215,7 @@ class Facture extends CommonObject
$sql.= ", type"; $sql.= ", type";
$sql.= ", fk_soc"; $sql.= ", fk_soc";
$sql.= ", datec"; $sql.= ", datec";
$sql.= ", amount"; //$sql.= ", amount";
$sql.= ", remise_absolue"; $sql.= ", remise_absolue";
$sql.= ", remise_percent"; $sql.= ", remise_percent";
$sql.= ", datef"; $sql.= ", datef";
@ -230,7 +231,7 @@ class Facture extends CommonObject
$sql.= ", '".$this->type."'"; $sql.= ", '".$this->type."'";
$sql.= ", '".$socid."'"; $sql.= ", '".$socid."'";
$sql.= ", '".$this->db->idate($now)."'"; $sql.= ", '".$this->db->idate($now)."'";
$sql.= ", '".$totalht."'"; //$sql.= ", '".$totalht."'";
$sql.= ",".($this->remise_absolue>0?$this->remise_absolue:'NULL'); $sql.= ",".($this->remise_absolue>0?$this->remise_absolue:'NULL');
$sql.= ",".($this->remise_percent>0?$this->remise_percent:'NULL'); $sql.= ",".($this->remise_percent>0?$this->remise_percent:'NULL');
$sql.= ", '".$this->db->idate($this->date)."'"; $sql.= ", '".$this->db->idate($this->date)."'";
@ -484,7 +485,7 @@ class Facture extends CommonObject
if ($invertdetail) if ($invertdetail)
{ {
$facture->lines[$i]->subprice = -$facture->lines[$i]->subprice; $facture->lines[$i]->subprice = -$facture->lines[$i]->subprice;
$facture->lines[$i]->price = -$facture->lines[$i]->price; //$facture->lines[$i]->price = -$facture->lines[$i]->price;
$facture->lines[$i]->total_ht = -$facture->lines[$i]->total_ht; $facture->lines[$i]->total_ht = -$facture->lines[$i]->total_ht;
$facture->lines[$i]->total_tva = -$facture->lines[$i]->total_tva; $facture->lines[$i]->total_tva = -$facture->lines[$i]->total_tva;
$facture->lines[$i]->total_localtax1 = -$facture->lines[$i]->total_localtax1; $facture->lines[$i]->total_localtax1 = -$facture->lines[$i]->total_localtax1;
@ -619,7 +620,7 @@ class Facture extends CommonObject
$line->libelle = $object->lines[$i]->libelle; $line->libelle = $object->lines[$i]->libelle;
$line->desc = $object->lines[$i]->desc; $line->desc = $object->lines[$i]->desc;
$line->price = $object->lines[$i]->price; //$line->price = $object->lines[$i]->price;
$line->subprice = $object->lines[$i]->subprice; $line->subprice = $object->lines[$i]->subprice;
$line->total_ht = $object->lines[$i]->total_ht; $line->total_ht = $object->lines[$i]->total_ht;
$line->total_tva = $object->lines[$i]->total_tva; $line->total_tva = $object->lines[$i]->total_tva;
@ -774,7 +775,7 @@ class Facture extends CommonObject
$this->amount = $obj->amount; $this->amount = $obj->amount;
$this->remise_percent = $obj->remise_percent; $this->remise_percent = $obj->remise_percent;
$this->remise_absolue = $obj->remise_absolue; $this->remise_absolue = $obj->remise_absolue;
$this->remise = $obj->remise; //$this->remise = $obj->remise;
$this->total_ht = $obj->total; $this->total_ht = $obj->total;
$this->total_tva = $obj->tva; $this->total_tva = $obj->tva;
$this->total_localtax1 = $obj->localtax1; $this->total_localtax1 = $obj->localtax1;
@ -897,8 +898,8 @@ class Facture extends CommonObject
$line->fk_parent_line = $objp->fk_parent_line; $line->fk_parent_line = $objp->fk_parent_line;
// Ne plus utiliser // Ne plus utiliser
$line->price = $objp->price; //$line->price = $objp->price;
$line->remise = $objp->remise; //$line->remise = $objp->remise;
$this->lines[$i] = $line; $this->lines[$i] = $line;
@ -939,7 +940,7 @@ class Facture extends CommonObject
if (isset($this->amount)) $this->amount=trim($this->amount); if (isset($this->amount)) $this->amount=trim($this->amount);
if (isset($this->remise_percent)) $this->remise_percent=trim($this->remise_percent); if (isset($this->remise_percent)) $this->remise_percent=trim($this->remise_percent);
if (isset($this->remise_absolue)) $this->remise_absolue=trim($this->remise_absolue); if (isset($this->remise_absolue)) $this->remise_absolue=trim($this->remise_absolue);
if (isset($this->remise)) $this->remise=trim($this->remise); //if (isset($this->remise)) $this->remise=trim($this->remise);
if (isset($this->close_code)) $this->close_code=trim($this->close_code); if (isset($this->close_code)) $this->close_code=trim($this->close_code);
if (isset($this->close_note)) $this->close_note=trim($this->close_note); if (isset($this->close_note)) $this->close_note=trim($this->close_note);
if (isset($this->total_tva)) $this->tva=trim($this->total_tva); if (isset($this->total_tva)) $this->tva=trim($this->total_tva);
@ -977,7 +978,7 @@ class Facture extends CommonObject
$sql.= " amount=".(isset($this->amount)?$this->amount:"null").","; $sql.= " amount=".(isset($this->amount)?$this->amount:"null").",";
$sql.= " remise_percent=".(isset($this->remise_percent)?$this->remise_percent:"null").","; $sql.= " remise_percent=".(isset($this->remise_percent)?$this->remise_percent:"null").",";
$sql.= " remise_absolue=".(isset($this->remise_absolue)?$this->remise_absolue:"null").","; $sql.= " remise_absolue=".(isset($this->remise_absolue)?$this->remise_absolue:"null").",";
$sql.= " remise=".(isset($this->remise)?$this->remise:"null").","; //$sql.= " remise=".(isset($this->remise)?$this->remise:"null").",";
$sql.= " close_code=".(isset($this->close_code)?"'".$this->db->escape($this->close_code)."'":"null").","; $sql.= " close_code=".(isset($this->close_code)?"'".$this->db->escape($this->close_code)."'":"null").",";
$sql.= " close_note=".(isset($this->close_note)?"'".$this->db->escape($this->close_note)."'":"null").","; $sql.= " close_note=".(isset($this->close_note)?"'".$this->db->escape($this->close_note)."'":"null").",";
$sql.= " tva=".(isset($this->total_tva)?$this->total_tva:"null").","; $sql.= " tva=".(isset($this->total_tva)?$this->total_tva:"null").",";
@ -1078,8 +1079,8 @@ class Facture extends CommonObject
$facligne->info_bits=2; $facligne->info_bits=2;
// Ne plus utiliser // Ne plus utiliser
$facligne->price=-$remise->amount_ht; //$facligne->price=-$remise->amount_ht;
$facligne->remise=0; //$facligne->remise=0;
$facligne->total_ht = -$remise->amount_ht; $facligne->total_ht = -$remise->amount_ht;
$facligne->total_tva = -$remise->amount_tva; $facligne->total_tva = -$remise->amount_tva;
@ -2037,8 +2038,8 @@ class Facture extends CommonObject
$this->line->skip_update_total = $skip_update_total; $this->line->skip_update_total = $skip_update_total;
// A ne plus utiliser // A ne plus utiliser
$this->line->price=$price; //$this->line->price=$price;
$this->line->remise=$remise; //$this->line->remise=$remise;
$result=$this->line->update(); $result=$this->line->update();
if ($result > 0) if ($result > 0)
@ -3112,42 +3113,61 @@ class Facture extends CommonObject
$line->desc=$langs->trans("Description")." ".$xnbp; $line->desc=$langs->trans("Description")." ".$xnbp;
$line->qty=1; $line->qty=1;
$line->subprice=100; $line->subprice=100;
$line->price=100; //$line->price=100;
$line->tva_tx=19.6; $line->tva_tx=19.6;
$line->localtax1_tx=0; $line->localtax1_tx=0;
$line->localtax2_tx=0; $line->localtax2_tx=0;
if ($xnbp == 2) $line->remise_percent=0;
if ($xnbp == 1) // Qty is negative (product line)
{ {
$prodid = rand(1, $num_prods);
$line->fk_product=$prodids[$prodid];
$line->qty=-1;
$line->total_ht=-100;
$line->total_ttc=-119.6;
$line->total_tva=-19.6;
}
else if ($xnbp == 2) // UP is negative (free line)
{
$line->subprice=-100;
$line->total_ht=-100;
$line->total_ttc=-119.6;
$line->total_tva=-19.6;
$line->remise_percent=0;
}
else if ($xnbp == 3) // Discount is 50% (product line)
{
$prodid = rand(1, $num_prods);
$line->fk_product=$prodids[$prodid];
$line->total_ht=50; $line->total_ht=50;
$line->total_ttc=59.8; $line->total_ttc=59.8;
$line->total_tva=9.8; $line->total_tva=9.8;
$line->remise_percent=50; $line->remise_percent=50;
} }
else else // (product line)
{ {
$prodid = rand(1, $num_prods);
$line->fk_product=$prodids[$prodid];
$line->total_ht=100; $line->total_ht=100;
$line->total_ttc=119.6; $line->total_ttc=119.6;
$line->total_tva=19.6; $line->total_tva=19.6;
$line->remise_percent=00; $line->remise_percent=00;
} }
$prodid = rand(1, $num_prods);
$line->fk_product=$prodids[$prodid];
$this->lines[$xnbp]=$line; $this->lines[$xnbp]=$line;
$xnbp++;
$this->total_ht += $line->total_ht; $this->total_ht += $line->total_ht;
$this->total_tva += $line->total_tva; $this->total_tva += $line->total_tva;
$this->total_ttc += $line->total_ttc; $this->total_ttc += $line->total_ttc;
$xnbp++;
} }
// Add a line "offered" // Add a line "offered"
$line=new FactureLigne($this->db); $line=new FactureLigne($this->db);
$line->desc=$langs->trans("Description")." ".$xnbp; $line->desc=$langs->trans("Description")." (offered line)";
$line->qty=1; $line->qty=1;
$line->subprice=100; $line->subprice=100;
$line->price=100; //$line->price=100;
$line->tva_tx=19.6; $line->tva_tx=19.6;
$line->localtax1_tx=0; $line->localtax1_tx=0;
$line->localtax2_tx=0; $line->localtax2_tx=0;
@ -3159,8 +3179,7 @@ class Facture extends CommonObject
$line->fk_product=$prodids[$prodid]; $line->fk_product=$prodids[$prodid];
$this->lines[$xnbp]=$line; $this->lines[$xnbp]=$line;
$xnbp++;
$xnbp++;
} }
/** /**
@ -3277,7 +3296,7 @@ class Facture extends CommonObject
/** /**
* \class FactureLigne * \class FactureLigne
* \brief Classe permettant la gestion des lignes de factures * \brief Classe permettant la gestion des lignes de factures
* \remarks Gere des lignes de la table llx_facturedet * Gere des lignes de la table llx_facturedet
*/ */
class FactureLigne class FactureLigne
{ {
@ -3334,8 +3353,8 @@ class FactureLigne
var $date_end; var $date_end;
// Ne plus utiliser // Ne plus utiliser
var $price; // P.U. HT apres remise % de ligne (exemple 80) //var $price; // P.U. HT apres remise % de ligne (exemple 80)
var $remise; // Montant calcule de la remise % sur PU HT (exemple 20) //var $remise; // Montant calcule de la remise % sur PU HT (exemple 20)
// From llx_product // From llx_product
var $ref; // Product ref (deprecated) var $ref; // Product ref (deprecated)
@ -3348,17 +3367,19 @@ class FactureLigne
/** /**
* \brief Constructeur d'objets ligne de facture * Constructeur d'objets ligne de facture
* \param DB handler d'acces base de donnee *
* @param DoliDB $db Database handler
*/ */
function FactureLigne($DB) function FactureLigne($db)
{ {
$this->db= $DB ; $this->db = $db;
} }
/** /**
* \brief Recupere l'objet ligne de facture * Recupere l'objet ligne de facture
* \param rowid id de la ligne de facture *
* @param int $rowid id de la ligne de facture
*/ */
function fetch($rowid) function fetch($rowid)
{ {
@ -3403,8 +3424,8 @@ class FactureLigne
$this->rang = $objp->rang; $this->rang = $objp->rang;
// Ne plus utiliser // Ne plus utiliser
$this->price = $objp->price; //$this->price = $objp->price;
$this->remise = $objp->remise; //$this->remise = $objp->remise;
$this->ref = $objp->product_ref; // deprecated $this->ref = $objp->product_ref; // deprecated
$this->product_ref = $objp->product_ref; $this->product_ref = $objp->product_ref;
@ -3421,15 +3442,16 @@ class FactureLigne
} }
/** /**
* \brief Insert line in database * Insert line in database
* \param notrigger 1 no triggers *
* \return int <0 if KO, >0 if OK * @param int $notrigger 1 no triggers
* @return int <0 if KO, >0 if OK
*/ */
function insert($notrigger=0) function insert($notrigger=0)
{ {
global $langs,$user,$conf; global $langs,$user,$conf;
dol_syslog("FactureLigne::Insert rang=".$this->rang, LOG_DEBUG); dol_syslog(get_class($this)."::Insert rang=".$this->rang, LOG_DEBUG);
// Clean parameters // Clean parameters
$this->desc=trim($this->desc); $this->desc=trim($this->desc);
@ -3439,11 +3461,11 @@ class FactureLigne
if (empty($this->total_localtax1)) $this->total_localtax1=0; if (empty($this->total_localtax1)) $this->total_localtax1=0;
if (empty($this->total_localtax2)) $this->total_localtax2=0; if (empty($this->total_localtax2)) $this->total_localtax2=0;
if (empty($this->rang)) $this->rang=0; if (empty($this->rang)) $this->rang=0;
if (empty($this->remise)) $this->remise=0; //if (empty($this->remise)) $this->remise=0;
if (empty($this->remise_percent)) $this->remise_percent=0; if (empty($this->remise_percent)) $this->remise_percent=0;
if (empty($this->info_bits)) $this->info_bits=0; if (empty($this->info_bits)) $this->info_bits=0;
if (empty($this->subprice)) $this->subprice=0; if (empty($this->subprice)) $this->subprice=0;
if (empty($this->price)) $this->price=0; //if (empty($this->price)) $this->price=0;
if (empty($this->special_code)) $this->special_code=0; if (empty($this->special_code)) $this->special_code=0;
if (empty($this->fk_parent_line)) $this->fk_parent_line=0; if (empty($this->fk_parent_line)) $this->fk_parent_line=0;
@ -3455,7 +3477,7 @@ class FactureLigne
// Insertion dans base de la ligne // Insertion dans base de la ligne
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'facturedet'; $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'facturedet';
$sql.= ' (fk_facture, fk_parent_line, description, qty, tva_tx, localtax1_tx, localtax2_tx,'; $sql.= ' (fk_facture, fk_parent_line, description, qty, tva_tx, localtax1_tx, localtax2_tx,';
$sql.= ' fk_product, product_type, remise_percent, subprice, price, remise, fk_remise_except,'; $sql.= ' fk_product, product_type, remise_percent, subprice, fk_remise_except,';
$sql.= ' date_start, date_end, fk_code_ventilation, fk_export_compta, '; $sql.= ' date_start, date_end, fk_code_ventilation, fk_export_compta, ';
$sql.= ' rang, special_code,'; $sql.= ' rang, special_code,';
$sql.= ' info_bits, total_ht, total_tva, total_ttc, total_localtax1, total_localtax2)'; $sql.= ' info_bits, total_ht, total_tva, total_ttc, total_localtax1, total_localtax2)';
@ -3471,8 +3493,8 @@ class FactureLigne
$sql.= " ".$this->product_type.","; $sql.= " ".$this->product_type.",";
$sql.= " ".price2num($this->remise_percent).","; $sql.= " ".price2num($this->remise_percent).",";
$sql.= " ".price2num($this->subprice).","; $sql.= " ".price2num($this->subprice).",";
$sql.= " ".price2num($this->price).","; //$sql.= " ".price2num($this->price).",";
$sql.= " ".($this->remise?price2num($this->remise):'0').","; // Deprecated //$sql.= " ".($this->remise?price2num($this->remise):'0').","; // Deprecated
if ($this->fk_remise_except) $sql.= $this->fk_remise_except.","; if ($this->fk_remise_except) $sql.= $this->fk_remise_except.",";
else $sql.= 'null,'; else $sql.= 'null,';
if ($this->date_start) { $sql.= "'".$this->db->idate($this->date_start)."',"; } if ($this->date_start) { $sql.= "'".$this->db->idate($this->date_start)."',"; }
@ -3491,7 +3513,7 @@ class FactureLigne
$sql.= " ".price2num($this->total_localtax2); $sql.= " ".price2num($this->total_localtax2);
$sql.= ')'; $sql.= ')';
dol_syslog("FactureLigne::insert sql=".$sql); dol_syslog(get_class($this)."::insert sql=".$sql);
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
{ {
@ -3512,7 +3534,7 @@ class FactureLigne
if ($discount->fk_facture) if ($discount->fk_facture)
{ {
$this->error=$langs->trans("ErrorDiscountAlreadyUsed",$discount->id); $this->error=$langs->trans("ErrorDiscountAlreadyUsed",$discount->id);
dol_syslog("FactureLigne::insert Error ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::insert Error ".$this->error, LOG_ERR);
$this->db->rollback(); $this->db->rollback();
return -3; return -3;
} }
@ -3522,7 +3544,7 @@ class FactureLigne
if ($result < 0) if ($result < 0)
{ {
$this->error=$discount->error; $this->error=$discount->error;
dol_syslog("FactureLigne::insert Error ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::insert Error ".$this->error, LOG_ERR);
$this->db->rollback(); $this->db->rollback();
return -3; return -3;
} }
@ -3531,7 +3553,7 @@ class FactureLigne
else else
{ {
$this->error=$langs->trans("ErrorADiscountThatHasBeenRemovedIsIncluded"); $this->error=$langs->trans("ErrorADiscountThatHasBeenRemovedIsIncluded");
dol_syslog("FactureLigne::insert Error ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::insert Error ".$this->error, LOG_ERR);
$this->db->rollback(); $this->db->rollback();
return -3; return -3;
} }
@ -3539,7 +3561,7 @@ class FactureLigne
else else
{ {
$this->error=$discount->error; $this->error=$discount->error;
dol_syslog("FactureLigne::insert Error ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::insert Error ".$this->error, LOG_ERR);
$this->db->rollback(); $this->db->rollback();
return -3; return -3;
} }
@ -3562,7 +3584,7 @@ class FactureLigne
else else
{ {
$this->error=$this->db->error(); $this->error=$this->db->error();
dol_syslog("FactureLigne::insert Error ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::insert Error ".$this->error, LOG_ERR);
$this->db->rollback(); $this->db->rollback();
return -2; return -2;
} }
@ -3584,7 +3606,7 @@ class FactureLigne
if (empty($this->localtax2_tx)) $this->localtax2_tx=0; if (empty($this->localtax2_tx)) $this->localtax2_tx=0;
if (empty($this->total_localtax1)) $this->total_localtax1=0; if (empty($this->total_localtax1)) $this->total_localtax1=0;
if (empty($this->total_localtax2)) $this->total_localtax2=0; if (empty($this->total_localtax2)) $this->total_localtax2=0;
if (empty($this->remise)) $this->remise=0; //if (empty($this->remise)) $this->remise=0;
if (empty($this->remise_percent)) $this->remise_percent=0; if (empty($this->remise_percent)) $this->remise_percent=0;
if (empty($this->info_bits)) $this->info_bits=0; if (empty($this->info_bits)) $this->info_bits=0;
if (empty($this->product_type)) $this->product_type=0; if (empty($this->product_type)) $this->product_type=0;
@ -3599,8 +3621,8 @@ class FactureLigne
$sql = "UPDATE ".MAIN_DB_PREFIX."facturedet SET"; $sql = "UPDATE ".MAIN_DB_PREFIX."facturedet SET";
$sql.= " description='".$this->db->escape($this->desc)."'"; $sql.= " description='".$this->db->escape($this->desc)."'";
$sql.= ",subprice=".price2num($this->subprice).""; $sql.= ",subprice=".price2num($this->subprice)."";
$sql.= ",price=".price2num($this->price).""; //$sql.= ",price=".price2num($this->price)."";
$sql.= ",remise=".price2num($this->remise).""; //$sql.= ",remise=".price2num($this->remise)."";
$sql.= ",remise_percent=".price2num($this->remise_percent).""; $sql.= ",remise_percent=".price2num($this->remise_percent)."";
if ($this->fk_remise_except) $sql.= ",fk_remise_except=".$this->fk_remise_except; if ($this->fk_remise_except) $sql.= ",fk_remise_except=".$this->fk_remise_except;
else $sql.= ",fk_remise_except=null"; else $sql.= ",fk_remise_except=null";
@ -3653,7 +3675,8 @@ class FactureLigne
/** /**
* Delete line in database * Delete line in database
* @return int <0 si ko, >0 si ok *
* @return int <0 if KO, >0 if OK
*/ */
function delete() function delete()
{ {
@ -3662,7 +3685,7 @@ class FactureLigne
$this->db->begin(); $this->db->begin();
$sql = "DELETE FROM ".MAIN_DB_PREFIX."facturedet WHERE rowid = ".$this->rowid; $sql = "DELETE FROM ".MAIN_DB_PREFIX."facturedet WHERE rowid = ".$this->rowid;
dol_syslog("FactureLigne::delete sql=".$sql, LOG_DEBUG); dol_syslog(get_class($this)."::delete sql=".$sql, LOG_DEBUG);
if ($this->db->query($sql) ) if ($this->db->query($sql) )
{ {
// Appel des triggers // Appel des triggers
@ -3679,20 +3702,21 @@ class FactureLigne
else else
{ {
$this->error=$this->db->error()." sql=".$sql; $this->error=$this->db->error()." sql=".$sql;
dol_syslog("FactureLigne::delete Error ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::delete Error ".$this->error, LOG_ERR);
$this->db->rollback(); $this->db->rollback();
return -1; return -1;
} }
} }
/** /**
* \brief Mise a jour en base des champs total_xxx de ligne de facture * Mise a jour en base des champs total_xxx de ligne de facture
* \return int <0 si ko, >0 si ok *
* @return int <0 if KO, >0 if OK
*/ */
function update_total() function update_total()
{ {
$this->db->begin(); $this->db->begin();
dol_syslog("FactureLigne::update_total", LOG_DEBUG); dol_syslog(get_class($this)."::update_total", LOG_DEBUG);
// Clean parameters // Clean parameters
if (empty($this->total_localtax1)) $this->total_localtax1=0; if (empty($this->total_localtax1)) $this->total_localtax1=0;
@ -3718,7 +3742,7 @@ class FactureLigne
else else
{ {
$this->error=$this->db->error(); $this->error=$this->db->error();
dol_syslog("FactureLigne::update_total Error ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::update_total Error ".$this->error, LOG_ERR);
$this->db->rollback(); $this->db->rollback();
return -2; return -2;
} }