New: Ajout de la forme juridique dans la configuration globale de sa société (requis dans les factures).

This commit is contained in:
Laurent Destailleur 2005-08-20 14:36:32 +00:00
parent 76d39158ca
commit 6b64aa40ac
8 changed files with 298 additions and 147 deletions

View File

@ -35,108 +35,186 @@ if (!$user->admin)
accessforbidden(); accessforbidden();
if (isset($_POST["action"]) && $_POST["action"] == 'update') if ( (isset($_POST["action"]) && $_POST["action"] == 'update')
|| (isset($_POST["action"]) && $_POST["action"] == 'updateedit') )
{ {
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_NOM",$_POST["nom"]); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_NOM",$_POST["nom"]);
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ADRESSE",$_POST["address"]); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_ADRESSE",$_POST["address"]);
dolibarr_set_const($db, "MAIN_INFO_SOCIETE_PAYS",$_POST["pays_id"]); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_PAYS",$_POST["pays_id"]);
dolibarr_set_const($db, "MAIN_MONNAIE",$_POST["currency"]); dolibarr_set_const($db, "MAIN_INFO_SOCIETE_FORME_JURIDIQUE",$_POST["forme_juridique_code"]);
dolibarr_set_const($db, "MAIN_INFO_CAPITAL",$_POST["capital"]); dolibarr_set_const($db, "MAIN_MONNAIE",$_POST["currency"]);
dolibarr_set_const($db, "MAIN_INFO_CAPITAL",$_POST["capital"]);
dolibarr_set_const($db, "MAIN_INFO_SIREN",$_POST["siren"]); dolibarr_set_const($db, "MAIN_INFO_SIREN",$_POST["siren"]);
dolibarr_set_const($db, "MAIN_INFO_SIRET",$_POST["siret"]); dolibarr_set_const($db, "MAIN_INFO_SIRET",$_POST["siret"]);
dolibarr_set_const($db, "MAIN_INFO_APE",$_POST["ape"]); dolibarr_set_const($db, "MAIN_INFO_APE",$_POST["ape"]);
dolibarr_set_const($db, "MAIN_INFO_TVAINTRA",$_POST["tva"]); dolibarr_set_const($db, "MAIN_INFO_TVAINTRA",$_POST["tva"]);
Header("Location: index.php"); if ($_POST['action'] != 'updateedit')
{
Header("Location: index.php");
}
} }
llxHeader(); llxHeader();
$form = new Form($db); $form = new Form($db);
$countrynotdefined='<font class="error">'.$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')</font>';
print_titre($langs->trans("GlobalSetup")); print_titre($langs->trans("GlobalSetup"));
print "<br>\n"; print "<br>\n";
if (isset($_GET["action"]) && $_GET["action"] == 'edit') if ((isset($_GET["action"]) && $_GET["action"] == 'edit')
|| (isset($_POST["action"]) && $_POST["action"] == 'updateedit') )
{ {
/* /*
* Edition des paramètres * Edition des paramètres
*/ */
print '<form method="post" action="index.php">'; print '
print '<input type="hidden" name="action" value="update">'; <script language="javascript" type="text/javascript">
<!--
function save_refresh()
{
document.form_index.action.value="updateedit";
document.form_index.submit();
// location.href = "index.php?action=updateedit";
}
-->
</script>
';
print '<table class="noborder" width="100%">'; print '<form method="post" action="index.php" name="form_index">';
print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("CompanyInfo").'</td></tr>'; print '<input type="hidden" name="action" value="update">';
$var=true;
print '<tr class="pair"><td>'.$langs->trans("CompanyName").'</td><td>'; print '<table class="noborder" width="100%">';
print '<input name="nom" value="'. MAIN_INFO_SOCIETE_NOM . '"></td></tr>'; print '<tr class="liste_titre"><td colspan="2">'.$langs->trans("CompanyInfo").'</td></tr>';
print '<tr class="impair"><td>'.$langs->trans("CompanyAddress").'</td><td>'; $var=!$var;
print '<textarea name="address" cols="50" rows="3">'. MAIN_INFO_SOCIETE_ADRESSE . '</textarea></td></tr>'; print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyName").'</td><td>';
print '<input name="nom" value="'. $conf->global->MAIN_INFO_SOCIETE_NOM . '"></td></tr>';
print '<tr class="pair"><td>'.$langs->trans("Country").'</td><td>'; $var=!$var;
$form->select_pays(MAIN_INFO_SOCIETE_PAYS); print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyAddress").'</td><td>';
print '</td></tr>'; print '<textarea name="address" cols="50" rows="2">'. $conf->global->MAIN_INFO_SOCIETE_ADRESSE . '</textarea></td></tr>';
print '<tr class="impair"><td>'.$langs->trans("CompanyCurrency").'</td><td>'; $var=!$var;
$form->select_currency(MAIN_MONNAIE,"currency"); print '<tr '.$bc[$var].'><td>'.$langs->trans("Country").'</td><td>';
print '</td></tr>'; $form->select_pays($conf->global->MAIN_INFO_SOCIETE_PAYS,'pays_id',' onChange="save_refresh()"');
print '</td></tr>';
print '<tr class="pair"><td width="35%">'.$langs->trans("Capital").'</td><td>'; $var=!$var;
print '<input name="capital" size="20" value="' . MAIN_INFO_CAPITAL . '"></td></tr>'; print '<tr '.$bc[$var].'><td>'.$langs->trans("CompanyCurrency").'</td><td>';
$form->select_currency($conf->global->MAIN_MONNAIE,"currency");
print '</td></tr>';
print '</table>'; $var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Capital").'</td><td>';
print '<input name="capital" size="20" value="' . $conf->global->MAIN_INFO_CAPITAL . '"></td></tr>';
print '<br>'; print '</table>';
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>';
$langs->load("companies"); print '<br>';
// Recupere code pays // Identifiants de la société (propre au pays)
$code_pays=substr($langs->defaultlang,-2); // Par defaut, pays de la localisation print '<table class="noborder" width="100%">';
$sql = "SELECT code from ".MAIN_DB_PREFIX."c_pays"; print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>';
$sql .= " WHERE rowid = ".MAIN_INFO_SOCIETE_PAYS; $var=true;
$result=$db->query($sql);
if ($result) {
$obj = $db->fetch_object();
if ($obj->code) $code_pays=$obj->code;
}
else {
dolibarr_print_error($db);
}
if ($langs->transcountry("ProfId1",$code_pays) != '-')
{
print '<tr class="impair"><td width="35%">'.$langs->transcountry("ProfId1",$code_pays).'</td><td>';
print '<input name="siren" size="20" value="' . MAIN_INFO_SIREN . '"></td></tr>';
}
if ($langs->transcountry("ProfId2",$code_pays) != '-')
{
print '<tr class="pair"><td width="35%">'.$langs->transcountry("ProfId2",$code_pays).'</td><td>';
print '<input name="siret" size="20" value="' . MAIN_INFO_SIRET . '"></td></tr>';
}
if ($langs->transcountry("ProfId3",$code_pays) != '-') $langs->load("companies");
{
print '<tr class="impair"><td width="35%">'.$langs->transcountry("ProfId3",$code_pays).'</td><td>';
print '<input name="ape" size="20" value="' . MAIN_INFO_APE . '"></td></tr>';
}
print '<tr class="pair"><td width="35%">'.$langs->trans("TVAIntra").'</td><td>';
print '<input name="tva" size="20" value="' . MAIN_INFO_TVAINTRA . '"></td></tr>';
print '</table>'; // Recupere code pays
$code_pays=substr($langs->defaultlang,-2); // Par defaut, pays de la localisation
if ($conf->global->MAIN_INFO_SOCIETE_PAYS)
{
$sql = "SELECT code from ".MAIN_DB_PREFIX."c_pays";
$sql .= " WHERE rowid = ".$conf->global->MAIN_INFO_SOCIETE_PAYS;
$result=$db->query($sql);
if ($result) {
$obj = $db->fetch_object();
if ($obj->code) $code_pays=$obj->code;
}
else {
dolibarr_print_error($db);
}
}
print '<br><center><input type="submit" value="'.$langs->trans("Save").'"></center>'; // Forme juridique
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("JuridicalStatus").'</td><td>';
if ($conf->global->MAIN_INFO_SOCIETE_PAYS)
{
$form->select_forme_juridique($conf->global->MAIN_INFO_FORME_JURIDIQUE,$code_pays);
}
else
{
print $countrynotdefined;
}
print '</td></tr>';
print '</form>'; // ProfID1
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId1",$code_pays).'</td><td>';
if ($conf->global->MAIN_INFO_SOCIETE_PAYS)
{
if ($langs->transcountry("ProfId1",$code_pays) != '-')
{
print '<input name="siren" size="20" value="' . $conf->global->MAIN_INFO_SIREN . '">';
}
}
else
{
print $countrynotdefined;
}
print '</td></tr>';
// ProfId2
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId2",$code_pays).'</td><td>';
if ($conf->global->MAIN_INFO_SOCIETE_PAYS)
{
if ($langs->transcountry("ProfId2",$code_pays) != '-')
{
print '<input name="siret" size="20" value="' . $conf->global->MAIN_INFO_SIRET . '">';
}
}
else
{
print $countrynotdefined;
}
print '</td></tr>';
// ProfId3
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId3",$code_pays).'</td><td>';
if ($conf->global->MAIN_INFO_SOCIETE_PAYS)
{
if ($langs->transcountry("ProfId3",$code_pays) != '-')
{
print '<input name="ape" size="20" value="' . $conf->global->MAIN_INFO_APE . '">';
}
}
else
{
print $countrynotdefined;
}
print '</td></tr>';
// TVA Intra
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("TVAIntra").'</td><td>';
print '<input name="tva" size="20" value="' . $conf->global->MAIN_INFO_TVAINTRA . '"></td></tr>';
print '</table>';
print '<br><center><input type="submit" value="'.$langs->trans("Save").'"></center>';
print '</form>';
} }
else else
{ {
@ -144,71 +222,95 @@ else
* Affichage des paramètres * Affichage des paramètres
*/ */
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td>'.$langs->trans("CompanyInfo").'</td><td>'.$langs->trans("Value").'</td></tr>'; print '<tr class="liste_titre"><td>'.$langs->trans("CompanyInfo").'</td><td>'.$langs->trans("Value").'</td></tr>';
$var=true;
print '<tr class="pair"><td width="35%">'.$langs->trans("CompanyName").'</td><td>' . MAIN_INFO_SOCIETE_NOM . '</td></tr>'; $var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyName").'</td><td>' . $conf->global->MAIN_INFO_SOCIETE_NOM . '</td></tr>';
print '<tr class="impair"><td width="35%">'.$langs->trans("CompanyAddress").'</td><td>' . nl2br(MAIN_INFO_SOCIETE_ADRESSE) . '</td></tr>'; $var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyAddress").'</td><td>' . nl2br($conf->global->MAIN_INFO_SOCIETE_ADRESSE) . '</td></tr>';
print '<tr class="pair"><td>'.$langs->trans("Country").'</td><td>'; $var=!$var;
print $form->pays_name(MAIN_INFO_SOCIETE_PAYS,1); print '<tr '.$bc[$var].'><td>'.$langs->trans("Country").'</td><td>';
print '</td></tr>'; print $form->pays_name($conf->global->MAIN_INFO_SOCIETE_PAYS,1);
print '</td></tr>';
print '<tr class="impair"><td width="35%">'.$langs->trans("CompanyCurrency").'</td><td>'; $var=!$var;
print $form->currency_name(MAIN_MONNAIE,1); print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("CompanyCurrency").'</td><td>';
print '</td></tr>'; print $form->currency_name($conf->global->MAIN_MONNAIE,1);
print '</td></tr>';
print '<tr class="pair"><td width="35%">'.$langs->trans("Capital").'</td><td>'; $var=!$var;
print MAIN_INFO_CAPITAL . '</td></tr>'; print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("Capital").'</td><td>';
print $conf->global->MAIN_INFO_CAPITAL . '</td></tr>';
print '</table>'; print '</table>';
print '<br>'; print '<br>';
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>';
// Recupere code pays // Identifiants de la société (propre au pays)
$code_pays=substr($langs->defaultlang,-2); // Par defaut, pays de la localisation print '<table class="noborder" width="100%">';
$sql = "SELECT code from ".MAIN_DB_PREFIX."c_pays"; print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>';
$sql .= " WHERE rowid = ".MAIN_INFO_SOCIETE_PAYS; $var=true;
$result=$db->query($sql);
if ($result) {
$obj = $db->fetch_object();
if ($obj->code) $code_pays=$obj->code;
}
else {
dolibarr_print_error($db);
}
if ($langs->transcountry("ProfId1",$code_pays) != '-')
{
print '<tr class="impair"><td width="35%">'.$langs->transcountry("ProfId1",$code_pays).'</td><td>';
print MAIN_INFO_SIREN . '</td></tr>';
}
if ($langs->transcountry("ProfId2",$code_pays) != '-')
{
print '<tr class="pair"><td width="35%">'.$langs->transcountry("ProfId2",$code_pays).'</td><td>';
print MAIN_INFO_SIRET . '</td></tr>';
}
if ($langs->transcountry("ProfId3",$code_pays) != '-')
{
print '<tr class="impair"><td width="35%">'.$langs->transcountry("ProfId3",$code_pays).'</td><td>';
print MAIN_INFO_APE . '</td></tr>';
}
print '<tr class="pair"><td>'.$langs->trans("TVAIntra").'</td><td>' . MAIN_INFO_TVAINTRA . '</td></tr>';
print '</table><br>'; // Recupere code pays
$code_pays=substr($langs->defaultlang,-2); // Par defaut, pays de la localisation
if ($conf->global->MAIN_INFO_SOCIETE_PAYS)
{
$sql = "SELECT code from ".MAIN_DB_PREFIX."c_pays";
$sql .= " WHERE rowid = ".$conf->global->MAIN_INFO_SOCIETE_PAYS;
$result=$db->query($sql);
if ($result)
{
$obj = $db->fetch_object();
if ($obj->code) $code_pays=$obj->code;
}
else {
dolibarr_print_error($db);
}
}
// Boutons d'action // Forme juridique
print '<div class="tabsAction">'; $var=!$var;
print '<a class="tabAction" href="index.php?action=edit">'.$langs->trans("Edit").'</a>'; print '<tr '.$bc[$var].'><td width="35%">'.$langs->trans("JuridicalStatus").'</td><td>';
print '</div>'; print $form->forme_juridique_name($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE,1);
print '</td></tr>';
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId1",$code_pays).'</td><td>';
if ($langs->transcountry("ProfId1",$code_pays) != '-')
{
print $conf->global->MAIN_INFO_SIREN;
}
print '</td></tr>';
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId2",$code_pays).'</td><td>';
if ($langs->transcountry("ProfId2",$code_pays) != '-')
{
print $conf->global->MAIN_INFO_SIRET;
}
print '</td></tr>';
$var=!$var;
print '<tr '.$bc[$var].'><td width="35%">'.$langs->transcountry("ProfId3",$code_pays).'</td><td>';
if ($langs->transcountry("ProfId3",$code_pays) != '-')
{
print $conf->global->MAIN_INFO_APE;
}
print '</td></tr>';
$var=!$var;
print '<tr '.$bc[$var].'><td>'.$langs->trans("TVAIntra").'</td><td>' . $conf->global->MAIN_INFO_TVAINTRA . '</td></tr>';
print '</table><br>';
// Boutons d'action
print '<div class="tabsAction">';
print '<a class="tabAction" href="index.php?action=edit">'.$langs->trans("Edit").'</a>';
print '</div>';
} }

