New: early development of multi-company module
This commit is contained in:
parent
432632a6e9
commit
d4f8716a89
@ -1,7 +1,8 @@
|
||||
<?php
|
||||
/* Copyright (C) 2002-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004-2007 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
|
||||
/* Copyright (C) 2002-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004-2007 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
|
||||
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -42,12 +43,12 @@ class PaiementFourn
|
||||
var $amount;
|
||||
var $total;
|
||||
var $author;
|
||||
var $paiementid; // Type de paiement. Stock� dans fk_paiement
|
||||
// de llx_paiement qui est li� aux types de
|
||||
var $paiementid; // Type de paiement. Stocke dans fk_paiement
|
||||
// de llx_paiement qui est lie aux types de
|
||||
//paiement de llx_c_paiement
|
||||
var $num_paiement; // Num�ro du CHQ, VIR, etc...
|
||||
var $num_paiement; // Numero du CHQ, VIR, etc...
|
||||
var $bank_account; // Id compte bancaire du paiement
|
||||
var $bank_line; // Id de la ligne d'�criture bancaire
|
||||
var $bank_line; // Id de la ligne d'ecriture bancaire
|
||||
var $note;
|
||||
var $statut; //Status of payment. 0 = unvalidated; 1 = validated
|
||||
// fk_paiement dans llx_paiement est l'id du type de paiement (7 pour CHQ, ...)
|
||||
@ -57,7 +58,7 @@ class PaiementFourn
|
||||
|
||||
/**
|
||||
* \brief Constructeur de la classe
|
||||
* \param DB handler acc�s base de donn�es
|
||||
* \param DB handler acces base de donnees
|
||||
*/
|
||||
|
||||
function PaiementFourn($DB)
|
||||
@ -210,9 +211,9 @@ class PaiementFourn
|
||||
|
||||
|
||||
/**
|
||||
* \brief Supprime un paiement ainsi que les lignes qu'il a g�n�r� dans comptes
|
||||
* Si le paiement porte sur un �criture compte qui est rapproch�e, on refuse
|
||||
* Si le paiement porte sur au moins une facture � "pay�e", on refuse
|
||||
* \brief Supprime un paiement ainsi que les lignes qu'il a genere dans comptes
|
||||
* Si le paiement porte sur un ecriture compte qui est rapprochee, on refuse
|
||||
* Si le paiement porte sur au moins une facture a "payee", on refuse
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function delete()
|
||||
@ -221,14 +222,14 @@ class PaiementFourn
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
// V�rifier si paiement porte pas sur une facture � l'�tat pay�e
|
||||
// Verifier si paiement porte pas sur une facture a l'etat payee
|
||||
// Si c'est le cas, on refuse la suppression
|
||||
$billsarray=$this->getBillsArray('paye=1');
|
||||
if (is_array($billsarray))
|
||||
{
|
||||
if (sizeof($billsarray))
|
||||
{
|
||||
$this->error='Impossible de supprimer un paiement portant sur au moins une facture � l\'�tat pay�';
|
||||
$this->error='Impossible de supprimer un paiement portant sur au moins une facture a l\'etat paye';
|
||||
$this->db->rollback();
|
||||
return -1;
|
||||
}
|
||||
@ -239,7 +240,7 @@ class PaiementFourn
|
||||
return -2;
|
||||
}
|
||||
|
||||
// V�rifier si paiement ne porte pas sur ecriture bancaire rapproch�e
|
||||
// Verifier si paiement ne porte pas sur ecriture bancaire rapprochee
|
||||
// Si c'est le cas, on refuse le delete
|
||||
if ($bank_line_id)
|
||||
{
|
||||
@ -247,7 +248,7 @@ class PaiementFourn
|
||||
$accline->fetch($bank_line_id);
|
||||
if ($accline->rappro)
|
||||
{
|
||||
$this->error='Impossible de supprimer un paiement qui a g�n�r� une �criture qui a �t� rapproch�e';
|
||||
$this->error='Impossible de supprimer un paiement qui a genere une ecriture qui a ete rapprochee';
|
||||
$this->db->rollback();
|
||||
return -3;
|
||||
}
|
||||
@ -269,7 +270,7 @@ class PaiementFourn
|
||||
return -3;
|
||||
}
|
||||
|
||||
// Supprimer l'�criture bancaire si paiement li� � �criture
|
||||
// Supprimer l'ecriture bancaire si paiement lie a ecriture
|
||||
if ($bank_line_id)
|
||||
{
|
||||
$accline = new AccountLine($this->db);
|
||||
@ -294,7 +295,7 @@ class PaiementFourn
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Mise a jour du lien entre le paiement et la ligne g�n�r�e dans llx_bank
|
||||
* \brief Mise a jour du lien entre le paiement et la ligne generee dans llx_bank
|
||||
* \param id_bank Id compte bancaire
|
||||
*/
|
||||
function update_fk_bank($id_bank)
|
||||
@ -413,8 +414,8 @@ class PaiementFourn
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Retourne le libell� du statut d'une facture (brouillon, valid�e, abandonn�e, pay�e)
|
||||
* \param mode 0=libell� long, 1=libell� court, 2=Picto + Libell� court, 3=Picto, 4=Picto + Libell� long, 5=Libell� court + Picto
|
||||
* \brief Retourne le libelle du statut d'une facture (brouillon, validee, abandonnee, payee)
|
||||
* \param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
|
||||
* \return string Libelle
|
||||
*/
|
||||
function getLibStatut($mode=0)
|
||||
@ -423,10 +424,10 @@ class PaiementFourn
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Renvoi le libell� d'un statut donne
|
||||
* \brief Renvoi le libelle d'un statut donne
|
||||
* \param status Statut
|
||||
* \param mode 0=libell� long, 1=libell� court, 2=Picto + Libell� court, 3=Picto, 4=Picto + Libell� long, 5=Libell� court + Picto
|
||||
* \return string Libell� du statut
|
||||
* \param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
|
||||
* \return string Libelle du statut
|
||||
*/
|
||||
function LibStatut($status,$mode=0)
|
||||
{
|
||||
@ -485,7 +486,7 @@ class PaiementFourn
|
||||
$text=$this->ref; // Sometimes ref contains label
|
||||
if (eregi('^\((.*)\)$',$text,$reg))
|
||||
{
|
||||
// Label générique car entre parenthèses. On l'affiche en le traduisant
|
||||
// Label g诩rique car entre parenth粥s. On l'affiche en le traduisant
|
||||
if ($reg[1]=='paiement') $reg[1]='Payment';
|
||||
$text=$langs->trans($reg[1]);
|
||||
}
|
||||
@ -505,7 +506,9 @@ class PaiementFourn
|
||||
{
|
||||
if(!empty($num) && $this->statut!=1)
|
||||
{
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'paiementfourn SET num_paiement = \''.$this->db->escape($num).'\' WHERE rowid = '.$this->id;
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."paiementfourn";
|
||||
$sql.= " SET num_paiement = '".$this->db->escape($num)."'";
|
||||
$sql.= " WHERE rowid = ".$this->id;
|
||||
|
||||
dol_syslog("PaiementFourn::update_num sql=".$sql);
|
||||
$result = $this->db->query($sql);
|
||||
@ -532,7 +535,10 @@ class PaiementFourn
|
||||
{
|
||||
if(!empty($date) && $this->statut!=1)
|
||||
{
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'paiementfourn SET datep = '.$this->db->idate($date).' WHERE rowid = '.$this->id;
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."paiementfourn";
|
||||
$sql.= " SET datep = ".$this->db->idate($date);
|
||||
$sql.= " WHERE rowid = ".$this->id;
|
||||
|
||||
dol_syslog("PaiementFourn::update_date sql=".$sql);
|
||||
$result = $this->db->query($sql);
|
||||
if ($result)
|
||||
|
||||
@ -82,13 +82,14 @@ class CommandeFournisseur extends Commande
|
||||
global $conf;
|
||||
|
||||
$sql = "SELECT c.rowid, c.ref, c.date_creation, c.fk_soc, c.fk_user_author, c.fk_statut, c.amount_ht, c.total_ht, c.total_ttc, c.tva,";
|
||||
$sql .= " ".$this->db->pdate("c.date_commande")." as date_commande, c.fk_projet as fk_project, c.remise_percent, c.source, c.fk_methode_commande,";
|
||||
$sql .= " c.note, c.note_public, c.model_pdf,";
|
||||
$sql .= " cm.libelle as methode_commande";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."commande_fournisseur as c";
|
||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_methode_commande_fournisseur as cm ON cm.rowid = c.fk_methode_commande";
|
||||
if ($ref) $sql.= " WHERE c.ref='".$ref."'";
|
||||
else $sql.= " WHERE c.rowid=".$id;
|
||||
$sql.= " ".$this->db->pdate("c.date_commande")." as date_commande, c.fk_projet as fk_project, c.remise_percent, c.source, c.fk_methode_commande,";
|
||||
$sql.= " c.note, c.note_public, c.model_pdf,";
|
||||
$sql.= " cm.libelle as methode_commande";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur as c";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_methode_commande_fournisseur as cm ON cm.rowid = c.fk_methode_commande";
|
||||
$sql.= " WHERE c.entity = ".$conf->entity;
|
||||
if ($ref) $sql.= " AND c.ref='".$ref."'";
|
||||
else $sql.= " AND c.rowid=".$id;
|
||||
|
||||
dol_syslog("CommandeFournisseur::fetch sql=".$sql,LOG_DEBUG);
|
||||
$resql = $this->db->query($sql) ;
|
||||
@ -255,8 +256,8 @@ class CommandeFournisseur extends Commande
|
||||
}
|
||||
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX."commande_fournisseur";
|
||||
$sql.= " SET ref='$num', fk_statut = 1, date_valid=".$this->db->idate(mktime()).", fk_user_valid=$user->id";
|
||||
$sql.= " WHERE rowid = $this->id AND fk_statut = 0";
|
||||
$sql.= " SET ref='".$num."', fk_statut = 1, date_valid=".$this->db->idate(mktime()).", fk_user_valid = ".$user->id;
|
||||
$sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0";
|
||||
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
@ -364,8 +365,8 @@ class CommandeFournisseur extends Commande
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne le libell<EFBFBD> du statut d'une commande (brouillon, valid<EFBFBD>e, abandonn<EFBFBD>e, pay<EFBFBD>e
|
||||
* \param mode 0=libell<EFBFBD> long, 1=libell<EFBFBD> court, 2=Picto + Libell<EFBFBD> court, 3=Picto, 4=Picto + Libell<EFBFBD> long
|
||||
* \brief Retourne le libelle du statut d'une commande (brouillon, validee, abandonnee, payee
|
||||
* \param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long
|
||||
* \return string Libelle
|
||||
*/
|
||||
function getLibStatut($mode=0)
|
||||
@ -374,10 +375,10 @@ class CommandeFournisseur extends Commande
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Renvoi le libell<EFBFBD> d'un statut donn<EFBFBD>
|
||||
* \brief Renvoi le libelle d'un statut donne
|
||||
* \param statut Id statut
|
||||
* \param mode 0=libell<EFBFBD> long, 1=libell<EFBFBD> court, 2=Picto + Libell<EFBFBD> court, 3=Picto, 4=Picto + Libell<EFBFBD> long, 5=Libell<EFBFBD> court + Picto
|
||||
* \return string Libell<EFBFBD> du statut
|
||||
* \param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
|
||||
* \return string Libelle du statut
|
||||
*/
|
||||
function LibStatut($statut,$mode=0)
|
||||
{
|
||||
@ -705,8 +706,26 @@ class CommandeFournisseur extends Commande
|
||||
/* On positionne en mode brouillon la commande */
|
||||
$this->brouillon = 1;
|
||||
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."commande_fournisseur (ref, fk_soc, date_creation, fk_user_author, fk_statut, source, model_pdf) ";
|
||||
$sql .= " VALUES ('',".$this->socid.", ".$this->db->idate(mktime()).", ".$user->id.",0,0,'".$conf->global->COMMANDE_SUPPLIER_ADDON_PDF."')";
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."commande_fournisseur (";
|
||||
$sql.= "ref";
|
||||
$sql.= ", entity";
|
||||
$sql.= ", fk_soc";
|
||||
$sql.= ", date_creation";
|
||||
$sql.= ", fk_user_author";
|
||||
$sql.= ", fk_statut";
|
||||
$sql.= ", source";
|
||||
$sql.= ", model_pdf";
|
||||
$sql.= ") ";
|
||||
$sql.= " VALUES (";
|
||||
$sql.= "''";
|
||||
$sql.= ", ".$conf->entity;
|
||||
$sql.= ", ".$this->socid;
|
||||
$sql.= ", ".$this->db->idate(mktime());
|
||||
$sql.= ", ".$user->id;
|
||||
$sql.= ", 0";
|
||||
$sql.= ", 0";
|
||||
$sql.= ", '".$conf->global->COMMANDE_SUPPLIER_ADDON_PDF."'";
|
||||
$sql.= ")";
|
||||
|
||||
dol_syslog("CommandeFournisseur::Create sql=".$sql);
|
||||
if ( $this->db->query($sql) )
|
||||
@ -940,7 +959,7 @@ class CommandeFournisseur extends Commande
|
||||
{
|
||||
$error = -1;
|
||||
}
|
||||
// Si module stock g<EFBFBD>r<EFBFBD> et que expedition faite depuis un entrepot
|
||||
// Si module stock gere et que expedition faite depuis un entrepot
|
||||
if (!$error && $conf->stock->enabled && $entrepot)
|
||||
{
|
||||
$mouv = new MouvementStock($this->db);
|
||||
@ -1059,8 +1078,9 @@ class CommandeFournisseur extends Commande
|
||||
*/
|
||||
function get_methodes_commande()
|
||||
{
|
||||
$sql = "SELECT rowid, libelle FROM ".MAIN_DB_PREFIX."c_methode_commande_fournisseur";
|
||||
$sql .= " WHERE active = 1";
|
||||
$sql = "SELECT rowid, libelle";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_methode_commande_fournisseur";
|
||||
$sql.= " WHERE active = 1";
|
||||
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
@ -1109,7 +1129,7 @@ class CommandeFournisseur extends Commande
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur";
|
||||
$sql.= " SET fk_statut = ".$statut;
|
||||
$sql.= " WHERE rowid = ".$this->id;
|
||||
$sql.= " AND (fk_statut = 3 OR fk_statut = 4)";
|
||||
$sql.= " AND fk_statut IN (3,4)";
|
||||
|
||||
dol_syslog("CommandeFournisseur::Livraison sql=".$sql);
|
||||
$resql=$this->db->query($sql);
|
||||
@ -1141,9 +1161,9 @@ class CommandeFournisseur extends Commande
|
||||
return $result ;
|
||||
}
|
||||
|
||||
/** \brief Cr<EFBFBD><EFBFBD> la commande depuis une propale existante
|
||||
\param user Utilisateur qui cr<EFBFBD>e
|
||||
\param propale_id id de la propale qui sert de mod<EFBFBD>le
|
||||
/** \brief Cree la commande depuis une propale existante
|
||||
\param user Utilisateur qui cree
|
||||
\param propale_id id de la propale qui sert de modele
|
||||
*/
|
||||
function updateFromCommandeClient($user, $idc, $comclientid)
|
||||
{
|
||||
@ -1219,13 +1239,16 @@ class CommandeFournisseur extends Commande
|
||||
*/
|
||||
function ReadApprobators()
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$this->approbs = array();
|
||||
|
||||
$sql = "SELECT u.name, u.firstname, u.email";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."user as u";
|
||||
$sql .= " , ".MAIN_DB_PREFIX."user_rights as ur";
|
||||
$sql .= " WHERE u.rowid = ur.fk_user";
|
||||
$sql .= " AND ur.fk_id = 184";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
|
||||
$sql.= " , ".MAIN_DB_PREFIX."user_rights as ur";
|
||||
$sql.= " WHERE u.rowid = ur.fk_user";
|
||||
$sql.= " AND u.entity = ".$conf->entity;
|
||||
$sql.= " AND ur.fk_id = 184";
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
@ -1345,18 +1368,24 @@ class CommandeFournisseur extends Commande
|
||||
|
||||
|
||||
/**
|
||||
* \brief Initialise la commande avec valeurs fictives al<EFBFBD>atoire
|
||||
* Sert <EFBFBD> g<EFBFBD>n<EFBFBD>rer une commande pour l'aperu des mod<EFBFBD>les ou demo
|
||||
* \brief Initialise la commande avec valeurs fictives aleatoire
|
||||
* Sert a generer une commande pour l'aperu des modeles ou demo
|
||||
*/
|
||||
function initAsSpecimen()
|
||||
{
|
||||
global $user,$langs;
|
||||
global $user,$langs,$conf;
|
||||
|
||||
dol_syslog("CommandeFournisseur::initAsSpecimen");
|
||||
|
||||
// Charge tableau des id de soci<EFBFBD>t<EFBFBD> socids
|
||||
// Charge tableau des id de societe socids
|
||||
$socids = array();
|
||||
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe WHERE fournisseur=1 LIMIT 10";
|
||||
|
||||
$sql = "SELECT rowid";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe";
|
||||
$sql.= " WHERE fournisseur=1";
|
||||
$sql.= " AND entity = ".$conf->entity;
|
||||
$sql.= " LIMIT 10";
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
@ -1373,7 +1402,12 @@ class CommandeFournisseur extends Commande
|
||||
|
||||
// Charge tableau des produits prodids
|
||||
$prodids = array();
|
||||
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."product WHERE envente=1";
|
||||
|
||||
$sql = "SELECT rowid";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."product";
|
||||
$sql.= " WHERE envente = 1";
|
||||
$sql.= " AND entity = ".$conf->entity;
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
@ -1387,7 +1421,7 @@ class CommandeFournisseur extends Commande
|
||||
}
|
||||
}
|
||||
|
||||
// Initialise param<EFBFBD>tres
|
||||
// Initialise parametres
|
||||
$this->id=0;
|
||||
$this->ref = 'SPECIMEN';
|
||||
$this->specimen=1;
|
||||
|
||||
@ -107,7 +107,7 @@ class FactureFournisseur extends Facture
|
||||
*/
|
||||
function create($user)
|
||||
{
|
||||
global $langs;
|
||||
global $langs,$conf;
|
||||
|
||||
// Clear parameters
|
||||
if (empty($this->date)) $this->date=gmmktime();
|
||||
@ -122,13 +122,29 @@ class FactureFournisseur extends Facture
|
||||
if (! $remise) $remise = 0 ;
|
||||
$totalht = ($amount - $remise);
|
||||
|
||||
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'facture_fourn (facnumber, libelle, fk_soc, datec, datef,';
|
||||
$sql.= ' note, note_public, fk_user_author, date_lim_reglement) ';
|
||||
$sql.= " VALUES ('".addslashes($number)."','".addslashes($this->libelle)."',";
|
||||
$sql.= " ".$this->socid.", ".$this->db->idate(gmmktime()).",'".$this->db->idate($this->date)."',";
|
||||
$sql.= " '".addslashes($this->note)."',";
|
||||
$sql.= " '".addslashes($this->note_public)."',";
|
||||
$sql.= " ".$user->id.",'".$this->db->idate($this->date_echeance)."');";
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."facture_fourn (";
|
||||
$sql.= "facnumber";
|
||||
$sql.= ", entity";
|
||||
$sql.= ", libelle";
|
||||
$sql.= ", fk_soc";
|
||||
$sql.= ", datec";
|
||||
$sql.= ", datef";
|
||||
$sql.= ", note";
|
||||
$sql.= ", note_public";
|
||||
$sql.= ", fk_user_author";
|
||||
$sql.= ", date_lim_reglement";
|
||||
$sql.= ")";
|
||||
$sql.= " VALUES (";
|
||||
$sql.= "'".addslashes($number)."'";
|
||||
$sql.= ", ".$conf->entity;
|
||||
$sql.= ", '".addslashes($this->libelle)."'";
|
||||
$sql.= ", ".$this->socid;
|
||||
$sql.= ", ".$this->db->idate(gmmktime());
|
||||
$sql.= ", '".$this->db->idate($this->date)."'";
|
||||
$sql.= ", '".addslashes($this->note)."'";
|
||||
$sql.= ", '".addslashes($this->note_public)."'";
|
||||
$sql.= ", ".$user->id.",'".$this->db->idate($this->date_echeance)."'";
|
||||
$sql.= ")";
|
||||
|
||||
dol_syslog("FactureFournisseur::create sql=".$sql, LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
@ -377,8 +393,8 @@ class FactureFournisseur extends Facture
|
||||
|
||||
|
||||
/**
|
||||
* \brief Tag la facture comme pay<EFBFBD>e compl<EFBFBD>tement
|
||||
* \param user Objet utilisateur qui modifie l'<EFBFBD>tat
|
||||
* \brief Tag la facture comme payee completement
|
||||
* \param user Objet utilisateur qui modifie l'etat
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function set_payed($user)
|
||||
@ -386,6 +402,7 @@ class FactureFournisseur extends Facture
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facture_fourn';
|
||||
$sql.= ' SET paye = 1';
|
||||
$sql.= ' WHERE rowid = '.$this->id;
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql)
|
||||
{
|
||||
@ -409,8 +426,8 @@ class FactureFournisseur extends Facture
|
||||
$this->db->begin();
|
||||
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn";
|
||||
$sql.= " SET fk_statut = 1, fk_user_valid = ".$user->id;
|
||||
$sql.= " WHERE rowid = ".$this->id;
|
||||
$sql.= " SET fk_statut = 1, fk_user_valid = ".$user->id;
|
||||
$sql.= " WHERE rowid = ".$this->id;
|
||||
|
||||
dol_syslog("FactureFournisseur::set_valid sql=".$sql, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
@ -660,7 +677,7 @@ class FactureFournisseur extends Facture
|
||||
$this->user_validation = $vuser;
|
||||
}
|
||||
$this->date_creation = $obj->datec;
|
||||
//$this->date_validation = $obj->datev; \todo La date de validation n'est pas encore g<EFBFBD>r<EFBFBD>e
|
||||
//$this->date_validation = $obj->datev; \todo La date de validation n'est pas encore geree
|
||||
}
|
||||
$this->db->free($result);
|
||||
}
|
||||
@ -685,12 +702,10 @@ class FactureFournisseur extends Facture
|
||||
$this->nbtodo=$this->nbtodolate=0;
|
||||
$sql = 'SELECT ff.rowid, ff.date_lim_reglement as datefin';
|
||||
$sql.= ' FROM '.MAIN_DB_PREFIX.'facture_fourn as ff';
|
||||
$sql.= ', '.MAIN_DB_PREFIX.'societe as s';
|
||||
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||
$sql.= ' WHERE ff.paye=0';
|
||||
$sql.= ' AND ff.fk_statut > 0';
|
||||
$sql.= " AND ff.fk_soc = s.rowid";
|
||||
$sql.= " AND s.entity = ".$conf->entity;
|
||||
$sql.= " AND ff.entity = ".$conf->entity;
|
||||
if ($user->societe_id) $sql.=' AND ff.fk_soc = '.$user->societe_id;
|
||||
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND ff.fk_soc = sc.fk_soc AND sc.fk_user = ".$user->id;
|
||||
|
||||
@ -739,16 +754,22 @@ class FactureFournisseur extends Facture
|
||||
|
||||
|
||||
/**
|
||||
* \brief Initialise la facture avec valeurs fictives al<EFBFBD>atoire
|
||||
* Sert <EFBFBD> g<EFBFBD>n<EFBFBD>rer une facture pour l'aperu des mod<EFBFBD>les ou demo
|
||||
* \brief Initialise la facture avec valeurs fictives aleatoire
|
||||
* Sert a generer une facture pour l'aperu des modeles ou demo
|
||||
*/
|
||||
function initAsSpecimen()
|
||||
{
|
||||
global $user,$langs;
|
||||
global $user,$langs,$conf;
|
||||
|
||||
// Charge tableau des id de societe socids
|
||||
$socids = array();
|
||||
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe WHERE fournisseur=1 LIMIT 10";
|
||||
|
||||
$sql = "SELECT rowid";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe";
|
||||
$sql.= " WHERE fournisseur = 1";
|
||||
$sql.= " AND entity = ".$conf->entity;
|
||||
$sql.= " LIMIT 10";
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
@ -765,7 +786,12 @@ class FactureFournisseur extends Facture
|
||||
|
||||
// Charge tableau des produits prodids
|
||||
$prodids = array();
|
||||
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."product WHERE envente=1";
|
||||
|
||||
$sql = "SELECT rowid";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."product";
|
||||
$sql.= " WHERE envente = 1";
|
||||
$sql.= " AND entity = ".$conf->entity;
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2006 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -144,10 +145,13 @@ class ProductFournisseur extends Product
|
||||
*/
|
||||
function remove_product_fournisseur_price($rowid)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."product_fournisseur_price";
|
||||
$sql.= " WHERE rowid = ".$rowid;
|
||||
|
||||
dol_syslog("ProductFournisseur::remove_product_fournisseur_price sql=".$sql);
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
@ -157,6 +161,8 @@ class ProductFournisseur extends Product
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."product_fournisseur as pf";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur_price as pfp ON pfp.fk_product_fournisseur = pf.rowid";
|
||||
$sql.= " WHERE pfp.rowid IS NULL";
|
||||
$sql.= " AND pf.entity = ".$conf->entity;
|
||||
|
||||
dol_syslog("ProductFournisseur::remove_product_fournisseur_price sql=".$sql);
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql)
|
||||
@ -169,6 +175,7 @@ class ProductFournisseur extends Product
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."product_fournisseur";
|
||||
$sql.= " WHERE rowid = ".$rowidpf;
|
||||
|
||||
dol_syslog("ProductFournisseur::remove_product_fournisseur_price sql=".$sql);
|
||||
$resql2 = $this->db->query($sql);
|
||||
if (! $resql2)
|
||||
@ -331,13 +338,16 @@ class ProductFournisseur extends Product
|
||||
*/
|
||||
function UpdateBuyPriceByFournRef($id_fourn, $product_fourn_ref, $qty, $buyprice, $user, $price_base_type='HT')
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$result=0;
|
||||
|
||||
// Recherche id produit pour cette ref et fournisseur
|
||||
$sql = "SELECT fk_product";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."product_fournisseur";
|
||||
$sql.= " WHERE fk_soc ='".$id_fourn."'";
|
||||
$sql.= " AND ref_fourn='".$product_fourn_ref."'";
|
||||
$sql.= " WHERE fk_soc = '".$id_fourn."'";
|
||||
$sql.= " AND ref_fourn = '".$product_fourn_ref."'";
|
||||
$sql.= " AND entity = ".$conf->entity;
|
||||
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
@ -360,10 +370,13 @@ class ProductFournisseur extends Product
|
||||
*/
|
||||
function fetch_fourn_data($fournid)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$sql = "SELECT rowid, ref_fourn";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."product_fournisseur ";
|
||||
$sql.= " WHERE fk_product = ".$this->id;
|
||||
$sql.= " AND fk_soc = ".$fournid;
|
||||
$sql.= " AND entity = ".$conf->entity;
|
||||
|
||||
dol_syslog("Product::fetch_fourn_data sql=".$sql);
|
||||
$result = $this->db->query($sql) ;
|
||||
@ -391,8 +404,10 @@ class ProductFournisseur extends Product
|
||||
{
|
||||
$sql = "SELECT pfp.rowid, pfp.price, pfp.quantity, pfp.unitprice";
|
||||
$sql.= ", pf.rowid as product_fourn_id, pf.fk_soc, pf.ref_fourn, pf.fk_product";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price as pfp, ".MAIN_DB_PREFIX."product_fournisseur as pf";
|
||||
$sql.= " WHERE pfp.rowid = ".$rowid." AND pf.rowid = pfp.fk_product_fournisseur";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price as pfp";
|
||||
$sql.= ", ".MAIN_DB_PREFIX."product_fournisseur as pf";
|
||||
$sql.= " WHERE pfp.rowid = ".$rowid;
|
||||
$sql.= " AND pf.rowid = pfp.fk_product_fournisseur";
|
||||
|
||||
dol_syslog("Product::fetch_product_fournisseur_price sql=".$sql, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql) ;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2006 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -21,7 +21,7 @@
|
||||
/**
|
||||
* \file htdocs/includes/modules/supplier_order/mod_commande_fournisseur_muguet.php
|
||||
* \ingroup commande
|
||||
* \brief Fichier contenant la classe du mod<EFBFBD>le de num<EFBFBD>rotation de r<EFBFBD>f<EFBFBD>rence de commande fournisseur Muguet
|
||||
* \brief Fichier contenant la classe du modele de numerotation de reference de commande fournisseur Muguet
|
||||
* \version $Id$
|
||||
*/
|
||||
|
||||
@ -29,7 +29,7 @@ require_once(DOL_DOCUMENT_ROOT ."/includes/modules/supplier_order/modules_comman
|
||||
|
||||
|
||||
/** \class mod_commande_fournisseur_muguet
|
||||
\brief Classe du mod<EFBFBD>le de num<EFBFBD>rotation de r<EFBFBD>f<EFBFBD>rence de commande fournisseur Muguet
|
||||
\brief Classe du modele de numerotation de reference de commande fournisseur Muguet
|
||||
*/
|
||||
class mod_commande_fournisseur_muguet extends ModeleNumRefSuppliersOrders
|
||||
{
|
||||
@ -63,10 +63,13 @@ class mod_commande_fournisseur_muguet extends ModeleNumRefSuppliersOrders
|
||||
*/
|
||||
function canBeActivated()
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$coyymm='';
|
||||
|
||||
$sql = "SELECT MAX(ref)";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur";
|
||||
$sql.= " WHERE entity = ".$conf->entity;
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
@ -91,15 +94,16 @@ class mod_commande_fournisseur_muguet extends ModeleNumRefSuppliersOrders
|
||||
*/
|
||||
function getNextValue($objsoc=0,$object='')
|
||||
{
|
||||
global $db;
|
||||
global $db,$conf;
|
||||
|
||||
// D'abord on recupere la valeur max (reponse immediate car champ indexe)
|
||||
$posindice=8;
|
||||
$sql = "SELECT MAX(0+SUBSTRING(ref,".$posindice.")) as max";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur";
|
||||
$sql.= " WHERE ref like '".$this->prefix."%'";
|
||||
|
||||
$resql=$db->query($sql);
|
||||
$sql.= " WHERE ref like '".$this->prefix."%'";
|
||||
$sql.= " AND entity = ".$conf->entity;
|
||||
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$obj = $db->fetch_object($resql);
|
||||
@ -116,7 +120,7 @@ class mod_commande_fournisseur_muguet extends ModeleNumRefSuppliersOrders
|
||||
}
|
||||
|
||||
|
||||
/** \brief Renvoie la r<EFBFBD>f<EFBFBD>rence de commande suivante non utilis<EFBFBD>e
|
||||
/** \brief Renvoie la reference de commande suivante non utilisee
|
||||
* \param objsoc Object third party
|
||||
* \param object Object
|
||||
* \return string Texte descripif
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2003-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2007 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -31,7 +31,7 @@ require_once(DOL_DOCUMENT_ROOT ."/includes/modules/supplier_order/modules_comman
|
||||
|
||||
/**
|
||||
\class mod_commande_fournisseur_orchidee
|
||||
\brief Classe du modèle de numérotation de référence de commande fournisseur Orchidee
|
||||
\brief Classe du modèle de numerotation de référence de commande fournisseur Orchidee
|
||||
*/
|
||||
class mod_commande_fournisseur_orchidee extends ModeleNumRefSuppliersOrders
|
||||
{
|
||||
@ -40,7 +40,7 @@ class mod_commande_fournisseur_orchidee extends ModeleNumRefSuppliersOrders
|
||||
var $nom = 'Orchidee';
|
||||
|
||||
|
||||
/** \brief Renvoi la description du modele de numérotation
|
||||
/** \brief Renvoi la description du modele de numerotation
|
||||
* \return string Texte descripif
|
||||
*/
|
||||
function info()
|
||||
@ -78,7 +78,7 @@ class mod_commande_fournisseur_orchidee extends ModeleNumRefSuppliersOrders
|
||||
return $texte;
|
||||
}
|
||||
|
||||
/** \brief Renvoi un exemple de numérotation
|
||||
/** \brief Renvoi un exemple de numerotation
|
||||
* \return string Example
|
||||
*/
|
||||
function getExample()
|
||||
@ -123,8 +123,8 @@ class mod_commande_fournisseur_orchidee extends ModeleNumRefSuppliersOrders
|
||||
}
|
||||
|
||||
|
||||
/** \brief Renvoie la référence de commande suivante non utilisée
|
||||
* \param objsoc Objet société
|
||||
/** \brief Renvoie la référence de commande suivante non utilisee
|
||||
* \param objsoc Objet societe
|
||||
* \param commande Objet commande
|
||||
* \return string Texte descripif
|
||||
*/
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
/* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2004-2005 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
||||
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -41,7 +42,7 @@ class ModelePDFSuppliersOrders extends FPDF
|
||||
var $error='';
|
||||
|
||||
/**
|
||||
\brief Renvoi le dernier message d'erreur de cr<EFBFBD>ation de PDF de commande
|
||||
\brief Renvoi le dernier message d'erreur de creation de PDF de commande
|
||||
*/
|
||||
function pdferror()
|
||||
{
|
||||
@ -49,15 +50,19 @@ class ModelePDFSuppliersOrders extends FPDF
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Renvoi la liste des mod<EFBFBD>les actifs
|
||||
* \brief Renvoi la liste des modeles actifs
|
||||
*/
|
||||
function liste_modeles($db)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$type='supplier_order';
|
||||
$liste=array();
|
||||
$sql ="SELECT nom as id, nom as lib";
|
||||
$sql.=" FROM ".MAIN_DB_PREFIX."document_model";
|
||||
$sql.=" WHERE type = '".$type."'";
|
||||
|
||||
$sql = "SELECT nom as id, nom as lib";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."document_model";
|
||||
$sql.= " WHERE type = '".$type."'";
|
||||
$sql.= " AND entity = ".$conf->entity;
|
||||
|
||||
$resql = $db->query($sql);
|
||||
if ($resql)
|
||||
@ -85,7 +90,7 @@ class ModelePDFSuppliersOrders extends FPDF
|
||||
|
||||
/**
|
||||
\class ModeleNumRefSuppliersOrders
|
||||
\brief Classe m<EFBFBD>re des mod<EFBFBD>les de num<EFBFBD>rotation des r<EFBFBD>f<EFBFBD>rences de commandes fournisseurs
|
||||
\brief Classe mere des modeles de numerotation des references de commandes fournisseurs
|
||||
*/
|
||||
|
||||
class ModeleNumRefSuppliersOrders
|
||||
@ -100,7 +105,7 @@ class ModeleNumRefSuppliersOrders
|
||||
return true;
|
||||
}
|
||||
|
||||
/** \brief Renvoi la description par defaut du modele de num<EFBFBD>rotation
|
||||
/** \brief Renvoi la description par defaut du modele de numerotation
|
||||
* \return string Texte descripif
|
||||
*/
|
||||
function info()
|
||||
@ -120,8 +125,8 @@ class ModeleNumRefSuppliersOrders
|
||||
return $langs->trans("NoExample");
|
||||
}
|
||||
|
||||
/** \brief Test si les num<EFBFBD>ros d<EFBFBD>j<EFBFBD> en vigueur dans la base ne provoquent pas de
|
||||
* de conflits qui empechera cette num<EFBFBD>rotation de fonctionner.
|
||||
/** \brief Test si les numeros deja en vigueur dans la base ne provoquent pas de
|
||||
* de conflits qui empechera cette numerotation de fonctionner.
|
||||
* \return boolean false si conflit, true si ok
|
||||
*/
|
||||
function canBeActivated()
|
||||
@ -129,7 +134,7 @@ class ModeleNumRefSuppliersOrders
|
||||
return true;
|
||||
}
|
||||
|
||||
/** \brief Renvoi prochaine valeur attribu<EFBFBD>e
|
||||
/** \brief Renvoi prochaine valeur attribuee
|
||||
* \return string Valeur
|
||||
*/
|
||||
function getNextValue()
|
||||
@ -156,9 +161,9 @@ class ModeleNumRefSuppliersOrders
|
||||
|
||||
/**
|
||||
* \brief Create object on disk
|
||||
* \param db objet base de donn<EFBFBD>e
|
||||
* \param db objet base de donnee
|
||||
* \param deliveryid id object
|
||||
* \param modele force le modele <EFBFBD> utiliser ('' to not force)
|
||||
* \param modele force le modele a utiliser ('' to not force)
|
||||
* \param outputlangs objet lang a utiliser pour traduction
|
||||
* \return int 0 si KO, 1 si OK
|
||||
*/
|
||||
@ -169,7 +174,7 @@ function supplier_order_pdf_create($db, $comid, $modele,$outputlangs)
|
||||
|
||||
$dir = DOL_DOCUMENT_ROOT."//includes/modules/supplier_order/pdf/";
|
||||
|
||||
// Positionne modele sur le nom du modele de commande fournisseur <EFBFBD> utiliser
|
||||
// Positionne modele sur le nom du modele de commande fournisseur a utiliser
|
||||
if (! strlen($modele))
|
||||
{
|
||||
if (defined("COMMANDE_SUPPLIER_ADDON_PDF") && COMMANDE_SUPPLIER_ADDON_PDF)
|
||||
|
||||
@ -25,6 +25,8 @@ ALTER TABLE llx_mailing ADD COLUMN entity integer DEFAULT 1 NOT NULL AFTER titre
|
||||
ALTER TABLE llx_categorie ADD COLUMN entity integer DEFAULT 1 NOT NULL AFTER label;
|
||||
ALTER TABLE llx_propal ADD COLUMN entity integer DEFAULT 1 NOT NULL AFTER ref;
|
||||
ALTER TABLE llx_commande ADD COLUMN entity integer DEFAULT 1 NOT NULL AFTER ref;
|
||||
ALTER TABLE llx_commande_fournisseur ADD COLUMN entity integer DEFAULT 1 NOT NULL AFTER ref;
|
||||
ALTER TABLE llx_product_fournisseur ADD COLUMN entity integer DEFAULT 1 NOT NULL AFTER ref_fourn;
|
||||
|
||||
ALTER TABLE llx_rights_def DROP PRIMARY KEY;
|
||||
ALTER TABLE llx_user_param DROP INDEX fk_user;
|
||||
@ -38,6 +40,9 @@ ALTER TABLE llx_menu DROP INDEX idx_menu_uk_menu;
|
||||
ALTER TABLE llx_categorie DROP INDEX uk_categorie_ref;
|
||||
ALTER TABLE llx_propal DROP INDEX ref;
|
||||
ALTER TABLE llx_commande DROP INDEX ref;
|
||||
ALTER TABLE llx_commande_fournisseur DROP INDEX uk_commande_fournisseur_ref;
|
||||
ALTER TABLE llx_product_fournisseur DROP INDEX fk_product;
|
||||
ALTER TABLE llx_product_fournisseur DROP INDEX fk_soc;
|
||||
|
||||
ALTER TABLE llx_rights_def ADD PRIMARY KEY (id, entity);
|
||||
ALTER TABLE llx_user_param ADD UNIQUE INDEX uk_user_param (fk_user,param,entity);
|
||||
@ -50,4 +55,8 @@ ALTER TABLE llx_document_model ADD UNIQUE INDEX uk_document_model (nom, type, en
|
||||
ALTER TABLE llx_menu ADD UNIQUE INDEX idx_menu_uk_menu (menu_handler, fk_menu, url, entity);
|
||||
ALTER TABLE llx_categorie ADD UNIQUE INDEX uk_categorie_ref (label, type, entity);
|
||||
ALTER TABLE llx_propal ADD UNIQUE INDEX uk_propal_ref (ref, entity);
|
||||
ALTER TABLE llx_commande ADD UNIQUE INDEX uk_commande_ref (ref, entity);
|
||||
ALTER TABLE llx_commande ADD UNIQUE INDEX uk_commande_ref (ref, entity);
|
||||
ALTER TABLE llx_commande_fournisseur ADD UNIQUE INDEX uk_commande_fournisseur_ref (ref, fk_soc, entity);
|
||||
ALTER TABLE llx_product_fournisseur ADD UNIQUE INDEX uk_product_fournisseur_ref (ref_fourn, fk_soc, entity);
|
||||
ALTER TABLE llx_product_fournisseur ADD INDEX idx_product_fourn_fk_product (fk_product, entity);
|
||||
ALTER TABLE llx_product_fournisseur ADD INDEX idx_product_fourn_fk_soc (fk_soc, entity);
|
||||
@ -1,5 +1,6 @@
|
||||
-- ============================================================================
|
||||
-- Copyright (C) 2006-2007 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
-- Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
|
||||
--
|
||||
-- This program is free software; you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU General Public License as published by
|
||||
@ -22,7 +23,7 @@
|
||||
-- Supprimme orphelins pour permettre montée de la clé
|
||||
-- V4 DELETE llx_commande_fournisseur FROM llx_commande_fournisseur LEFT JOIN llx_societe ON llx_commande_fournisseur.fk_soc = llx_societe.rowid WHERE llx_societe.rowid IS NULL;
|
||||
|
||||
ALTER TABLE llx_commande_fournisseur ADD UNIQUE INDEX uk_commande_fournisseur_ref (ref, fk_soc);
|
||||
ALTER TABLE llx_commande_fournisseur ADD UNIQUE INDEX uk_commande_fournisseur_ref (ref, fk_soc, entity);
|
||||
|
||||
ALTER TABLE llx_commande_fournisseur ADD INDEX idx_commande_fournisseur_fk_soc (fk_soc);
|
||||
ALTER TABLE llx_commande_fournisseur ADD CONSTRAINT fk_commande_fournisseur_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid);
|
||||
|
||||
@ -24,16 +24,17 @@ create table llx_commande_fournisseur
|
||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||
tms timestamp,
|
||||
fk_soc integer NOT NULL,
|
||||
fk_projet integer DEFAULT 0, -- projet auquel est rattache la commande
|
||||
ref varchar(30) NOT NULL, -- order number
|
||||
fk_projet integer DEFAULT 0, -- projet auquel est rattache la commande
|
||||
ref varchar(30) NOT NULL, -- order number
|
||||
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
||||
|
||||
date_creation datetime, -- date de creation
|
||||
date_valid datetime, -- date de validation
|
||||
date_cloture datetime, -- date de cloture
|
||||
date_commande date, -- date de la commande
|
||||
fk_user_author integer, -- createur de la commande
|
||||
fk_user_valid integer, -- valideur de la commande
|
||||
fk_user_cloture integer, -- auteur cloture
|
||||
date_creation datetime, -- date de creation
|
||||
date_valid datetime, -- date de validation
|
||||
date_cloture datetime, -- date de cloture
|
||||
date_commande date, -- date de la commande
|
||||
fk_user_author integer, -- createur de la commande
|
||||
fk_user_valid integer, -- valideur de la commande
|
||||
fk_user_cloture integer, -- auteur cloture
|
||||
source smallint NOT NULL,
|
||||
fk_statut smallint default 0,
|
||||
amount_ht real default 0,
|
||||
@ -48,3 +49,11 @@ create table llx_commande_fournisseur
|
||||
|
||||
fk_methode_commande integer default 0
|
||||
)type=innodb;
|
||||
|
||||
--
|
||||
-- List of codes for the field entity
|
||||
--
|
||||
-- 1 : first company order
|
||||
-- 2 : second company order
|
||||
-- 3 : etc...
|
||||
--
|
||||
@ -22,5 +22,6 @@
|
||||
|
||||
|
||||
ALTER TABLE llx_product ADD UNIQUE uk_product_ref (ref, entity);
|
||||
|
||||
ALTER TABLE llx_product ADD INDEX idx_product_barcode (barcode);
|
||||
ALTER TABLE llx_product ADD INDEX idx_product_import_key (import_key);
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
-- ============================================================================
|
||||
-- Copyright (C) 2002-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
-- Copyright (C) 2004-2005 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
-- Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
|
||||
--
|
||||
-- This program is free software; you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU General Public License as published by
|
||||
@ -20,6 +21,7 @@
|
||||
-- ============================================================================
|
||||
|
||||
|
||||
ALTER TABLE llx_product_fournisseur ADD INDEX idx_product_fourn_fk_product (fk_product);
|
||||
ALTER TABLE llx_product_fournisseur ADD UNIQUE INDEX uk_product_fournisseur_ref (ref_fourn, fk_soc, entity);
|
||||
|
||||
ALTER TABLE llx_product_fournisseur ADD INDEX idx_product_fourn_fk_soc (fk_soc);
|
||||
ALTER TABLE llx_product_fournisseur ADD INDEX idx_product_fourn_fk_product (fk_product, entity);
|
||||
ALTER TABLE llx_product_fournisseur ADD INDEX idx_product_fourn_fk_soc (fk_soc, entity);
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
-- ============================================================================
|
||||
-- Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
-- Copyright (C) 2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
-- Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
|
||||
--
|
||||
-- This program is free software; you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU General Public License as published by
|
||||
@ -27,6 +28,14 @@ create table llx_product_fournisseur
|
||||
fk_product integer,
|
||||
fk_soc integer,
|
||||
ref_fourn varchar(30),
|
||||
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
||||
fk_user_author integer
|
||||
)type=innodb;
|
||||
|
||||
--
|
||||
-- List of codes for the field entity
|
||||
--
|
||||
-- 1 : first company product
|
||||
-- 2 : second company product
|
||||
-- 3 : etc...
|
||||
--
|
||||
Loading…
Reference in New Issue
Block a user