750 |
return -1; |
return -1; |
751 |
} |
} |
752 |
} |
} |
753 |
/** |
|
754 |
* Mets à jour une ligne de commande |
/** |
755 |
* |
* \brief Mets à jour une ligne de commande |
756 |
*/ |
* \param rowid Id de la ligne de facture |
757 |
function update_line($rowid, $desc, $pu, $qty, $remise_percent=0) |
* \param desc Description de la ligne |
758 |
|
* \param pu Prix unitaire |
759 |
|
* \param qty Quantité |
760 |
|
* \param remise_percent Pourcentage de remise de la ligne |
761 |
|
* \param tva_tx Taux TVA |
762 |
|
* \return int < 0 si erreur, > 0 si ok |
763 |
|
*/ |
764 |
|
function update_line($rowid, $desc, $pu, $qty, $remise_percent=0, $tva_tx) |
765 |
{ |
{ |
766 |
if ($this->brouillon) |
dolibarr_syslog("Commande::UpdateLine"); |
767 |
{ |
|
768 |
if (strlen(trim($qty))==0) |
if ($this->brouillon) |
769 |
{ |
{ |
770 |
$qty=1; |
$this->db->begin(); |
|
} |
|
|
$remise = 0; |
|
|
$price = round(ereg_replace(",",".",$pu), 2); |
|
|
$subprice = $price; |
|
|
if (trim(strlen($remise_percent)) > 0) |
|
|
{ |
|
|
$remise = round(($pu * $remise_percent / 100), 2); |
|
|
$price = $pu - $remise; |
|
|
} |
|
|
else |
|
|
{ |
|
|
$remise_percent=0; |
|
|
} |
|
771 |
|
|
772 |
$sql = "UPDATE ".MAIN_DB_PREFIX."commandedet SET description='$desc',price=$price,subprice=$subprice,remise=$remise,remise_percent=$remise_percent,qty=$qty WHERE rowid = $rowid ;"; |
if (strlen(trim($qty))==0) |
773 |
if ( $this->db->query( $sql) ) |
{ |
774 |
{ |
$qty=1; |
775 |
$this->update_price($this->id); |
} |
776 |
} |
$remise = 0; |
777 |
else |
$price = ereg_replace(",",".",$pu); |
778 |
{ |
$subprice = $price; |
779 |
dolibarr_print_error($this->db); |
if (trim(strlen($remise_percent)) > 0) |
780 |
} |
{ |
781 |
} |
$remise = round(($pu * $remise_percent / 100), 2); |
782 |
|
$price = $pu - $remise; |
783 |
|
} |
784 |
|
else |
785 |
|
{ |
786 |
|
$remise_percent=0; |
787 |
|
} |
788 |
|
|
789 |
|
$sql = "UPDATE ".MAIN_DB_PREFIX."commandedet"; |
790 |
|
$sql.= " SET description='".addslashes($desc)."',price=$price,subprice=$subprice,"; |
791 |
|
$sql.= " remise=$remise,remise_percent=$remise_percent,qty=$qty,tva_tx='".$tva_tx."'"; |
792 |
|
$sql.= " WHERE rowid = ".$rowid; |
793 |
|
|
794 |
|
$result=$this->db->query( $sql); |
795 |
|
if ( $result ) |
796 |
|
{ |
797 |
|
$this->update_price($this->id); |
798 |
|
|
799 |
|
$this->db->commit(); |
800 |
|
|
801 |
|
return $result; |
802 |
|
} |
803 |
|
else |
804 |
|
{ |
805 |
|
$this->db->rollback(); |
806 |
|
|
807 |
|
dolibarr_print_error($this->db); |
808 |
|
return -1; |
809 |
|
} |
810 |
|
|
811 |
|
} |
812 |
|
else { |
813 |
|
return -2; |
814 |
|
} |
815 |
} |
} |
816 |
|
|
817 |
|
|