View File

@ -1642,6 +1642,8 @@ class Facture
class FactureLigne class FactureLigne
{ {
var $subprice; // Prix unitaire HT
var $price; // Prix HT apres remise %
/** /**
* \brief Constructeur d'objets ligne de facture * \brief Constructeur d'objets ligne de facture
@ -1670,6 +1672,7 @@ class FactureLigne
$this->desc = stripslashes($objp->description); $this->desc = stripslashes($objp->description);
$this->qty = $objp->qty; $this->qty = $objp->qty;
$this->price = $objp->price; $this->price = $objp->price;
$this->price_ttc = $objp->price_ttc;
$this->subprice = $objp->subprice; $this->subprice = $objp->subprice;
$this->tva_taux = $objp->tva_taux; $this->tva_taux = $objp->tva_taux;
$this->remise = $objp->remise; $this->remise = $objp->remise;

View File

@ -185,10 +185,11 @@ class Form
* \brief Retourne la liste déroulante des pays actifs, dans la langue de l'utilisateur * \brief Retourne la liste déroulante des pays actifs, dans la langue de l'utilisateur
* \param selected Code pays pré-sélectionné * \param selected Code pays pré-sélectionné
* \param htmlname Nom de la liste deroulante * \param htmlname Nom de la liste deroulante
* \param htmloption Options html sur le select
* \todo trier liste sur noms après traduction plutot que avant * \todo trier liste sur noms après traduction plutot que avant
*/ */
function select_pays($selected='',$htmlname='pays_id') function select_pays($selected='',$htmlname='pays_id',$htmloption='')
{ {
global $conf,$langs; global $conf,$langs;
$langs->load("dict"); $langs->load("dict");
@ -199,7 +200,7 @@ class Form
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
print '<select class="flat" name="'.$htmlname.'">'; print '<select class="flat" name="'.$htmlname.'" '.$htmloption.'>';
$num = $this->db->num_rows(); $num = $this->db->num_rows();
$i = 0; $i = 0;
if ($num) if ($num)
@ -688,6 +689,36 @@ class Form
} }
/**
* \brief Retourne le nom traduit de la forme juridique
* \param code Code de la forme juridique
* \return string Nom traduit du pays
*/
function forme_juridique_name($code)
{
global $langs;
$sql = "SELECT libelle FROM ".MAIN_DB_PREFIX."c_forme_juridique";
$sql.= " WHERE code='$code';";
if ($this->db->query($sql))
{
$num = $this->db->num_rows();
if ($num)
{
$obj = $this->db->fetch_object();
$label=$obj->libelle;
return $label;
}
else
{
return $langs->trans("NotDefined");
}
}
}
/** /**
* \brief Retourne le nom traduit ou code+nom d'un pays * \brief Retourne le nom traduit ou code+nom d'un pays
* \param id id du pays * \param id id du pays
@ -720,6 +751,7 @@ class Form
} }
} }
/** /**
* \brief Retourne le nom traduit ou code+nom d'une devise * \brief Retourne le nom traduit ou code+nom d'une devise
* \param code_iso Code iso de la devise * \param code_iso Code iso de la devise

View File

@ -18,7 +18,6 @@
* *
* $Id$ * $Id$
* $Source$ * $Source$
*
*/ */
/** /**
@ -49,6 +48,7 @@ class pdf_crabe extends ModelePDFFactures
$this->db = $db; $this->db = $db;
$this->name = "crabe"; $this->name = "crabe";
$this->description = "Modèle de facture complet (Gère l'option fiscale de facturation TVA, le choix du mode de règlement à afficher, logo...)"; $this->description = "Modèle de facture complet (Gère l'option fiscale de facturation TVA, le choix du mode de règlement à afficher, logo...)";
$this->format="A4";
$this->option_logo = 1; // Affiche logo FAC_PDF_LOGO $this->option_logo = 1; // Affiche logo FAC_PDF_LOGO
$this->option_tva = 1; // Gere option tva FACTURE_TVAOPTION $this->option_tva = 1; // Gere option tva FACTURE_TVAOPTION
$this->option_modereg = 1; // Gere choix mode règlement FACTURE_CHQ_NUMBER, FACTURE_RIB_NUMBER $this->option_modereg = 1; // Gere choix mode règlement FACTURE_CHQ_NUMBER, FACTURE_RIB_NUMBER
@ -148,6 +148,13 @@ class pdf_crabe extends ModelePDFFactures
$nexY = $pdf->GetY(); $nexY = $pdf->GetY();
$nblignes = sizeof($fac->lignes); $nblignes = sizeof($fac->lignes);
$posxdesc=11;
$posxtva=121;
$posxup=133;
$posxqty=151;
$posxdiscount=163;
$postotttc=173;
// Boucle sur les lignes // Boucle sur les lignes
for ($i = 0 ; $i < $nblignes ; $i++) for ($i = 0 ; $i < $nblignes ; $i++)
{ {
@ -160,7 +167,7 @@ class pdf_crabe extends ModelePDFFactures
if ($libelleproduitservice) $libelleproduitservice.="\n"; if ($libelleproduitservice) $libelleproduitservice.="\n";
$libelleproduitservice.=$fac->lignes[$i]->desc; $libelleproduitservice.=$fac->lignes[$i]->desc;
} }
$pdf->SetXY (11, $curY ); $pdf->SetXY ($posxdesc, $curY );
if ($conf->global->FACTURE_CODEPRODUITSERVICE && $fac->lignes[$i]->produit_id) if ($conf->global->FACTURE_CODEPRODUITSERVICE && $fac->lignes[$i]->produit_id)
{ {
@ -181,25 +188,25 @@ class pdf_crabe extends ModelePDFFactures
$nexY = $pdf->GetY(); $nexY = $pdf->GetY();
// TVA // TVA
$pdf->SetXY (121, $curY); $pdf->SetXY ($posxtva, $curY);
$pdf->MultiCell(10, 5, $fac->lignes[$i]->tva_taux, 0, 'C'); $pdf->MultiCell(10, 5, $fac->lignes[$i]->tva_taux, 0, 'C');
// Prix unitaire HT avant remise // Prix unitaire HT avant remise
$pdf->SetXY (133, $curY); $pdf->SetXY ($posxup, $curY);
$pdf->MultiCell(17, 5, price($fac->lignes[$i]->subprice), 0, 'R', 0); $pdf->MultiCell(17, 5, price($fac->lignes[$i]->subprice), 0, 'R', 0);
// Quantité // Quantité
$pdf->SetXY (151, $curY); $pdf->SetXY ($posxqty, $curY);
$pdf->MultiCell(10, 5, $fac->lignes[$i]->qty, 0, 'R'); $pdf->MultiCell(10, 5, $fac->lignes[$i]->qty, 0, 'R');
// Remise sur ligne // Remise sur ligne
$pdf->SetXY (163, $curY); $pdf->SetXY ($posxdiscount, $curY);
if ($fac->lignes[$i]->remise_percent) { if ($fac->lignes[$i]->remise_percent) {
$pdf->MultiCell(14, 5, $fac->lignes[$i]->remise_percent."%", 0, 'R'); $pdf->MultiCell(14, 5, $fac->lignes[$i]->remise_percent."%", 0, 'R');
} }
// Total HT // Total TTC
$pdf->SetXY (173, $curY); $pdf->SetXY ($postotttc, $curY);
$total = price($fac->lignes[$i]->price * $fac->lignes[$i]->qty); $total = price($fac->lignes[$i]->price * $fac->lignes[$i]->qty);
$pdf->MultiCell(26, 5, $total, 0, 'R', 0); $pdf->MultiCell(26, 5, $total, 0, 'R', 0);

View File

@ -34,6 +34,8 @@ ActiveOn=Activated on
SourceFile=Source file SourceFile=Source file
TriggersAvailable=Triggers available TriggersAvailable=Triggers available
TriggersDesc=Triggers are components that modify, once activated, the behaviour of Dolibarr workflow. They add new actions, activated on Dolibarr events (new company creation, invoice validation, ...). TriggersDesc=Triggers are components that modify, once activated, the behaviour of Dolibarr workflow. They add new actions, activated on Dolibarr events (new company creation, invoice validation, ...).
SeeAbove=See above
ErrorSetACountryFirst=Set the country first
ModuleFamilyCrm=Customer Ressource Management (CRM) ModuleFamilyCrm=Customer Ressource Management (CRM)
ModuleFamilyProducts=Products Management ModuleFamilyProducts=Products Management
ModuleFamilyHr=Human Ressource Management ModuleFamilyHr=Human Ressource Management

View File

@ -34,6 +34,8 @@ ActiveOn=Active sur
SourceFile=Fichier source SourceFile=Fichier source
TriggersAvailable=Triggers disponibles TriggersAvailable=Triggers disponibles
TriggersDesc=Les triggers sont des composants qui, une fois activés, modifient le comportement du workflow de Dolibarr. Ils réalisent des actions suplémentaires, délenchées par les évennements Dolibarr (création société, validation facture, cloture contrat...). TriggersDesc=Les triggers sont des composants qui, une fois activés, modifient le comportement du workflow de Dolibarr. Ils réalisent des actions suplémentaires, délenchées par les évennements Dolibarr (création société, validation facture, cloture contrat...).
SeeAbove=Voir ci-dessus
ErrorSetACountryFirst=Définisser le pays d'abord
ModuleFamilyCrm=Gestion client (CRM) ModuleFamilyCrm=Gestion client (CRM)
ModuleFamilyProducts=Gestion produits ModuleFamilyProducts=Gestion produits
ModuleFamilyHr=Ressources humaines ModuleFamilyHr=Ressources humaines

View File

@ -210,7 +210,7 @@ function dolibarr_fiche_head($links, $active=0, $title='')
/** /**
\brief Récupère une constante depuis la base de données. \brief Récupère une constante depuis la base de données.
\see dolibarr_del_const, dolibarr_sel_const \see dolibarr_del_const, dolibarr_set_const
\param db Handler d'accès base \param db Handler d'accès base
\param name Nom de la constante \param name Nom de la constante
\return string Valeur de la constante \return string Valeur de la constante
@ -262,17 +262,19 @@ function dolibarr_set_php_lang($code_lang)
/** /**
\brief Insertion d'une constante dans la base de données. \brief Insertion d'une constante dans la base de données.
\see dolibarr_del_const, dolibarr_gel_const \see dolibarr_del_const, dolibarr_get_const
\param db handler d'accès base \param db Handler d'accès base
\param name nom de la constante \param name Nom de la constante
\param value valeur de la constante \param value Valeur de la constante
\param type type de constante (chaine par défaut) \param type Type de constante (chaine par défaut)
\param visible la constante est elle visible (0 par défaut) \param visible La constante est elle visible (0 par défaut)
\param note explication de la constante \param note Explication de la constante
\return int 0 si KO, 1 si OK \return int <0 si ko, >0 si ok
*/ */
function dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $note='') function dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $note='')
{ {
global $conf;
$db->begin(); $db->begin();
$sql = "DELETE FROM llx_const WHERE name = '$name';"; $sql = "DELETE FROM llx_const WHERE name = '$name';";
@ -285,12 +287,13 @@ function dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $not
if ($resql) if ($resql)
{ {
$db->commit(); $db->commit();
$conf->global->$name=$value;
return 1; return 1;
} }
else else
{ {
$db->rollback(); $db->rollback();
return 0; return -1;
} }
} }

View File

@ -480,7 +480,7 @@ insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'62','Group
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'63','Société coopérative agricole'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'63','Société coopérative agricole');
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'64','Société non commerciale d\'assurances'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'64','Société non commerciale d\'assurances');
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'65','Société civile'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'65','Société civile');
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'69','Autres personnes de droit privé inscrites au registre du commerce et des sociétés'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'69','Autres personnes de droit privé inscrites au registre du commerce et sociétés');
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'71','Administration de l\'état'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'71','Administration de l\'état');
insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'72','Collectivité territoriale'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'72','Collectivité territoriale');