New: Some changes to support the type of line in entities.

This commit is contained in:
Laurent Destailleur 2009-03-10 18:41:22 +00:00
parent 89e2bf14fc
commit 4f51c6cc46
2 changed files with 20 additions and 12 deletions

View File

@ -141,15 +141,15 @@ if($_GET['action'] == 'deletepaiement')
if ($_POST['action'] == 'update' && ! $_POST['cancel']) if ($_POST['action'] == 'update' && ! $_POST['cancel'])
{ {
$datefacture = $db->idate(mktime(12, 0 , 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear'])); $datefacture = dol_mktime(12, 0 , 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
$date_echeance = $db->idate(mktime(12,0,0,$_POST['echmonth'],$_POST['echday'],$_POST['echyear'])); $date_echeance = dol_mktime(12,0,0,$_POST['echmonth'],$_POST['echday'],$_POST['echyear']);
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facture_fourn set '; $sql = 'UPDATE '.MAIN_DB_PREFIX.'facture_fourn set ';
$sql .= " facnumber='".addslashes(trim($_POST['facnumber']))."'"; $sql .= " facnumber='".addslashes(trim($_POST['facnumber']))."'";
$sql .= ", libelle='".addslashes(trim($_POST['libelle']))."'"; $sql .= ", libelle='".addslashes(trim($_POST['libelle']))."'";
$sql .= ", note='".$_POST['note']."'"; $sql .= ", note='".$_POST['note']."'";
$sql .= ", datef = '$datefacture'"; $sql .= ", datef = '".$db->idate($datefacture)."'";
$sql .= ", date_lim_reglement = '$date_echeance'"; $sql .= ", date_lim_reglement = '".$db->idate($date_echeance)."'";
$sql .= ' WHERE rowid = '.$_GET['facid'].' ;'; $sql .= ' WHERE rowid = '.$_GET['facid'].' ;';
$result = $db->query( $sql); $result = $db->query( $sql);
} }
@ -273,13 +273,15 @@ if ($_REQUEST['action'] == 'update_line')
$prod = new Product($db); $prod = new Product($db);
$prod->fetch($_POST['idprod']); $prod->fetch($_POST['idprod']);
$label = $prod->libelle; $label = $prod->libelle;
$type = $prod->type;
} }
else else
{ {
$label = $_POST['label']; $label = $_POST['label'];
$type = $_POST["type"]?$_POST["type"]:0;
} }
$facfou->updateline($_GET['ligne_id'], $label, $pu, $_POST['tauxtva'], $_POST['qty'], $_POST['idprod'], $price_base_type); $facfou->updateline($_GET['ligne_id'], $label, $pu, $_POST['tauxtva'], $_POST['qty'], $_POST['idprod'], $price_base_type, 0, $type);
} }
} }
@ -313,6 +315,7 @@ if ($_GET['action'] == 'add_ligne')
} }
$tvatx=get_default_tva($societe,$mysoc,$nv_prod->tva_tx); $tvatx=get_default_tva($societe,$mysoc,$nv_prod->tva_tx);
$type = $nv_prod->type;
$result=$facfou->addline($label, $nv_prod->fourn_pu, $tvatx, $_POST['qty'], $idprod); $result=$facfou->addline($label, $nv_prod->fourn_pu, $tvatx, $_POST['qty'], $idprod);
} }
@ -331,16 +334,20 @@ if ($_GET['action'] == 'add_ligne')
} }
else else
{ {
$type = $_POST["type"];
if (! empty($_POST['amount'])) if (! empty($_POST['amount']))
{ {
$ht = price2num($_POST['amount']); $ht = price2num($_POST['amount']);
$facfou->addline($_POST['label'], $ht, $tauxtva, $_POST['qty']); $price_base_type = 'HT';
//$desc, $pu, $txtva, $qty, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits='', $price_base_type='HT', $type=0)
$facfou->addline($_POST['label'], $ht, $tauxtva, $_POST['qty'], 0, 0, $datestart, $dateend, 0, 0, $price_base_type, $type);
} }
else else
{ {
$ttc = price2num($_POST['amountttc']); $ttc = price2num($_POST['amountttc']);
$ht = $ttc / (1 + ($tauxtva / 100)); $ht = $ttc / (1 + ($tauxtva / 100));
$facfou->addline($_POST['label'], $ht, $tauxtva, $_POST['qty']); $price_base_type = 'HT';
$facfou->addline($_POST['label'], $ht, $tauxtva, $_POST['qty'], 0, 0, $datestart, $dateend, 0, 0, $price_base_type, $type);
} }
} }
} }

View File

@ -482,14 +482,15 @@ class FactureFournisseur extends Facture
* \param ventil Code de ventilation comptable * \param ventil Code de ventilation comptable
* \param info_bits Bits de type de lignes * \param info_bits Bits de type de lignes
* \param price_base_type HT ou TTC * \param price_base_type HT ou TTC
* \param type Type of line (0=product, 1=service)
* \remarks Les parametres sont deja cens<EFBFBD> etre juste et avec valeurs finales a l'appel * \remarks Les parametres sont deja cens<EFBFBD> etre juste et avec valeurs finales a l'appel
* de cette methode. Aussi, pour le taux tva, il doit deja avoir ete d<EFBFBD>fini * de cette methode. Aussi, pour le taux tva, il doit deja avoir ete d<EFBFBD>fini
* par l'appelant par la methode get_default_tva(societe_vendeuse,societe_acheteuse,taux_produit) * par l'appelant par la methode get_default_tva(societe_vendeuse,societe_acheteuse,taux_produit)
* et le desc doit deja avoir la bonne valeur (a l'appelant de gerer le multilangue) * et le desc doit deja avoir la bonne valeur (a l'appelant de gerer le multilangue)
*/ */
function addline($desc, $pu, $txtva, $qty, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits='', $price_base_type='HT') function addline($desc, $pu, $txtva, $qty, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits='', $price_base_type='HT', $type=0)
{ {
dol_syslog("FactureFourn::Addline $desc,$pu,$qty,$txtva,$fk_product,$remise_percent,$date_start,$date_end,$ventil,$info_bits", LOG_DEBUG); dol_syslog("FactureFourn::Addline $desc,$pu,$qty,$txtva,$fk_product,$remise_percent,$date_start,$date_end,$ventil,$info_bits,$price_base_type,$type", LOG_DEBUG);
include_once(DOL_DOCUMENT_ROOT.'/lib/price.lib.php'); include_once(DOL_DOCUMENT_ROOT.'/lib/price.lib.php');
$this->db->begin(); $this->db->begin();
@ -508,7 +509,7 @@ class FactureFournisseur extends Facture
{ {
$idligne = $this->db->last_insert_id(MAIN_DB_PREFIX.'facture_fourn_det'); $idligne = $this->db->last_insert_id(MAIN_DB_PREFIX.'facture_fourn_det');
$result=$this->updateline($idligne, $desc, $pu, $txtva, $qty, $fk_product, $price_base_type); $result=$this->updateline($idligne, $desc, $pu, $txtva, $qty, $fk_product, $price_base_type, $info_bits, $type);
if ($result > 0) if ($result > 0)
{ {
$this->db->commit(); $this->db->commit();
@ -602,7 +603,7 @@ class FactureFournisseur extends Facture
else else
{ {
$this->error=$this->db->error(); $this->error=$this->db->error();
dol_syslog("Fournisseur.facture::updateline error=".$this->error); dol_syslog("Fournisseur.facture::updateline error=".$this->error, LOG_ERR);
return -1; return -1;
} }
} }