Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop

This commit is contained in:
Philippe Grand 2012-08-20 08:43:10 +02:00
commit b2771660d3
38 changed files with 326 additions and 213 deletions

View File

@ -268,7 +268,7 @@ print $langs->trans("BackupDescY").'<br><br>';
<div class="formelementrow"><input type="checkbox" name="nobin_disable_fk" <div class="formelementrow"><input type="checkbox" name="nobin_disable_fk"
value="yes" id="checkbox_disable_fk" checked="checked" /> <label value="yes" id="checkbox_disable_fk" checked="checked" /> <label
for="checkbox_disable_fk"> <?php echo $langs->trans("CommandsToDisableForeignKeysForImport"); ?><?php print img_warning('Mandatory if you want to be able to restore your sql dump later'); ?></label> for="checkbox_disable_fk"> <?php echo $langs->trans("CommandsToDisableForeignKeysForImport"); ?> <?php print img_info('Mandatory if you want to be able to restore your sql dump later'); ?></label>
</div> </div>
</fieldset> </fieldset>

View File

@ -3,6 +3,7 @@
* Copyright (C) 2008-2010 Laurent Destailleur <eldy@uers.sourceforge.net> * Copyright (C) 2008-2010 Laurent Destailleur <eldy@uers.sourceforge.net>
* Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -58,8 +59,6 @@ if (!empty($_SESSION["CASHDESK_ID_WAREHOUSE"]) && $conf->stock->enabled)
$langs->load("cashdesk"); $langs->load("cashdesk");
$langs->load("main"); $langs->load("main");
$logout='<img class="login" border="0" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/logout.png" title="'.dol_escape_htmltag($langs->trans("Logout")).'">';
print '<div class="menu_bloc">'; print '<div class="menu_bloc">';
print '<ul class="menu">'; print '<ul class="menu">';
// Link to new sell // Link to new sell
@ -68,7 +67,7 @@ print '<li class="menu_choix1"><a href="affIndex.php?menu=facturation&id=NOUV"><
print '<li class="menu_choix2"><a href=".." target="backoffice"><span>'.$langs->trans("BackOffice").'</span></a></li>'; print '<li class="menu_choix2"><a href=".." target="backoffice"><span>'.$langs->trans("BackOffice").'</span></a></li>';
// Disconnect // Disconnect
print '<li class="menu_choix0">'.$langs->trans("User").': '.$_SESSION['prenom'].' '.$_SESSION['nom']; print '<li class="menu_choix0">'.$langs->trans("User").': '.$_SESSION['prenom'].' '.$_SESSION['nom'];
print ' <a href="deconnexion.php">'.$logout.'</a><br>'; print ' <a href="deconnexion.php">'.img_picto($langs->trans('Logout'), 'logout.png').'</a><br>';
print $langs->trans("CashDeskThirdParty").': '.$companyLink.'<br>'; print $langs->trans("CashDeskThirdParty").': '.$companyLink.'<br>';
/*print $langs->trans("CashDeskBankCash").': '.$bankcashLink.'<br>'; /*print $langs->trans("CashDeskBankCash").': '.$bankcashLink.'<br>';
print $langs->trans("CashDeskBankCB").': '.$bankcbLink.'<br>'; print $langs->trans("CashDeskBankCB").': '.$bankcbLink.'<br>';

View File

@ -715,7 +715,7 @@ if ($id)
print '</td></tr>'; print '</td></tr>';
// Status // Status
print '<tr><td nowrap>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="3">'; print '<tr><td nowrap="nowrap">'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="3">';
$percent=GETPOST("percentage")?GETPOST("percentage"):$act->percentage; $percent=GETPOST("percentage")?GETPOST("percentage"):$act->percentage;
print $htmlactions->form_select_status_action('formaction',$percent,1); print $htmlactions->form_select_status_action('formaction',$percent,1);
print '</td></tr>'; print '</td></tr>';
@ -865,7 +865,7 @@ if ($id)
print '</td></tr>'; print '</td></tr>';
// Status // Status
print '<tr><td nowrap>'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="2">'; print '<tr><td nowrap="nowrap">'.$langs->trans("Status").' / '.$langs->trans("Percentage").'</td><td colspan="2">';
print $act->getLibStatut(4); print $act->getLibStatut(4);
print '</td></tr>'; print '</td></tr>';

View File

@ -9,6 +9,7 @@
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be> * Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be>
* Copyright (C) 2010-2011 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2010-2011 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr> * Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -2996,7 +2997,7 @@ class Facture extends CommonInvoice
function getLinesArray() function getLinesArray()
{ {
$sql = 'SELECT l.rowid, l.description, l.fk_product, l.product_type, l.qty, l.tva_tx,'; $sql = 'SELECT l.rowid, l.description, l.fk_product, l.product_type, l.qty, l.tva_tx,';
$sql.= ' l.fk_remise_except, localtax1_tx, localtax2_tx,'; $sql.= ' l.fk_remise_except, l.localtax1_tx, l.localtax2_tx,';
$sql.= ' l.remise_percent, l.subprice, l.info_bits, l.rang, l.special_code, l.fk_parent_line,'; $sql.= ' l.remise_percent, l.subprice, l.info_bits, l.rang, l.special_code, l.fk_parent_line,';
$sql.= ' l.total_ht, l.total_tva, l.total_ttc, l.fk_product_fournisseur_price as fk_fournprice, l.buy_price_ht as pa_ht,'; $sql.= ' l.total_ht, l.total_tva, l.total_ttc, l.fk_product_fournisseur_price as fk_fournprice, l.buy_price_ht as pa_ht,';
$sql.= ' l.date_start, l.date_end,'; $sql.= ' l.date_start, l.date_end,';

View File

@ -1358,7 +1358,7 @@ else
else print '<a class="butActionRefused" href="#" title="'.$langs->trans("NotEnoughPermissions").'">'.$langs->trans("Validate").'</a>'; else print '<a class="butActionRefused" href="#" title="'.$langs->trans("NotEnoughPermissions").'">'.$langs->trans("Validate").'</a>';
} }
if ($conf->facture->enabled && $object->statut > 0) if ($conf->facture->enabled && $object->statut > 0 && $object->nbofservicesclosed < $nbofservices)
{ {
$langs->load("bills"); $langs->load("bills");
if ($user->rights->facture->creer) print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/facture.php?action=create&amp;origin='.$object->element.'&amp;originid='.$object->id.'&amp;socid='.$object->thirdparty->id.'">'.$langs->trans("CreateBill").'</a>'; if ($user->rights->facture->creer) print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/facture.php?action=create&amp;origin='.$object->element.'&amp;originid='.$object->id.'&amp;socid='.$object->thirdparty->id.'">'.$langs->trans("CreateBill").'</a>';

View File

@ -374,6 +374,9 @@ class Conf
$this->format_date_hour_text_short="%d %b %Y %H:%M"; $this->format_date_hour_text_short="%d %b %Y %H:%M";
$this->format_date_hour_text="%d %B %Y %H:%M"; $this->format_date_hour_text="%d %B %Y %H:%M";
// Duration of workday
if (! isset($conf->global->MAIN_DURATION_OF_WORKDAY)) $this->global->MAIN_DURATION_OF_WORKDAY=86400;
// Limites decimales si non definie (peuvent etre egale a 0) // Limites decimales si non definie (peuvent etre egale a 0)
if (! isset($this->global->MAIN_MAX_DECIMALS_UNIT)) $this->global->MAIN_MAX_DECIMALS_UNIT=5; if (! isset($this->global->MAIN_MAX_DECIMALS_UNIT)) $this->global->MAIN_MAX_DECIMALS_UNIT=5;
if (! isset($this->global->MAIN_MAX_DECIMALS_TOT)) $this->global->MAIN_MAX_DECIMALS_TOT=2; if (! isset($this->global->MAIN_MAX_DECIMALS_TOT)) $this->global->MAIN_MAX_DECIMALS_TOT=2;

View File

@ -58,29 +58,51 @@ class FormActions
{ {
global $langs,$conf; global $langs,$conf;
$listofstatus=array('-1'=>$langs->trans("ActionNotApplicable"), $listofstatus = array(
'-1' => $langs->trans("ActionNotApplicable"),
'0' => $langs->trans("ActionRunningNotStarted"), '0' => $langs->trans("ActionRunningNotStarted"),
'50' => $langs->trans("ActionRunningShort"), '50' => $langs->trans("ActionRunningShort"),
'100'=>$langs->trans("ActionDoneShort")); '100' => $langs->trans("ActionDoneShort")
);
if ($conf->use_javascript_ajax) if ($conf->use_javascript_ajax)
{ {
print "\n"; print "\n";
print '<script type="text/javascript">'."\n"; print "<script type=\"text/javascript\">
print 'jQuery(document).ready(function () {'."\n"; var htmlname = '".$htmlname."';
print 'jQuery("#select'.$htmlname.'").change(function() { select_status(document.'.$formname.'.status.value); });'."\n";
print 'jQuery("#val'.$htmlname.'").change(function() { select_status(document.'.$formname.'.status.value); });'."\n"; jQuery(document).ready(function () {
print 'select_status(document.'.$formname.'.status.value);'."\n"; jQuery('#select'+htmlname).change(function() {
print '});'."\n"; select_status();
print 'function select_status(mypercentage) {'."\n"; });
print 'document.'.$formname.'.percentageshown.value=(mypercentage>=0?mypercentage:\'\');'."\n"; jQuery('#val'+htmlname).change(function() {
print 'document.'.$formname.'.percentage.value=mypercentage;'."\n"; select_status();
print 'if (mypercentage == -1) { document.'.$formname.'.percentageshown.disabled=true; jQuery(".hideifna").hide(); }'."\n"; });
print 'else if (mypercentage == 0) { document.'.$formname.'.percentageshown.disabled=true; jQuery(".hideifna").show();}'."\n";
print 'else if (mypercentage == 100) { document.'.$formname.'.percentageshown.disabled=true; jQuery(".hideifna").show();}'."\n"; select_status();
print 'else { document.'.$formname.'.percentageshown.disabled=false; }'."\n"; });
print '}'."\n";
print '</script>'."\n"; function select_status() {
mypercentage = jQuery('#val'+htmlname).val();
jQuery('input[name=percentageshown]').val((mypercentage>=0?mypercentage:''));
jQuery('input[name=percentage]').val(mypercentage);
if (mypercentage == -1) {
jQuery('input[name=percentageshown]').attr('disabled', 'disabled');
jQuery('.hideifna').hide();
}
else if (mypercentage == 0) {
jQuery('input[name=percentageshown]').attr('disabled', 'disabled');
jQuery('.hideifna').show();
}
else if (mypercentage == 100) {
jQuery('input[name=percentageshown]').attr('disabled', 'disabled');
jQuery('.hideifna').show();
}
else {
jQuery('input[name=percentageshown]').removeAttr('disabled');
}
}
</script>\n";
print '<select '.($canedit?'':'disabled="disabled" ').'name="status" id="select'.$htmlname.'" class="flat">'; print '<select '.($canedit?'':'disabled="disabled" ').'name="status" id="select'.$htmlname.'" class="flat">';
foreach($listofstatus as $key => $val) foreach($listofstatus as $key => $val)
{ {

View File

@ -790,16 +790,17 @@ function dol_delete_dir_recursive($dir,$count=0,$nophperrors=0)
function dol_delete_preview($object) function dol_delete_preview($object)
{ {
global $langs,$conf; global $langs,$conf;
require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php");
$element = $object->element; $element = $object->element;
$dir = $conf->$element->dir_output;
if ($object->element == 'order_supplier') $dir = $conf->fournisseur->dir_output.'/commande'; if ($object->element == 'order_supplier') $dir = $conf->fournisseur->dir_output.'/commande';
elseif ($object->element == 'invoice_supplier') $dir = $conf->fournisseur->dir_output.'/facture'; elseif ($object->element == 'invoice_supplier') $dir = $conf->fournisseur->dir_output.'/facture';
elseif ($object->element == 'project') $dir = $conf->projet->dir_output; elseif ($object->element == 'project') $dir = $conf->projet->dir_output;
elseif ($object->element == 'shipping') $dir = $conf->expedition->dir_output.'/sending'; elseif ($object->element == 'shipping') $dir = $conf->expedition->dir_output.'/sending';
elseif ($object->element == 'delivery') $dir = $conf->expedition->dir_output.'/receipt'; elseif ($object->element == 'delivery') $dir = $conf->expedition->dir_output.'/receipt';
elseif ($object->element == 'fichinter') $dir = $conf->ficheinter->dir_output;
else
$dir = $conf->$element->dir_output;
if (empty($dir)) return 'ErrorObjectNoSupportedByFunction'; if (empty($dir)) return 'ErrorObjectNoSupportedByFunction';

View File

@ -86,7 +86,8 @@ class pdf_soleil extends ModelePDFFicheinter
// Recupere emmetteur // Recupere emmetteur
$this->emetteur=$mysoc; $this->emetteur=$mysoc;
if (! $this->emetteur->code_pays) $this->emetteur->code_pays=substr($langs->defaultlang,-2); // By default, if not defined if (empty($this->emetteur->country_code))
$this->emetteur->country_code = substr($langs->defaultlang,-2); // By default, if not defined
// Defini position des colonnes // Defini position des colonnes
$this->posxdesc=$this->marge_gauche+1; $this->posxdesc=$this->marge_gauche+1;
@ -271,6 +272,7 @@ class pdf_soleil extends ModelePDFFicheinter
$nexY+=2; // Passe espace entre les lignes $nexY+=2; // Passe espace entre les lignes
// Detect if some page were added automatically and output _tableau for past pages // Detect if some page were added automatically and output _tableau for past pages
// FIXME $pageposafter not defined
while ($pagenb < $pageposafter) while ($pagenb < $pageposafter)
{ {
if ($pagenb == 1) if ($pagenb == 1)
@ -553,7 +555,7 @@ class pdf_soleil extends ModelePDFFicheinter
$carac_client_name=$outputlangs->convToOutputCharset($object->client->nom); $carac_client_name=$outputlangs->convToOutputCharset($object->client->nom);
} }
$carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,$object->contact,$usecontact,'target'); $carac_client=pdf_build_address($outputlangs, $this->emetteur, $object->client, (isset($object->contact)?$object->contact:''), $usecontact, 'target');
// Show recipient // Show recipient
$posy=42; $posy=42;

View File

@ -44,7 +44,7 @@ abstract class ModelePDFFicheinter extends CommonDocGenerator
* @param string $maxfilenamelength Max length of value to show * @param string $maxfilenamelength Max length of value to show
* @return array List of templates * @return array List of templates
*/ */
function liste_modeles($db,$maxfilenamelength=0) static function liste_modeles($db,$maxfilenamelength=0)
{ {
global $conf; global $conf;
@ -224,9 +224,6 @@ function fichinter_create($db, $object, $modele, $outputlangs, $hidedetails=0, $
require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php"); require_once(DOL_DOCUMENT_ROOT."/core/lib/files.lib.php");
dol_delete_preview($object); dol_delete_preview($object);
// Success in building document. We build meta file.
dol_meta_create($object);
// Appel des triggers // Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php"); include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php");
$interface=new Interfaces($db); $interface=new Interfaces($db);

View File

@ -113,10 +113,16 @@ class mod_codecompta_aquarium extends ModeleAccountancyCode
// Regle gestion compte compta // Regle gestion compte compta
$codetouse=''; $codetouse='';
if ($type == 'customer') $codetouse = $this->prefixcustomeraccountancycode; if ($type == 'customer')
if ($type == 'supplier') $codetouse = $this->prefixsupplieraccountancycode; {
if ($type == 'customer') $codetouse.= (! empty($societe->code_client)?$societe->code_client:'CUSTCODE'); $codetouse = $this->prefixcustomeraccountancycode;
if ($type == 'supplier') $codetouse.= (! empty($societe->code_fournisseur)?$societe->code_fournisseur:'SUPPCODE'); $codetouse.= (! empty($societe->code_client)?$societe->code_client:'CUSTCODE');
}
else if ($type == 'supplier')
{
$codetouse = $this->prefixsupplieraccountancycode;
$codetouse.= (! empty($societe->code_fournisseur)?$societe->code_fournisseur:'SUPPCODE');
}
$codetouse=strtoupper(preg_replace('/([^a-z0-9])/i','',$codetouse)); $codetouse=strtoupper(preg_replace('/([^a-z0-9])/i','',$codetouse));
$is_dispo = $this->verif($db, $codetouse, $societe, $type); $is_dispo = $this->verif($db, $codetouse, $societe, $type);
@ -147,11 +153,11 @@ class mod_codecompta_aquarium extends ModeleAccountancyCode
{ {
$sql = "SELECT "; $sql = "SELECT ";
if ($type == 'customer') $sql.= "code_compta"; if ($type == 'customer') $sql.= "code_compta";
if ($type == 'supplier') $sql.= "code_compta_fournisseur"; else if ($type == 'supplier') $sql.= "code_compta_fournisseur";
$sql.= " FROM ".MAIN_DB_PREFIX."societe"; $sql.= " FROM ".MAIN_DB_PREFIX."societe";
$sql.= " WHERE "; $sql.= " WHERE ";
if ($type == 'customer') $sql.= "code_compta"; if ($type == 'customer') $sql.= "code_compta";
if ($type == 'supplier') $sql.= "code_compta_fournisseur"; else if ($type == 'supplier') $sql.= "code_compta_fournisseur";
$sql.= " = '".$this->db->escape($code)."'"; $sql.= " = '".$this->db->escape($code)."'";
if (! empty($societe->id)) $sql.= " AND rowid <> ".$societe->id; if (! empty($societe->id)) $sql.= " AND rowid <> ".$societe->id;

View File

@ -87,7 +87,7 @@ class Fichinter extends CommonObject
*/ */
function create() function create()
{ {
global $conf; global $conf, $user, $langs;
dol_syslog(get_class($this)."::create ref=".$this->ref); dol_syslog(get_class($this)."::create ref=".$this->ref);
@ -328,10 +328,9 @@ class Fichinter extends CommonObject
* Validate a intervention * Validate a intervention
* *
* @param User $user User that validate * @param User $user User that validate
* @param string $outputdir Output directory
* @return int <0 if KO, >0 if OK * @return int <0 if KO, >0 if OK
*/ */
function setValid($user, $outputdir) function setValid($user)
{ {
global $langs, $conf; global $langs, $conf;

View File

@ -76,7 +76,7 @@ if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->fichein
$object->fetch($id); $object->fetch($id);
$object->fetch_thirdparty(); $object->fetch_thirdparty();
$result = $object->setValid($user, $conf->fichinter->outputdir); $result = $object->setValid($user);
if ($result >= 0) if ($result >= 0)
{ {
// Define output language // Define output language

View File

@ -42,21 +42,12 @@ $result = restrictedArea($user, 'ficheinter', $fichinterid,'fichinter');
$sortfield = GETPOST('sortfield','alpha'); $sortfield = GETPOST('sortfield','alpha');
$sortorder = GETPOST('sortorder','alpha'); $sortorder = GETPOST('sortorder','alpha');
$page = GETPOST('page','int'); $page = GETPOST('page','int');
if ($page == -1) { if ($page == -1) { $page = 0; }
$page = 0;
}
$offset = $conf->liste_limit * $page; $offset = $conf->liste_limit * $page;
$pageprev = $page - 1; $pageprev = $page - 1;
$pagenext = $page + 1; $pagenext = $page + 1;
if (! $sortorder) $sortorder="DESC"; if (! $sortorder) $sortorder="DESC";
if (! $sortfield) $sortfield="fd.date"; if (! $sortfield) $sortfield="fd.date";
if ($page == -1) { $page = 0 ; }
$limit = $conf->liste_limit;
$offset = $limit * $page ;
$pageprev = $page - 1;
$pagenext = $page + 1;
$search_ref=GETPOST('search_ref','alpha'); $search_ref=GETPOST('search_ref','alpha');
$search_company=GETPOST('search_company','alpha'); $search_company=GETPOST('search_company','alpha');

View File

@ -23,9 +23,23 @@ require_once(DOL_DOCUMENT_ROOT."/contact/class/contact.class.php");
$langs->load("interventions"); $langs->load("interventions");
$socid=GETPOST('socid', 'int');
// Security check // Security check
if ($user->societe_id) $socid=$user->societe_id; if (! empty($user->societe_id)) $socid=$user->societe_id;
$result = restrictedArea($user, 'ficheinter', $fichinterid, 'fichinter'); $result = restrictedArea($user, 'ficheinter', '', 'fichinter');
$sortfield = GETPOST('sortfield','alpha');
$sortorder = GETPOST('sortorder','alpha');
$page = GETPOST('page','int');
if ($page == -1) {
$page = 0;
}
$offset = $conf->liste_limit * $page;
$pageprev = $page - 1;
$pagenext = $page + 1;
if (! $sortorder) $sortorder="ASC";
if (! $sortfield) $sortfield="f.datei";
/* /*
@ -34,21 +48,7 @@ $result = restrictedArea($user, 'ficheinter', $fichinterid, 'fichinter');
llxHeader(); llxHeader();
if ($sortorder == "") $now=dol_now();
{
$sortorder="ASC";
}
if ($sortfield == "")
{
$sortfield="f.datei";
}
if ($page == -1) { $page = 0 ; }
$limit = $conf->liste_limit;
$offset = $limit * $page ;
$pageprev = $page - 1;
$pagenext = $page + 1;
$sql = "SELECT s.nom, s.rowid as socid, f.description, f.ref"; $sql = "SELECT s.nom, s.rowid as socid, f.description, f.ref";
$sql.= ", f.datei as dp, f.rowid as fichid, f.fk_statut, f.duree"; $sql.= ", f.datei as dp, f.rowid as fichid, f.fk_statut, f.duree";
@ -56,23 +56,22 @@ $sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
$sql.= ", ".MAIN_DB_PREFIX."fichinter as f "; $sql.= ", ".MAIN_DB_PREFIX."fichinter as f ";
$sql.= " WHERE f.fk_soc = s.rowid"; $sql.= " WHERE f.fk_soc = s.rowid";
$sql.= " AND f.entity = ".$conf->entity; $sql.= " AND f.entity = ".$conf->entity;
if (! empty($socid))
if ($socid > 0)
{
$sql .= " AND s.rowid = " . $socid; $sql .= " AND s.rowid = " . $socid;
}
if (empty($MM)) if (empty($MM))
$MM=strftime("%m",time()); $MM=strftime("%m", $now);
if (empty($YY)) if (empty($YY))
$YY=strftime("%Y",time());; $YY=strftime("%Y", $now);
echo "<div class='noprint'>"; echo "<div class='noprint'>";
echo "\n<form action='rapport.php'>"; echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'">';
echo '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
echo "<input type='hidden' name='socid' value='".$socid."'>"; echo "<input type='hidden' name='socid' value='".$socid."'>";
echo $langs->trans("Month")." <input name='MM' size='2' value='$MM'>"; echo $langs->trans("Month")." <input name='MM' size='2' value='$MM'>";
echo " Ann&eacute;e <input size='4' name='YY' value='$YY'>"; echo " Ann&eacute;e <input size='4' name='YY' value='$YY'>";
echo "<input type='submit' name='g' value='G&eacute;n&eacute;rer le rapport'>"; echo "<input type='submit' name='action' value='generate' />";
echo "<form>"; echo "<form>";
echo "</div>"; echo "</div>";
@ -100,7 +99,7 @@ if ($resql)
$i = 0; $i = 0;
print '<table class="noborder" width="100%" cellspacing="0" cellpadding="3">'; print '<table class="noborder" width="100%" cellspacing="0" cellpadding="3">';
print "<tr class=\"liste_titre\">"; print '<tr class="liste_titre">';
print '<td>Num</td>'; print '<td>Num</td>';
if (empty($socid)) if (empty($socid))
print '<td>'.$langs->trans("Customers").'</td>'; print '<td>'.$langs->trans("Customers").'</td>';
@ -120,9 +119,9 @@ if ($resql)
if (empty($socid)) if (empty($socid))
{ {
if (!empty($MM)) $filter="&MM=$MM&YY=$YY"; if (!empty($MM)) $filter='&MM='.$MM.'&YY='.$YY;
print '<td><a href="rapport.php?socid='.$objp->socid.$filter.'"><img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/filter.png" border="0"></a>&nbsp;'; print '<td><a href="'.$_SERVER['PHP_SELF'].'?socid='.$objp->socid.$filter.'"><img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/filter.png" border="0"></a>&nbsp;';
print "<a href=\"".DOL_URL_ROOT."/comm/fiche.php?socid=".$objp->rowid.$filter."\">".$objp->nom."</a></TD>\n"; print '<a href="'.DOL_URL_ROOT.'/comm/fiche.php?socid='.$objp->rowid.$filter.'">'.$objp->nom.'</a></td>'."\n";
} }
print '<td>'.nl2br($objp->description).'</td>'; print '<td>'.nl2br($objp->description).'</td>';
print "<td>".dol_print_date($db->jdate($objp->dp),"day")."</td>\n"; print "<td>".dol_print_date($db->jdate($objp->dp),"day")."</td>\n";
@ -140,7 +139,8 @@ else
{ {
dol_print_error($db); dol_print_error($db);
} }
$db->close();
llxFooter(); llxFooter();
$db->close();
?> ?>

View File

@ -35,6 +35,7 @@ insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_N
insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_FEATURES_LEVEL','0','chaine','Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development',1,0); insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_FEATURES_LEVEL','0','chaine','Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development',1,0);
-- Hidden and common to all entities -- Hidden and common to all entities
insert into llx_const (name, value, type, note, visible, entity) values ('SYSLOG_FILE_ON','1','chaine','Log to file Directory where to write log file',0,0);
insert into llx_const (name, value, type, note, visible, entity) values ('SYSLOG_FILE','DOL_DATA_ROOT/dolibarr.log','chaine','Directory where to write log file',0,0); insert into llx_const (name, value, type, note, visible, entity) values ('SYSLOG_FILE','DOL_DATA_ROOT/dolibarr.log','chaine','Directory where to write log file',0,0);
insert into llx_const (name, value, type, note, visible, entity) values ('SYSLOG_LEVEL','7','chaine','Level of debug info to show',0,0); insert into llx_const (name, value, type, note, visible, entity) values ('SYSLOG_LEVEL','7','chaine','Level of debug info to show',0,0);

View File

@ -458,3 +458,5 @@ ALTER TABLE llx_product_fournisseur_price MODIFY fk_product_fournisseur integer
UPDATE llx_product SET canvas = NULL where canvas = 'default@product'; UPDATE llx_product SET canvas = NULL where canvas = 'default@product';
UPDATE llx_product SET canvas = NULL where canvas = 'product@product'; UPDATE llx_product SET canvas = NULL where canvas = 'product@product';
UPDATE llx_product SET canvas = NULL where canvas = 'service@product'; UPDATE llx_product SET canvas = NULL where canvas = 'service@product';
DELETE FROM llx_const WHERE __DECRYPT('name')__ = 'SOCIETE_CODECOMPTA_ADDON' AND __DECRYPT('value')__ = 'mod_codecompta_digitaria';

View File

@ -1,5 +1,6 @@
# Dolibarr language file - ca_ES - admin # Dolibarr language file - ca_ES - admin
CHARSET=UTF-8 CHARSET=UTF-8
Foundation=Fundació
Version=Versió Version=Versió
VersionProgram=Versió programa VersionProgram=Versió programa
VersionLastInstall=Versió instal·lació inicial VersionLastInstall=Versió instal·lació inicial
@ -61,7 +62,9 @@ PreviewNotAvailable=Vista prèvia no disponible
ThemeCurrentlyActive=Tema actualment actiu ThemeCurrentlyActive=Tema actualment actiu
CurrentTimeZone=Fus horari PHP (Servidor) CurrentTimeZone=Fus horari PHP (Servidor)
Space=Àrea Space=Àrea
Table=Taula
Fields=Camps Fields=Camps
Index=Índex
Mask=Màscara Mask=Màscara
NextValue=Pròxim valor NextValue=Pròxim valor
NextValueForInvoices=Pròxim valor (factures) NextValueForInvoices=Pròxim valor (factures)
@ -128,6 +131,7 @@ SystemInfo=Info. sistema
SystemTools=Utilitats sistema SystemTools=Utilitats sistema
SystemToolsArea=Àrea utilitats del sistema SystemToolsArea=Àrea utilitats del sistema
SystemToolsAreaDesc=Aquesta àrea ofereix diverses funcions d'administració. Utilitzeu el menú per triar la funcionalitat cercada. SystemToolsAreaDesc=Aquesta àrea ofereix diverses funcions d'administració. Utilitzeu el menú per triar la funcionalitat cercada.
Purge=Purgar
PurgeAreaDesc=Aquesta pàgina li permet eliminar tots els arxius creats o guardats per Dolibarr (arxius temporals o tots els fitxers de la carpeta <b>%s</b>). L'ús d'aquesta funció no és necessària. Es dóna per als usuaris que alberguen Dolibarr en un servidor que no ofereix els permisos d'eliminació d'arxius salvaguardat pel servidor web. PurgeAreaDesc=Aquesta pàgina li permet eliminar tots els arxius creats o guardats per Dolibarr (arxius temporals o tots els fitxers de la carpeta <b>%s</b>). L'ús d'aquesta funció no és necessària. Es dóna per als usuaris que alberguen Dolibarr en un servidor que no ofereix els permisos d'eliminació d'arxius salvaguardat pel servidor web.
PurgeDeleteLogFile=Esborrar el fitxer log <b>%s</b> definit pel mòdul Syslog (no hi ha risc de pèrdua de dades) PurgeDeleteLogFile=Esborrar el fitxer log <b>%s</b> definit pel mòdul Syslog (no hi ha risc de pèrdua de dades)
PurgeDeleteTemporaryFiles=Eliminar tots els arxius temporals (sense risc de pèrdua de dades) PurgeDeleteTemporaryFiles=Eliminar tots els arxius temporals (sense risc de pèrdua de dades)
@ -156,6 +160,7 @@ ImportPostgreSqlDesc=Per a importar una còpia de seguretat, useu l'ordre pg_res
ImportMySqlCommand=%s %s < elmeuarxiubackup.sql ImportMySqlCommand=%s %s < elmeuarxiubackup.sql
ImportPostgreSqlCommand=%s %s elmeuarxiubackup.sql ImportPostgreSqlCommand=%s %s elmeuarxiubackup.sql
FileNameToGenerate=Nom del fitxer a generar FileNameToGenerate=Nom del fitxer a generar
Compression=Compressió
CommandsToDisableForeignKeysForImport=Comanda per desactivar les claus excloents a la importació CommandsToDisableForeignKeysForImport=Comanda per desactivar les claus excloents a la importació
ExportCompatibility=Compatibilitat de l'arxiu d'exportació generat ExportCompatibility=Compatibilitat de l'arxiu d'exportació generat
MySqlExportParameters=Paràmetres de l'exportació MySql MySqlExportParameters=Paràmetres de l'exportació MySql
@ -169,8 +174,8 @@ AddDropTable=Afegir ordres DROP TABLE
Datas=Dades Datas=Dades
NameColumn=Nom de les columnes NameColumn=Nom de les columnes
ExtendedInsert=Instruccions INSERT esteses ExtendedInsert=Instruccions INSERT esteses
DelayedInsert=Insercions amb retard
NoLockBeforeInsert=Sense intrucció LOCK abans del INSERT NoLockBeforeInsert=Sense intrucció LOCK abans del INSERT
DelayedInsert=Insercions amb retard
EncodeBinariesInHexa=Codificar els camps binaris en hexacesimal EncodeBinariesInHexa=Codificar els camps binaris en hexacesimal
IgnoreDuplicateRecords=Ignorar els errors de duplicació (INSERT IGNORE) IgnoreDuplicateRecords=Ignorar els errors de duplicació (INSERT IGNORE)
Yes=Sí Yes=Sí
@ -328,7 +333,8 @@ UrlGenerationParameters=Seguretat de les URL
SecurityTokenIsUnique=Fer servir un paràmetre securekey únic per a cada URL? SecurityTokenIsUnique=Fer servir un paràmetre securekey únic per a cada URL?
EnterRefToBuildUrl=Introduïu la referència de l'objecte %s EnterRefToBuildUrl=Introduïu la referència de l'objecte %s
GetSecuredUrl=Obtenir la URL calculada GetSecuredUrl=Obtenir la URL calculada
# Modules ButtonHideUnauthorized=Amaga els botons d'accions no autoritzades en compte de mostrar-los atenuats
# Modules= undefined==
Module0Name=Usuaris y grups Module0Name=Usuaris y grups
Module0Desc=Gestió d'usuaris i grups Module0Desc=Gestió d'usuaris i grups
Module1Name=Tercers Module1Name=Tercers
@ -433,6 +439,7 @@ Module2600Name=WebServices
Module2600Desc=Activa els serveis de servidor web services de Dolibarr Module2600Desc=Activa els serveis de servidor web services de Dolibarr
Module2700Name=Gravatar Module2700Name=Gravatar
Module2700Desc=Utilitza el servei en línia de Gravatar (www.gravatar.com) per mostrar fotos dels usuaris/membres (que es troben en els seus missatges de correu electrònic). Necessita un accés a Internet Module2700Desc=Utilitza el servei en línia de Gravatar (www.gravatar.com) per mostrar fotos dels usuaris/membres (que es troben en els seus missatges de correu electrònic). Necessita un accés a Internet
Module2800Desc=Client FTP
Module2900Name=GeoIPMaxmind Module2900Name=GeoIPMaxmind
Module2900Desc=Capacitats de conversió GeoIP Maxmind Module2900Desc=Capacitats de conversió GeoIP Maxmind
Module5000Name=Multi-empresa Module5000Name=Multi-empresa
@ -655,7 +662,7 @@ Permission2501=Consultar/Recuperar documents
Permission2502=Recuperar documents Permission2502=Recuperar documents
Permission2503=Enviar o eliminar documents Permission2503=Enviar o eliminar documents
Permission2515=Configuració carpetes de documents Permission2515=Configuració carpetes de documents
Permission50001=Utilitzar TPV Permission50101=Utilitzar TPV
Permission50201=Consultar les transaccions Permission50201=Consultar les transaccions
Permission50202=Importar les transaccions Permission50202=Importar les transaccions
DictionnaryCompanyType=Tipus d'empresa DictionnaryCompanyType=Tipus d'empresa
@ -724,6 +731,7 @@ PhpConf=Conf
PhpWebLink=Enllaç Web-PHP PhpWebLink=Enllaç Web-PHP
Pear=Pear Pear=Pear
PearPackages=Paquets Pear PearPackages=Paquets Pear
Browser=Navegador
Database=Base de dades Database=Base de dades
DatabaseServer=Host de la base de dades DatabaseServer=Host de la base de dades
DatabaseName=Nom de la base de dades DatabaseName=Nom de la base de dades
@ -880,10 +888,12 @@ AlphaNumOnlyCharsAndNoSpace=només carateres alfanumèrics sense espais
SendingMailSetup=Configuració de l'enviament per mail SendingMailSetup=Configuració de l'enviament per mail
SendmailOptionNotComplete=Atenció, en alguns sistemes Linux, amb aquest mètode d'enviament, per poder enviar mails en nom seu, la configuració de sendmail ha de contenir l'opció <b>-ba</b> (paràmetre <b>mail.force_extra_parameters</b> a l'arxiu <b>php.ini</b>). Si alguns dels seus destinataris no reben els seus missatges, proveu de modificar aquest paràmetre PHP amb <b>mail.force_extra_parameters =-ba </b>. SendmailOptionNotComplete=Atenció, en alguns sistemes Linux, amb aquest mètode d'enviament, per poder enviar mails en nom seu, la configuració de sendmail ha de contenir l'opció <b>-ba</b> (paràmetre <b>mail.force_extra_parameters</b> a l'arxiu <b>php.ini</b>). Si alguns dels seus destinataris no reben els seus missatges, proveu de modificar aquest paràmetre PHP amb <b>mail.force_extra_parameters =-ba </b>.
PathToDocuments=Rutes d'accés a documents PathToDocuments=Rutes d'accés a documents
PathDirectory=Directori PathDirectory=Catàleg
SendmailOptionMayHurtBuggedMTA=La funcionalitat d'enviar correu electrònic a través del "correu directe PHP" genera una sol·licitud que pot ser mal interpretada per alguns servidors de correu. Això es tradueix en missatges de correu electrònic il·legibles per a les persones allotjades en aquestes plataformes. Aquest és el cas de clients en certs proveïdors de serveis d'Internet (Ex: Orange). Això no és un problema ni de Dolibarr ni de PHP, però sí del servidor de correu. No obstant això, podeu afegir l'opció MAIN_FIX_FOR_BUGGED_MTA amb valor 1 en configuració-varis per tractar que Dolibarr eviti l'error. Una altra solució (recomanada) és utilitzar el mètode d'enviament per SMTP que no té aquest inconvenient. SendmailOptionMayHurtBuggedMTA=La funcionalitat d'enviar correu electrònic a través del "correu directe PHP" genera una sol·licitud que pot ser mal interpretada per alguns servidors de correu. Això es tradueix en missatges de correu electrònic il·legibles per a les persones allotjades en aquestes plataformes. Aquest és el cas de clients en certs proveïdors de serveis d'Internet (Ex: Orange). Això no és un problema ni de Dolibarr ni de PHP, però sí del servidor de correu. No obstant això, podeu afegir l'opció MAIN_FIX_FOR_BUGGED_MTA amb valor 1 en configuració-varis per tractar que Dolibarr eviti l'error. Una altra solució (recomanada) és utilitzar el mètode d'enviament per SMTP que no té aquest inconvenient.
TranslationSetup=Configuració traducció TranslationSetup=Configuració traducció
TranslationDesc=L'elecció de l'idioma mostrat en pantalla es modifica:<br>* A nivell global des del menú <strong>Inici - Configuració - Entorn</strong><br>* De manera específica a l'usuari des de la pestanya <strong>interface usuari</strong> de la seva fitxa d'usuari (fer clic al seu login a la part superior esquerra de la pantalla). TranslationDesc=L'elecció de l'idioma mostrat en pantalla es modifica:<br>* A nivell global des del menú <strong>Inici - Configuració - Entorn</strong><br>* De manera específica a l'usuari des de la pestanya <strong>interface usuari</strong> de la seva fitxa d'usuari (fer clic al seu login a la part superior esquerra de la pantalla).
TotalNumberOfActivatedModules=Nombre total de mòduls activats: <b>%s</b>
YouMustEnableOneModule=Ha d'activar almenys 1 mòdul.
##### Module password generation ##### Module password generation
PasswordGenerationStandard=Retorna una contrasenya generada per l'algoritme intern Dolibarr: 8 caràcters, números i caràcters en minúscules barrejades. PasswordGenerationStandard=Retorna una contrasenya generada per l'algoritme intern Dolibarr: 8 caràcters, números i caràcters en minúscules barrejades.
PasswordGenerationNone=No ofereix contrasenyes. La contrasenya s'introdueix manualment. PasswordGenerationNone=No ofereix contrasenyes. La contrasenya s'introdueix manualment.
@ -956,8 +966,6 @@ WatermarkOnDraftInvoices=Marca d'aigua en les factures esborrany (en cas d'estar
PropalSetup=Configuració del mòdul Pressupostos PropalSetup=Configuració del mòdul Pressupostos
CreateForm=Creació formulari CreateForm=Creació formulari
NumberOfProductLines=Nombre de línies de productes NumberOfProductLines=Nombre de línies de productes
PathToDocuments=Rutes d'accés a documents
PathDirectory=Catàleg
ProposalsNumberingModules=Mòduls de numeració de pressupostos ProposalsNumberingModules=Mòduls de numeració de pressupostos
ProposalsPDFModules=Models de documents de pressupostos ProposalsPDFModules=Models de documents de pressupostos
ClassifiedInvoiced=Classificar facturat ClassifiedInvoiced=Classificar facturat
@ -1141,6 +1149,8 @@ UseSearchToSelectProduct=Utilitzar un formulari de cerca per a la selecció d'un
UseEcoTaxeAbility=Assumir ecotaxa (DEEE) UseEcoTaxeAbility=Assumir ecotaxa (DEEE)
SetDefaultBarcodeTypeProducts=Tipus de codi de barres utilitzat per defecte per als productes SetDefaultBarcodeTypeProducts=Tipus de codi de barres utilitzat per defecte per als productes
SetDefaultBarcodeTypeThirdParties=Tipus de codi de barres utilitzat per defecte per als tercers SetDefaultBarcodeTypeThirdParties=Tipus de codi de barres utilitzat per defecte per als tercers
ProductCodeChecker=Mòdul per a la generació i comprovació del codi d'un producte o servei
ProductOtherConf=Configuració de productes/serveis
##### Syslog ##### ##### Syslog #####
SyslogSetup=Configuració del mòdul Syslog SyslogSetup=Configuració del mòdul Syslog
SyslogOutput=Sortida del log SyslogOutput=Sortida del log
@ -1151,6 +1161,7 @@ SyslogSimpleFile=Arxiu
SyslogFilename=Nom i ruta de l'arxiu SyslogFilename=Nom i ruta de l'arxiu
YouCanUseDOL_DATA_ROOT=Podeu utilitzar DOL_DATA_ROOT/dolibarr.log per a un registre a la carpeta documents de Dolibarr. Tanmateix, pot establir una carpeta diferent per guardar aquest arxiu. YouCanUseDOL_DATA_ROOT=Podeu utilitzar DOL_DATA_ROOT/dolibarr.log per a un registre a la carpeta documents de Dolibarr. Tanmateix, pot establir una carpeta diferent per guardar aquest arxiu.
ErrorUnknownSyslogConstant=La constant %s no és una constant syslog coneguda ErrorUnknownSyslogConstant=La constant %s no és una constant syslog coneguda
OnlyWindowsLOG_USER=Windows només suporta LOG_USER
##### Donations ##### ##### Donations #####
DonationsSetup=Configuració del mòdul subvencions DonationsSetup=Configuració del mòdul subvencions
DonationsReceiptModel=Model recepció de subvencions DonationsReceiptModel=Model recepció de subvencions
@ -1173,6 +1184,8 @@ WithdrawalsSetup=Configuració del mòdul domiciliacions
##### ExternalRSS ##### ##### ExternalRSS #####
ExternalRSSSetup=Configuració de les importacions del flux RSS ExternalRSSSetup=Configuració de les importacions del flux RSS
NewRSS=Sindicació de un nou flux RSS NewRSS=Sindicació de un nou flux RSS
RSSUrl=URL del RSS
RSSUrlExample=Un flux RSS interessant
##### Mailing ##### ##### Mailing #####
MailingSetup=Configuració del mòdul E-Mailing MailingSetup=Configuració del mòdul E-Mailing
MailingEMailFrom=E-Mail emissor (From) dels correus enviats per E-Mailing MailingEMailFrom=E-Mail emissor (From) dels correus enviats per E-Mailing
@ -1196,12 +1209,9 @@ FreeLegalTextOnDeliveryReceipts=Text lliure a les notes de recepció
##### FCKeditor ##### ##### FCKeditor #####
AdvancedEditor=Editor avançat AdvancedEditor=Editor avançat
ActivateFCKeditor=Activar editor avançat per a : ActivateFCKeditor=Activar editor avançat per a :
FCKeditorForUsers=Creació/edició WYSIWIG de la descripció i notes dels usuaris
FCKeditorForCompany=Creació/edició WYSIWIG de la descripció i notes dels tercers FCKeditorForCompany=Creació/edició WYSIWIG de la descripció i notes dels tercers
FCKeditorForProduct=Creació/edició WYSIWIG de la descripció i notes dels productes/serveis FCKeditorForProduct=Creació/edició WYSIWIG de la descripció i notes dels productes/serveis
FCKeditorForMembers=Creació/edició WYSIWIG de la descripció i notes dels membres
FCKeditorForProductDetails=Creació/edició WYSIWIG de les línies de detall dels productes (en comandes, pressupostos, factures, etc.) FCKeditorForProductDetails=Creació/edició WYSIWIG de les línies de detall dels productes (en comandes, pressupostos, factures, etc.)
FCKeditorForProductDetailsPerso=Creació/edició WYSIWIG de les línies de detall en els productes personalitzades (en comandes, pressupostos, factures, etc.)<font class="warning">Advertència: L'ús per a aquest cas no és aconsellable ja que pot causar problemes en la gestió dels caràcters i el disseny dels arxius PDF generats.</font>
FCKeditorForMailing=Creació/edició WYSIWIG dels E-Mails FCKeditorForMailing=Creació/edició WYSIWIG dels E-Mails
##### OSCommerce 1 ##### ##### OSCommerce 1 #####
OSCommerceErrorConnectOkButWrongDatabase=La connexió s'ha establert, però la base de dades no sembla de OSCommerce. OSCommerceErrorConnectOkButWrongDatabase=La connexió s'ha establert, però la base de dades no sembla de OSCommerce.
@ -1301,8 +1311,6 @@ BankOrderGlobal=General
BankOrderGlobalDesc=Ordre de visualització general BankOrderGlobalDesc=Ordre de visualització general
BankOrderES=Espanyol BankOrderES=Espanyol
BankOrderESDesc=Ordre de visualització espanyol BankOrderESDesc=Ordre de visualització espanyol
##### MailmanSpip #####
MailmanSpipSetup=Configuració del mòdul Mailman i SPIP
##### Multicompany ##### ##### Multicompany #####
MultiCompanySetup=Configuració del mòdul Multi-empresa MultiCompanySetup=Configuració del mòdul Multi-empresa
##### Suppliers ##### ##### Suppliers #####
@ -1320,3 +1328,4 @@ TestGeoIPResult=Test de conversió IP -> País
ProjectsNumberingModules=Mòdul de numeració per a les referències dels projectes ProjectsNumberingModules=Mòdul de numeració per a les referències dels projectes
ProjectsSetup=Configuració del mòdul Projectes ProjectsSetup=Configuració del mòdul Projectes
ProjectsModelModule=Model de document per a informes de projectes ProjectsModelModule=Model de document per a informes de projectes
Server=Servidor

View File

@ -53,6 +53,7 @@ BoxTitleLastContracts=Els %s últims contractes
BoxTitleLastModifiedDonations=Les %s últimes subvencions modificades BoxTitleLastModifiedDonations=Les %s últimes subvencions modificades
BoxTitleLastModifiedExpenses=Els %s últims honoraris modificats BoxTitleLastModifiedExpenses=Els %s últims honoraris modificats
BoxTitleLatestSupplierOrders=Les %s últimes comandes a proveïdors BoxTitleLatestSupplierOrders=Les %s últimes comandes a proveïdors
BoxGlobalActivity=Activitat global
FailedToRefreshDataInfoNotUpToDate=Error en el refresc del flux RSS. Data de l'últim refresc :%s FailedToRefreshDataInfoNotUpToDate=Error en el refresc del flux RSS. Data de l'últim refresc :%s
LastRefreshDate=Data darrera actualització LastRefreshDate=Data darrera actualització
NoRecordedBookmarks=No hi ha marcadors personals. NoRecordedBookmarks=No hi ha marcadors personals.
@ -71,4 +72,5 @@ NoRecordedProducts=Sense productes/serveis registrats
NoRecordedProspects=Sense clients potencials registrats NoRecordedProspects=Sense clients potencials registrats
NoContractedProducts=Sense productes/serveis contractats NoContractedProducts=Sense productes/serveis contractats
NoRecordedContracts=Sense contractes registrats NoRecordedContracts=Sense contractes registrats
BoxLatestSupplierOrders=Últimes comandes a proveïdors
NoSupplierOrder=Sense comandes a proveïdors NoSupplierOrder=Sense comandes a proveïdors

View File

@ -24,6 +24,7 @@ TaskRDVWith=Cita amb %s
ShowTask=Veure tasca ShowTask=Veure tasca
ShowAction=Veure esdeveniment ShowAction=Veure esdeveniment
ActionsReport=Informe d'esdeveniments ActionsReport=Informe d'esdeveniments
ThirdPartiesOfSaleRepresentative=Tercers on el representant de vendes és
SalesRepresentative=Comercial SalesRepresentative=Comercial
SalesRepresentatives=Comercials SalesRepresentatives=Comercials
SalesRepresentativeFollowUp=Comercial (seguiment) SalesRepresentativeFollowUp=Comercial (seguiment)

View File

@ -3,9 +3,9 @@ CHARSET=UTF-8
ErrorCompanyNameAlreadyExists=El nom de l'empresa %s ja existeix. Indiqui altre. ErrorCompanyNameAlreadyExists=El nom de l'empresa %s ja existeix. Indiqui altre.
ErrorPrefixAlreadyExists=El prefix %s ja existeix. Indiqui altre. ErrorPrefixAlreadyExists=El prefix %s ja existeix. Indiqui altre.
ErrorSetACountryFirst=Definiu en primer lloc el país ErrorSetACountryFirst=Definiu en primer lloc el país
SelectThirdParty=Seleccionar un tercer
DeleteThirdParty=Eliminar un tercer DeleteThirdParty=Eliminar un tercer
ConfirmDeleteCompany=Esteu segur de voler eliminar aquesta empresa i tota la informació dependent? ConfirmDeleteCompany=Esteu segur de voler eliminar aquesta empresa i tota la informació dependent?
SelectThirdParty=Seleccionar un tercer
DeleteContact=Eliminar un contacte DeleteContact=Eliminar un contacte
ConfirmDeleteContact=Esteu segur de voler eliminar aquest contacte i tota la seva informació inherent? ConfirmDeleteContact=Esteu segur de voler eliminar aquest contacte i tota la seva informació inherent?
MenuNewThirdParty=Nou tercer MenuNewThirdParty=Nou tercer
@ -95,11 +95,13 @@ ProfId2Short=Prof. id 2
ProfId3Short=Prof. id 3 ProfId3Short=Prof. id 3
ProfId4Short=Prof. id 4 ProfId4Short=Prof. id 4
ProfId5Short=Prof. id 5 ProfId5Short=Prof. id 5
ProfId6Short=Prof. id 6
ProfId1=ID profesional 1 ProfId1=ID profesional 1
ProfId2=ID profesional 2 ProfId2=ID profesional 2
ProfId3=ID profesional 3 ProfId3=ID profesional 3
ProfId4=ID profesional 4 ProfId4=ID profesional 4
ProfId5=ID profesional 5 ProfId5=ID profesional 5
ProfId6=ID professional 6
ProfId1AR=CUIT/CUIL ProfId1AR=CUIT/CUIL
ProfId2AR=Ingressos bruts ProfId2AR=Ingressos bruts
ProfId3AR=- ProfId3AR=-
@ -115,12 +117,12 @@ ProfId2BE=-
ProfId3BE=- ProfId3BE=-
ProfId4BE=- ProfId4BE=-
ProfId5BE=- ProfId5BE=-
#ProfId1BR=CNAE ProfId1BR=CNPJ
#ProfId2BR=CNPJ ProfId2BR=IE (Inscricao Estadual)
#ProfId3BR=CPF ProfId3BR=IM (Inscricao Municipal)
#ProfId4BR=INSS ProfId4BR=CPF
#ProfId5BR=IE #ProfId5BR=CNAE=
#ProfId6BR=IM #ProfId6BR=INSS=
ProfId1CH=- ProfId1CH=-
ProfId2CH=- ProfId2CH=-
ProfId3CH=Número federat ProfId3CH=Número federat
@ -146,11 +148,13 @@ ProfId2ES=Núm seguretat social
ProfId3ES=CNAE ProfId3ES=CNAE
ProfId4ES=Núm col·legiat ProfId4ES=Núm col·legiat
ProfId5ES=- ProfId5ES=-
ProfId6ES=-
ProfId1FR=SIREN ProfId1FR=SIREN
ProfId2FR=SIRET ProfId2FR=SIRET
ProfId3FR=NAF (Ex APE) ProfId3FR=NAF (Ex APE)
ProfId4FR=RCS/RM ProfId4FR=RCS/RM
ProfId5FR=- ProfId5FR=-
ProfId6FR=-
ProfId1GB=Número registre ProfId1GB=Número registre
ProfId2GB=- ProfId2GB=-
ProfId3GB=SIC ProfId3GB=SIC

View File

@ -246,12 +246,13 @@ CountryJE=Jersey
CountryME=Monténégro CountryME=Monténégro
CountryBL=Saint-Barthélemy CountryBL=Saint-Barthélemy
CountryMF=Saint-Martin CountryMF=Saint-Martin
##### Civilities ##### ##### Civilities #####=undefined
CivilityMME=Senyora CivilityMME=Senyora
CivilityMR=Senyor CivilityMR=Senyor
CivilityMLE=Senyoreta CivilityMLE=Senyoreta
CivilityMTRE=En CivilityMTRE=En
##### Currencies ##### CivilityDR=Doctor
##### Currencies #####=undefined
Currencyeuros=Euros Currencyeuros=Euros
CurrencyAUD=Dòlars Aus. CurrencyAUD=Dòlars Aus.
CurrencySingAUD=Dòlar Aus. CurrencySingAUD=Dòlar Aus.
@ -293,7 +294,7 @@ CurrencyXPF=Francs CFP
CurrencySingXPF=Franc CFP CurrencySingXPF=Franc CFP
CurrencyCentSingEUR=cèntim CurrencyCentSingEUR=cèntim
CurrencyThousandthSingTND=mil·lèsim CurrencyThousandthSingTND=mil·lèsim
#### Input reasons ##### #### Input reasons ####=
DemandReasonTypeSRC_INTE=Internet DemandReasonTypeSRC_INTE=Internet
DemandReasonTypeSRC_CAMP_MAIL=Campanya correu DemandReasonTypeSRC_CAMP_MAIL=Campanya correu
DemandReasonTypeSRC_CAMP_EMAIL=Campanya E-Mailing DemandReasonTypeSRC_CAMP_EMAIL=Campanya E-Mailing
@ -301,3 +302,27 @@ DemandReasonTypeSRC_CAMP_PHO=Campanya telefònica
DemandReasonTypeSRC_CAMP_FAX=Campanya fax DemandReasonTypeSRC_CAMP_FAX=Campanya fax
DemandReasonTypeSRC_COMM=Contacte comercial DemandReasonTypeSRC_COMM=Contacte comercial
DemandReasonTypeSRC_SHOP=Contacte botiga DemandReasonTypeSRC_SHOP=Contacte botiga
DemandReasonTypeSRC_WOM=Boca a boca
DemandReasonTypeSRC_PARTNER=Soci
DemandReasonTypeSRC_EMPLOYEE=Empleat
DemandReasonTypeSRC_SPONSORSHIP=Patrocinador
#### Paper formats ####=
PaperFormatEU4A0=Format 4A0
PaperFormatEU2A0=Format 2A0
PaperFormatEUA0=Format A0
PaperFormatEUA1=Format A1
PaperFormatEUA2=Format A2
PaperFormatEUA3=Format A3
PaperFormatEUA4=Format A4
PaperFormatEUA5=Format A5
PaperFormatEUA6=Format A6
PaperFormatUSLETTER=Format carta EE. UU.
PaperFormatUSLEGAL=
PaperFormatUSEXECUTIVE=Format executiu EE. UU.
PaperFormatUSLEDGER=Format tabloide
PaperFormatCAP1=Format canadec P1
PaperFormatCAP2=Format canadec P2
PaperFormatCAP3=Format canadec P3
PaperFormatCAP4=Format canadec P4
PaperFormatCAP5=Format canadec P5
PaperFormatCAP6=Format canadec P6

View File

@ -1,7 +1,7 @@
# Dolibarr language file - ca_ES - errors # Dolibarr language file - ca_ES - errors
CHARSET=UTF-8 CHARSET=UTF-8
MenuManager=Gestor de menú MenuManager=Gestor de menú
# Errors # Errors=
Error=Error Error=Error
Errors=Errors Errors=Errors
ErrorBadEMail=e-mail %s incorrecte ErrorBadEMail=e-mail %s incorrecte
@ -102,15 +102,14 @@ ErrorLoginDoesNotExists=El compte d'usuari de <b>%s</b> no s'ha trobat.
ErrorLoginHasNoEmail=Aquest usuari no té e-mail. Impossible continuar. ErrorLoginHasNoEmail=Aquest usuari no té e-mail. Impossible continuar.
ErrorBadValueForCode=Valor no vàlid per al codi. Torneu a intentar-ho amb un nou valor ... ErrorBadValueForCode=Valor no vàlid per al codi. Torneu a intentar-ho amb un nou valor ...
ErrorBothFieldCantBeNegative=Els camps %s i %s no poden ser negatius ErrorBothFieldCantBeNegative=Els camps %s i %s no poden ser negatius
ErrorNoActivatedBarcode=Cap tipus de codi de barres activat
ErrorWebServerUserHasNotPermission=El compte d'execució del servidor web <b>%s</b> no disposa dels permisos per això
ErrorNoActivatedBarcode=No hi ha activat cap tipus de codi de barres ErrorNoActivatedBarcode=No hi ha activat cap tipus de codi de barres
ErrorWebServerUserHasNotPermission=El compte d'execució del servidor web <b>%s</b> no disposa dels permisos per això
ErrUnzipFails=No s'ha pogut descomprimir el fitxer %s amb ZipArchive ErrUnzipFails=No s'ha pogut descomprimir el fitxer %s amb ZipArchive
ErrNoZipEngine=En aquest PHP no hi ha motor per descomprimir l'arxiu %s ErrNoZipEngine=En aquest PHP no hi ha motor per descomprimir l'arxiu %s
ErrorFileMustBeADolibarrPackage=El fitxer %s ha de ser un paquet Dolibarr en format zip ErrorFileMustBeADolibarrPackage=El fitxer %s ha de ser un paquet Dolibarr en format zip
ErrorFileRequired=Es requereix un fitxer de paquet Dolibarr en format zip ErrorFileRequired=Es requereix un fitxer de paquet Dolibarr en format zip
ErrorPhpCurlNotInstalled=L'extensió PHP CURL no es troba instal·lada, és indispensable per dialogar amb Paypal. ErrorPhpCurlNotInstalled=L'extensió PHP CURL no es troba instal·lada, és indispensable per dialogar amb Paypal.
ErrorFailedToAddToMailmanList=S'ha produït un error en intentar afegir un registre a la llista Mailman o base de dades SPIP
# Warnings # Warnings
WarningSafeModeOnCheckExecDir=Atenció, està activada l'opció PHP <b>safe_mode</b>, la comanda ha d'estar dins d'un directori declarat dins del paràmetre php <b>safe_mode_exec_dir</b>. WarningSafeModeOnCheckExecDir=Atenció, està activada l'opció PHP <b>safe_mode</b>, la comanda ha d'estar dins d'un directori declarat dins del paràmetre php <b>safe_mode_exec_dir</b>.
WarningAllowUrlFopenMustBeOn=El paràmetre <b>allow_url_fopen</b> ha de ser especificat a <b>on</b> a l'arxiu <b>php.ini</b> per disposar d'aquest mòdul completament actiu. Ha de modificar aquest arxiu manualment WarningAllowUrlFopenMustBeOn=El paràmetre <b>allow_url_fopen</b> ha de ser especificat a <b>on</b> a l'arxiu <b>php.ini</b> per disposar d'aquest mòdul completament actiu. Ha de modificar aquest arxiu manualment
@ -122,3 +121,4 @@ WarningsOnXLines=Alertes a <b>%s</b> línies font
WarningNoDocumentModelActivated=No hi ha cap model per a la generació del document activat. Es prendrà un model per defecte fins que es configuri el mòdul. WarningNoDocumentModelActivated=No hi ha cap model per a la generació del document activat. Es prendrà un model per defecte fins que es configuri el mòdul.
WarningLockFileDoesNotExists=Atenció: Un cop acabada l'instal·lació, han de desactivar les eines d'instal·lació/actualització afegint l'arxiu <b>install.lock</b> al directori <b>%s</b>. L'absència d'aquest imatge mostra una fallada de seguretat. WarningLockFileDoesNotExists=Atenció: Un cop acabada l'instal·lació, han de desactivar les eines d'instal·lació/actualització afegint l'arxiu <b>install.lock</b> al directori <b>%s</b>. L'absència d'aquest imatge mostra una fallada de seguretat.
WarningUntilDirRemoved=Aquesta alerta seguirà activa mentre la carpeta existeixi (alerta visible per als usuaris admin solament). WarningUntilDirRemoved=Aquesta alerta seguirà activa mentre la carpeta existeixi (alerta visible per als usuaris admin solament).
WarningCloseAlways=Avís, el tancament és realitzat encara que la quantitat total difereixi entre els elements d'origen i destí. Activi aquesta funcionalitat amb precaució.

View File

@ -112,4 +112,7 @@ SourceExample=Exemple de dades d'origen possibles
ExampleAnyRefFoundIntoElement=Totes les referències trobades per als elements <b>%s</b> ExampleAnyRefFoundIntoElement=Totes les referències trobades per als elements <b>%s</b>
ExampleAnyCodeOrIdFoundIntoDictionnary=Tots els codis (o id) trobats en el diccionari <b>%s</b> ExampleAnyCodeOrIdFoundIntoDictionnary=Tots els codis (o id) trobats en el diccionari <b>%s</b>
CSVFormatDesc=Arxiu amb format <b>Valors separats per coma</b> (.csv).<br>És un fitxer amb format de text en què els camps són separats pel caràcter [ %s ]. Si el separador es troba en el contingut d'un camp, el camp ha d'estar tancat per el caràcter [ %s ]. El caràcter d'escapament per a incloure un caràcter d'entorn en una dada és [ %s ]. CSVFormatDesc=Arxiu amb format <b>Valors separats per coma</b> (.csv).<br>És un fitxer amb format de text en què els camps són separats pel caràcter [ %s ]. Si el separador es troba en el contingut d'un camp, el camp ha d'estar tancat per el caràcter [ %s ]. El caràcter d'escapament per a incloure un caràcter d'entorn en una dada és [ %s ].
Excel95FormatDesc=Arxiu amb format <b>Excel</b> (.xls)<br>Aquest és el format natiu d'Excel 95 (BIFF5).
Excel2007FormatDesc=Arxiu amb format <b>Excel</b> (.xlsx)<br>Aquest és el format natiu d'Excel 2007 (SpreadsheetML).
TsvFormatDesc=Arxiu amb format <b>Valors separats per tabulador</b> (. Tsv)<br> Aquest és un format d'arxiu de text en què els camps són separats per un tabulador [tab].
ExportFieldAutomaticallyAdded=S'ha afegit automàticament el camp <b>%s</b>, ja que evitarà que línies idèntiques siguin considerades com duplicades (amb aquest camp, cada línia tindrà un id propi). ExportFieldAutomaticallyAdded=S'ha afegit automàticament el camp <b>%s</b>, ja que evitarà que línies idèntiques siguin considerades com duplicades (amb aquest camp, cada línia tindrà un id propi).

View File

@ -23,6 +23,7 @@ ConfirmModifyIntervention=Esteu segur de voler modificar aquesta intervenció?
ConfirmDeleteInterventionLine=Esteu segur de voler eliminar aquesta línia? ConfirmDeleteInterventionLine=Esteu segur de voler eliminar aquesta línia?
NameAndSignatureOfInternalContact=Nom i signatura del participant: NameAndSignatureOfInternalContact=Nom i signatura del participant:
NameAndSignatureOfExternalContact=Nom i signatura del client: NameAndSignatureOfExternalContact=Nom i signatura del client:
DocumentModelStandard=Document model estàndard per a intervencions
InterventionCardsAndInterventionLines=Fitxes i línies d'intervenció InterventionCardsAndInterventionLines=Fitxes i línies d'intervenció
InterId=Id intervenció InterId=Id intervenció
InterRef=Ref. intervenció InterRef=Ref. intervenció
@ -39,12 +40,12 @@ ClassifyBilled=Classificar "Facturado"
StatusInterInvoiced=Facturado StatusInterInvoiced=Facturado
RelatedInterventions=Intervencions adjuntes RelatedInterventions=Intervencions adjuntes
ShowIntervention=Mostrar intervenció ShowIntervention=Mostrar intervenció
##### Types de contacts ##### ##### Types de contacts #####=undefined
TypeContact_fichinter_internal_INTERREPFOLL=Responsable seguiment de la intervenció TypeContact_fichinter_internal_INTERREPFOLL=Responsable seguiment de la intervenció
TypeContact_fichinter_internal_INTERVENING=Interventor TypeContact_fichinter_internal_INTERVENING=Interventor
TypeContact_fichinter_external_BILLING=Contacte client facturació intevenció TypeContact_fichinter_external_BILLING=Contacte client facturació intevenció
TypeContact_fichinter_external_CUSTOMER=Contacte client seguiment intervenció TypeContact_fichinter_external_CUSTOMER=Contacte client seguiment intervenció
# Modele numérotation # Modele numérotation=undefined
ArcticNumRefModelDesc1=Model de numeració genèric ArcticNumRefModelDesc1=Model de numeració genèric
ArcticNumRefModelError=Activació impossible ArcticNumRefModelError=Activació impossible
PacificNumRefModelDesc1=Retorna el número amb el format %syymm-nnnn on yy és l'any, mm. el mes i nnnn un comptador seqüencial sense ruptura i sense quedar a 0 PacificNumRefModelDesc1=Retorna el número amb el format %syymm-nnnn on yy és l'any, mm. el mes i nnnn un comptador seqüencial sense ruptura i sense quedar a 0

View File

@ -39,12 +39,13 @@ MailingStatusDraft=Esborrany
MailingStatusValidated=Validat MailingStatusValidated=Validat
MailingStatusApproved=Aprovat MailingStatusApproved=Aprovat
MailingStatusSent=Enviat MailingStatusSent=Enviat
MailingStatusRead=Llegit
MailingStatusSentPartialy=Enviat parcialment MailingStatusSentPartialy=Enviat parcialment
MailingStatusSentCompletely=Enviat completament MailingStatusSentCompletely=Enviat completament
MailingStatusError=Error MailingStatusError=Error
MailingStatusNotSent=No enviat MailingStatusNotSent=No enviat
MailSuccessfulySent=E-mail enviat correctament (de %s a %s) MailSuccessfulySent=E-mail enviat correctament (de %s a %s)
MailUnsubcribe=Desubscriure
Unsuscribe=Desubscriure
ErrorMailRecipientIsEmpty=L'adreça del destinatari és buida ErrorMailRecipientIsEmpty=L'adreça del destinatari és buida
WarningNoEMailsAdded=Cap nou e-mail a afegir a la llista destinataris. WarningNoEMailsAdded=Cap nou e-mail a afegir a la llista destinataris.
ConfirmValidMailing=Confirmeu la validació del E-Mailing? ConfirmValidMailing=Confirmeu la validació del E-Mailing?
@ -70,6 +71,12 @@ CloneReceivers=Clonar destinataris
DateLastSend=Data últim enviament DateLastSend=Data últim enviament
DateSending=Data enviament DateSending=Data enviament
SentTo=Enviat a <b>%s</b> SentTo=Enviat a <b>%s</b>
MailingStatusRead=Llegit
CheckRead=Confirmació de lectura
YourMailUnsubcribeOK=El correu electrònic <b>%s</b> és correcta desuscribe.
MailtoEMail=mailto email (hyperlink)
ActivateCheckRead=Activar confirmació de lectura i opció de Desubscripció
ActivateCheckReadKey=Clau usada per xifrar la URL de la confirmació de lectura i la funció de desubscripció
# Libelle des modules de liste de destinataires mailing== # Libelle des modules de liste de destinataires mailing==
MailingModuleDescContactCompanies=Contactes de tercers (clients potencials, clients, proveïdors ...) MailingModuleDescContactCompanies=Contactes de tercers (clients potencials, clients, proveïdors ...)
MailingModuleDescDolibarrUsers=Usuaris de Dolibarr MailingModuleDescDolibarrUsers=Usuaris de Dolibarr

View File

@ -132,6 +132,7 @@ ToClone=Copiar
ConfirmClone=Seleccions dades que voleu copiar. ConfirmClone=Seleccions dades que voleu copiar.
NoCloneOptionsSpecified=no hi ha dades definits per copiar NoCloneOptionsSpecified=no hi ha dades definits per copiar
Of=de Of=de
Go=Anar
CopyOf=Còpia de CopyOf=Còpia de
Show=Veure Show=Veure
ShowCardHere=Veure la fitxa aquí ShowCardHere=Veure la fitxa aquí
@ -623,7 +624,6 @@ BySalesRepresentative=Per comercial
LinkedToSpecificUsers=Enllaçat a un contacte d'usuari particular LinkedToSpecificUsers=Enllaçat a un contacte d'usuari particular
DeleteAFile=Eliminació d'arxiu DeleteAFile=Eliminació d'arxiu
ConfirmDeleteAFile=Confirma l'eliminació de l'arxiu ConfirmDeleteAFile=Confirma l'eliminació de l'arxiu
# Week day # Week day
Monday=Dilluns Monday=Dilluns
Tuesday=Dimarts Tuesday=Dimarts
@ -653,3 +653,6 @@ ShortThursday=Dj
ShortFriday=Dv ShortFriday=Dv
ShortSaturday=Ds ShortSaturday=Ds
ShortSunday=Dg ShortSunday=Dg
View=Veure
Test=Prova
Element=Element

View File

@ -144,12 +144,12 @@ DescADHERENT_MAIL_RESIL_SUBJECT=Assumpte d'e-mail de baixa
DescADHERENT_MAIL_RESIL=E-mail de baixa DescADHERENT_MAIL_RESIL=E-mail de baixa
DescADHERENT_MAIL_FROM=E-mail emissor per als e-mails automàtics DescADHERENT_MAIL_FROM=E-mail emissor per als e-mails automàtics
DescADHERENT_ETIQUETTE_TYPE=Format pàgines etiquetes DescADHERENT_ETIQUETTE_TYPE=Format pàgines etiquetes
DescADHERENT_ETIQUETTE_TEXT=Text a imprimir a la direcció de les etiquetes de cada membre
DescADHERENT_CARD_TYPE=Format pàgines carnet de membre DescADHERENT_CARD_TYPE=Format pàgines carnet de membre
DescADHERENT_CARD_HEADER_TEXT=Text a imprimir en la part superior del carnet de membre DescADHERENT_CARD_HEADER_TEXT=Text a imprimir en la part superior del carnet de membre
DescADHERENT_CARD_TEXT=Text a imprimir en el carnet de membre (Alineat a la dreta) DescADHERENT_CARD_TEXT=Text a imprimir en el carnet de membre (Alineat a la dreta)
DescADHERENT_CARD_TEXT_RIGHT=Text a imprimir en el carnet de membre (Alineat a la dreta) DescADHERENT_CARD_TEXT_RIGHT=Text a imprimir en el carnet de membre (Alineat a la dreta)
DescADHERENT_CARD_FOOTER_TEXT=Text a imprimir a la part inferior del carnet de membre DescADHERENT_CARD_FOOTER_TEXT=Text a imprimir a la part inferior del carnet de membre
DescADHERENT_MAILMAN_LISTS=Llista(s) per a la inscripció automàtica dels nous membres (separats per comes)
GlobalConfigUsedIfNotDefined=S'utilitzarà el text definit en la configuració del mòdul Membres si no es defineix aquí GlobalConfigUsedIfNotDefined=S'utilitzarà el text definit en la configuració del mòdul Membres si no es defineix aquí
MayBeOverwrited=Aquest valor pot ser sobreescrit pel text definit en el tipus de membre MayBeOverwrited=Aquest valor pot ser sobreescrit pel text definit en el tipus de membre
ShowTypeCard=Veure tipus '%s' ShowTypeCard=Veure tipus '%s'

View File

@ -169,3 +169,5 @@ SuppliersPrices=Preus proveïdors
CustomCode=Codi duaner CustomCode=Codi duaner
CountryOrigin=País d'origen CountryOrigin=País d'origen
HiddenIntoCombo=Ocult en les llistes HiddenIntoCombo=Ocult en les llistes
ProductCodeModel=Model de codi de producte
ServiceCodeModel=Model de codi de servei

View File

@ -637,6 +637,7 @@ Permission1233=Validate supplier invoices
Permission1234=Delete supplier invoices Permission1234=Delete supplier invoices
Permission1235=Send supplier invoices by email Permission1235=Send supplier invoices by email
Permission1236=Export supplier invoices, attributes and payments Permission1236=Export supplier invoices, attributes and payments
Permission1237=Export supplier orders and their details
Permission1251=Run mass imports of external data into database (data load) Permission1251=Run mass imports of external data into database (data load)
Permission1321=Export customer invoices, attributes and payments Permission1321=Export customer invoices, attributes and payments
Permission1421=Export customer orders and attributes Permission1421=Export customer orders and attributes

View File

@ -334,7 +334,7 @@ SecurityTokenIsUnique=¿Usar un parámetro securekey único para cada URL?
EnterRefToBuildUrl=Introduzca la referencia del objeto %s EnterRefToBuildUrl=Introduzca la referencia del objeto %s
GetSecuredUrl=Obtener la URL calculada GetSecuredUrl=Obtener la URL calculada
ButtonHideUnauthorized=Ocultar los botones de acciones no autorizadas en vez de mostrarlos atenuados ButtonHideUnauthorized=Ocultar los botones de acciones no autorizadas en vez de mostrarlos atenuados
# Modules= undefined= # Modules
Module0Name=Usuarios y grupos Module0Name=Usuarios y grupos
Module0Desc=Gestión de usuarios y grupos Module0Desc=Gestión de usuarios y grupos
Module1Name=Terceros Module1Name=Terceros
@ -643,6 +643,7 @@ Permission1233=Validar facturas de proveedores
Permission1234=Eliminar facturas de proveedores Permission1234=Eliminar facturas de proveedores
Permission1235=Enviar facturas de proveedores por correo Permission1235=Enviar facturas de proveedores por correo
Permission1236=Exportar facturas de proveedores, atributos y pagos Permission1236=Exportar facturas de proveedores, atributos y pagos
Permission1237=Exportar pedidos de proveedores junto con sus detalles
Permission1251=Lanzar las importaciones en masa a la base de datos (carga de datos) Permission1251=Lanzar las importaciones en masa a la base de datos (carga de datos)
Permission1321=Exportar facturas a clientes, atributos y cobros Permission1321=Exportar facturas a clientes, atributos y cobros
Permission1401=Leer el plan contable Permission1401=Leer el plan contable
@ -893,7 +894,7 @@ SendmailOptionMayHurtBuggedMTA=La funcionalidad de enviar correo electrónico a
TranslationSetup=Configuración traducción TranslationSetup=Configuración traducción
TranslationDesc=La elección del idioma mostrado en pantalla se modifica:<br>* A nivel global desde el menú <strong>Inicio - Configuración - Entorno</strong><br>* De manera específica al usuario desde la pestaña <strong>Interfaz usuario</strong> de su ficha de usuario (hacer clic en su login en la parte superior izquierda de la pantalla). TranslationDesc=La elección del idioma mostrado en pantalla se modifica:<br>* A nivel global desde el menú <strong>Inicio - Configuración - Entorno</strong><br>* De manera específica al usuario desde la pestaña <strong>Interfaz usuario</strong> de su ficha de usuario (hacer clic en su login en la parte superior izquierda de la pantalla).
TotalNumberOfActivatedModules=Número total de módulos activados: <b>%s</b> TotalNumberOfActivatedModules=Número total de módulos activados: <b>%s</b>
YouMustEnableOneModule=Debes por lo menos activar 1 módulo. YouMustEnableOneModule=Debe activar al menos 1 módulo.
##### Module password generation ##### Module password generation
PasswordGenerationStandard=Devuelve una contraseña generada por el algoritmo interno Dolibarr: 8 caracteres, números y caracteres en minúsculas mezcladas. PasswordGenerationStandard=Devuelve una contraseña generada por el algoritmo interno Dolibarr: 8 caracteres, números y caracteres en minúsculas mezcladas.
PasswordGenerationNone=No ofrece contraseñas. La contraseña se introduce manualmente. PasswordGenerationNone=No ofrece contraseñas. La contraseña se introduce manualmente.

View File

@ -148,6 +148,7 @@ ProfId2ES=Núm seguridad social
ProfId3ES=CNAE ProfId3ES=CNAE
ProfId4ES=Núm colegiado ProfId4ES=Núm colegiado
ProfId5ES=- ProfId5ES=-
ProfId6ES=-
ProfId1FR=SIREN ProfId1FR=SIREN
ProfId2FR=SIRET ProfId2FR=SIRET
ProfId3FR=NAF (Ex APE) ProfId3FR=NAF (Ex APE)

View File

@ -113,6 +113,7 @@ ErrorPhpCurlNotInstalled=La extensión PHP CURL no se encuentra instalada, es in
ErrorFailedToAddToMailmanList=Ha ocurrido un error al intentar añadir un registro a la lista Mailman o base de datos SPIP ErrorFailedToAddToMailmanList=Ha ocurrido un error al intentar añadir un registro a la lista Mailman o base de datos SPIP
# Warnings # Warnings
WarningMandatorySetupNotComplete=Los parámetros obligatorios de configuración no están todavía definidos
WarningSafeModeOnCheckExecDir=Atención, está activada la opción PHP <b>safe_mode</b>, el comando deberá estar dentro de un directorio declarado dentro del parámetro php <b>safe_mode_exec_dir</b>. WarningSafeModeOnCheckExecDir=Atención, está activada la opción PHP <b>safe_mode</b>, el comando deberá estar dentro de un directorio declarado dentro del parámetro php <b>safe_mode_exec_dir</b>.
WarningAllowUrlFopenMustBeOn=El parámetro <b>allow_url_fopen</b> debe ser especificado a <b>on</b> en el archivo <b>php.ini</b> para disponer de este módulo completamente activo. Debe modificar este archivo manualmente WarningAllowUrlFopenMustBeOn=El parámetro <b>allow_url_fopen</b> debe ser especificado a <b>on</b> en el archivo <b>php.ini</b> para disponer de este módulo completamente activo. Debe modificar este archivo manualmente
WarningBuildScriptNotRunned=El script <b>%s</b> todavía no ha ejecutado la construcción de gráficos. WarningBuildScriptNotRunned=El script <b>%s</b> todavía no ha ejecutado la construcción de gráficos.

View File

@ -639,6 +639,7 @@ Permission1233= Valider une facture fournisseur
Permission1234= Supprimer une facture fournisseur Permission1234= Supprimer une facture fournisseur
Permission1235= Envoyer les factures fournisseur par courriel Permission1235= Envoyer les factures fournisseur par courriel
Permission1236= Exporter les factures fournisseurs, attributs et règlements Permission1236= Exporter les factures fournisseurs, attributs et règlements
Permission1237=Exporter les commande fournisseurs, attributs
Permission1251= Lancer des imports de masse dans la base (chargement de données) Permission1251= Lancer des imports de masse dans la base (chargement de données)
Permission1321= Exporter les factures clients, attributs et règlements Permission1321= Exporter les factures clients, attributs et règlements
Permission1401= Lire le plan de compte Permission1401= Lire le plan de compte

View File

@ -1292,16 +1292,12 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a
$logouttext .='<a href="'.DOL_URL_ROOT.'/user/logout.php"'; $logouttext .='<a href="'.DOL_URL_ROOT.'/user/logout.php"';
$logouttext .=$menutop->atarget?(' target="'.$menutop->atarget.'"'):''; $logouttext .=$menutop->atarget?(' target="'.$menutop->atarget.'"'):'';
$logouttext .='>'; $logouttext .='>';
$logouttext.='<img class="login" border="0" width="14" height="14" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/logout.png"'; $logouttext .= img_picto($langs->trans('Logout'), 'logout.png', 'class="login"');
$logouttext.=' alt="'.dol_escape_htmltag($langs->trans("Logout")).'" title=""';
$logouttext.='>';
$logouttext .='</a>'; $logouttext .='</a>';
} }
else else
{ {
$logouttext.='<img class="login" border="0" width="14" height="14" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/logout.png"'; $logouttext .= img_picto($langs->trans('Logout'), 'logout.png', 'class="login"');
$logouttext.=' alt="'.dol_escape_htmltag($langs->trans("Logout")).'" title=""';
$logouttext.='>';
} }
print '<div class="login_block">'."\n"; print '<div class="login_block">'."\n";
@ -1323,8 +1319,7 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a
{ {
$qs=$_SERVER["QUERY_STRING"].($_SERVER["QUERY_STRING"]?'&':'').$morequerystring; $qs=$_SERVER["QUERY_STRING"].($_SERVER["QUERY_STRING"]?'&':'').$morequerystring;
$text ='<a href="'.$_SERVER["PHP_SELF"].'?'.$qs.($qs?'&':'').'optioncss=print" target="_blank">'; $text ='<a href="'.$_SERVER["PHP_SELF"].'?'.$qs.($qs?'&':'').'optioncss=print" target="_blank">';
$text.='<img class="printer" border="0" width="14" height="14" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/printer.png"'; $text.= img_picto('', 'printer.png', 'class="printer"');
$text.=' title="" alt="">';
$text.='</a>'; $text.='</a>';
$toprightmenu.=$form->textwithtooltip('',$langs->trans("PrintContentArea"),2,1,$text,'',1); $toprightmenu.=$form->textwithtooltip('',$langs->trans("PrintContentArea"),2,1,$text,'',1);
} }

View File

@ -36,7 +36,7 @@ $langs->load("admin");
$langs->load("products"); $langs->load("products");
// Security check // Security check
if (! $user->admin || empty($conf->product->enabled)) if (! $user->admin || (empty($conf->product->enabled) && empty($conf->service->enabled)))
accessforbidden(); accessforbidden();
$action = GETPOST('action','alpha'); $action = GETPOST('action','alpha');

View File

@ -212,11 +212,11 @@ class Societe extends CommonObject
{ {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."societe (nom, entity, datec, datea, fk_user_creat, canvas, status, ref_int, ref_ext, fk_stcomm)"; $sql = "INSERT INTO ".MAIN_DB_PREFIX."societe (nom, entity, datec, datea, fk_user_creat, canvas, status, ref_int, ref_ext, fk_stcomm)";
$sql.= " VALUES ('".$this->db->escape($this->name)."', ".$conf->entity.", '".$this->db->idate($now)."', '".$this->db->idate($now)."'"; $sql.= " VALUES ('".$this->db->escape($this->name)."', ".$conf->entity.", '".$this->db->idate($now)."', '".$this->db->idate($now)."'";
$sql.= ", ".($user->id > 0 ? "'".$user->id."'":"null"); $sql.= ", ".(! empty($user->id) ? "'".$user->id."'":"null");
$sql.= ", ".($this->canvas ? "'".$this->canvas."'":"null"); $sql.= ", ".(! empty($this->canvas) ? "'".$this->canvas."'":"null");
$sql.= ", ".$this->status; $sql.= ", ".$this->status;
$sql.= ", ".($this->ref_int ? "'".$this->ref_int."'":"null"); $sql.= ", ".(! empty($this->ref_int) ? "'".$this->ref_int."'":"null");
$sql.= ", ".($this->ref_ext ? "'".$this->ref_ext."'":"null"); $sql.= ", ".(! empty($this->ref_ext) ? "'".$this->ref_ext."'":"null");
$sql.= ", 0)"; $sql.= ", 0)";
dol_syslog(get_class($this)."::create sql=".$sql); dol_syslog(get_class($this)."::create sql=".$sql);
@ -413,8 +413,8 @@ class Societe extends CommonObject
$this->idprof2 = trim($this->idprof2); $this->idprof2 = trim($this->idprof2);
$this->idprof3 = trim($this->idprof3); $this->idprof3 = trim($this->idprof3);
$this->idprof4 = trim($this->idprof4); $this->idprof4 = trim($this->idprof4);
$this->idprof5 = trim($this->idprof5); $this->idprof5 = (! empty($this->idprof5)?trim($this->idprof5):'');
$this->idprof6 = trim($this->idprof6); $this->idprof6 = (! empty($this->idprof6)?trim($this->idprof6):'');
$this->prefix_comm = trim($this->prefix_comm); $this->prefix_comm = trim($this->prefix_comm);
$this->tva_assuj = trim($this->tva_assuj); $this->tva_assuj = trim($this->tva_assuj);
@ -455,6 +455,32 @@ class Societe extends CommonObject
return -1; return -1;
} }
$customer=false;
if (! empty($allowmodcodeclient) && ! empty($this->client))
{
// Attention get_codecompta peut modifier le code suivant le module utilise
if (empty($this->code_compta))
{
$ret=$this->get_codecompta('customer');
if ($ret < 0) return -1;
}
$customer=true;
}
$supplier=false;
if (! empty($allowmodcodefournisseur) && ! empty($this->fournisseur))
{
// Attention get_codecompta peut modifier le code suivant le module utilise
if (empty($this->code_compta_fournisseur))
{
$ret=$this->get_codecompta('supplier');
if ($ret < 0) return -1;
}
$supplier=true;
}
$this->db->begin(); $this->db->begin();
// Check name is required and codes are ok or unique. // Check name is required and codes are ok or unique.
@ -467,20 +493,20 @@ class Societe extends CommonObject
$sql = "UPDATE ".MAIN_DB_PREFIX."societe SET "; $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET ";
$sql .= "nom = '" . $this->db->escape($this->name) ."'"; // Required $sql .= "nom = '" . $this->db->escape($this->name) ."'"; // Required
$sql .= ",ref_ext = " .($this->ref_ext?"'".$this->db->escape($this->ref_ext) ."'":"null"); $sql .= ",ref_ext = " .(! empty($this->ref_ext)?"'".$this->db->escape($this->ref_ext) ."'":"null");
$sql .= ",datea = '".$this->db->idate($now)."'"; $sql .= ",datea = '".$this->db->idate($now)."'";
$sql .= ",address = '" . $this->db->escape($this->address) ."'"; $sql .= ",address = '" . $this->db->escape($this->address) ."'";
$sql .= ",cp = ".($this->zip?"'".$this->zip."'":"null"); $sql .= ",cp = ".(! empty($this->zip)?"'".$this->zip."'":"null");
$sql .= ",ville = ".($this->town?"'".$this->db->escape($this->town)."'":"null"); $sql .= ",ville = ".(! empty($this->town)?"'".$this->db->escape($this->town)."'":"null");
$sql .= ",fk_departement = '" . ($this->state_id?$this->state_id:'0') ."'"; $sql .= ",fk_departement = '" . (! empty($this->state_id)?$this->state_id:'0') ."'";
$sql .= ",fk_pays = '" . ($this->country_id?$this->country_id:'0') ."'"; $sql .= ",fk_pays = '" . (! empty($this->country_id)?$this->country_id:'0') ."'";
$sql .= ",tel = ".($this->phone?"'".$this->db->escape($this->phone)."'":"null"); $sql .= ",tel = ".(! empty($this->phone)?"'".$this->db->escape($this->phone)."'":"null");
$sql .= ",fax = ".($this->fax?"'".$this->db->escape($this->fax)."'":"null"); $sql .= ",fax = ".(! empty($this->fax)?"'".$this->db->escape($this->fax)."'":"null");
$sql .= ",email = ".($this->email?"'".$this->db->escape($this->email)."'":"null"); $sql .= ",email = ".(! empty($this->email)?"'".$this->db->escape($this->email)."'":"null");
$sql .= ",url = ".($this->url?"'".$this->db->escape($this->url)."'":"null"); $sql .= ",url = ".(! empty($this->url)?"'".$this->db->escape($this->url)."'":"null");
$sql .= ",siren = '". $this->db->escape($this->idprof1) ."'"; $sql .= ",siren = '". $this->db->escape($this->idprof1) ."'";
$sql .= ",siret = '". $this->db->escape($this->idprof2) ."'"; $sql .= ",siret = '". $this->db->escape($this->idprof2) ."'";
@ -499,44 +525,36 @@ class Societe extends CommonObject
$sql .= ",capital = ".$this->capital; $sql .= ",capital = ".$this->capital;
$sql .= ",prefix_comm = ".($this->prefix_comm?"'".$this->db->escape($this->prefix_comm)."'":"null"); $sql .= ",prefix_comm = ".(! empty($this->prefix_comm)?"'".$this->db->escape($this->prefix_comm)."'":"null");
$sql .= ",fk_effectif = ".($this->effectif_id?"'".$this->effectif_id."'":"null"); $sql .= ",fk_effectif = ".(! empty($this->effectif_id)?"'".$this->effectif_id."'":"null");
$sql .= ",fk_typent = ".($this->typent_id?"'".$this->typent_id."'":"0"); $sql .= ",fk_typent = ".(! empty($this->typent_id)?"'".$this->typent_id."'":"0");
$sql .= ",fk_forme_juridique = ".($this->forme_juridique_code?"'".$this->forme_juridique_code."'":"null"); $sql .= ",fk_forme_juridique = ".(! empty($this->forme_juridique_code)?"'".$this->forme_juridique_code."'":"null");
$sql .= ",client = " . ($this->client?$this->client:0); $sql .= ",client = " . (! empty($this->client)?$this->client:0);
$sql .= ",fournisseur = " . ($this->fournisseur?$this->fournisseur:0); $sql .= ",fournisseur = " . (! empty($this->fournisseur)?$this->fournisseur:0);
$sql .= ",barcode = ".($this->barcode?"'".$this->barcode."'":"null"); $sql .= ",barcode = ".(! empty($this->barcode)?"'".$this->barcode."'":"null");
$sql .= ",default_lang = ".($this->default_lang?"'".$this->default_lang."'":"null"); $sql .= ",default_lang = ".(! empty($this->default_lang)?"'".$this->default_lang."'":"null");
$sql .= ",logo = ".($this->logo?"'".$this->logo."'":"null"); $sql .= ",logo = ".(! empty($this->logo)?"'".$this->logo."'":"null");
if ($allowmodcodeclient && $this->client) if ($customer)
{ {
//$this->check_codeclient(); //$this->check_codeclient();
$sql .= ", code_client = ".($this->code_client?"'".$this->db->escape($this->code_client)."'":"null"); $sql .= ", code_client = ".(! empty($this->code_client)?"'".$this->db->escape($this->code_client)."'":"null");
$sql .= ", code_compta = ".(! empty($this->code_compta)?"'".$this->db->escape($this->code_compta)."'":"null");
// Attention get_codecompta peut modifier le code suivant le module utilise
if (empty($this->code_compta)) $this->get_codecompta('customer');
$sql .= ", code_compta = ".($this->code_compta?"'".$this->db->escape($this->code_compta)."'":"null");
} }
if ($allowmodcodefournisseur && $this->fournisseur) if ($supplier)
{ {
//$this->check_codefournisseur(); //$this->check_codefournisseur();
$sql .= ", code_fournisseur = ".($this->code_fournisseur?"'".$this->db->escape($this->code_fournisseur)."'":"null"); $sql .= ", code_fournisseur = ".(! empty($this->code_fournisseur)?"'".$this->db->escape($this->code_fournisseur)."'":"null");
$sql .= ", code_compta_fournisseur = ".(! empty($this->code_compta_fournisseur)?"'".$this->db->escape($this->code_compta_fournisseur)."'":"null");
// Attention get_codecompta peut modifier le code suivant le module utilise
if (empty($this->code_compta_fournisseur)) $this->get_codecompta('supplier');
$sql .= ", code_compta_fournisseur = ".($this->code_compta_fournisseur?"'".$this->db->escape($this->code_compta_fournisseur)."'":"null");
} }
$sql .= ", fk_user_modif = ".($user->id > 0 ? "'".$user->id."'":"null"); $sql .= ", fk_user_modif = ".(! empty($user->id)?"'".$user->id."'":"null");
$sql .= " WHERE rowid = '" . $id ."'"; $sql .= " WHERE rowid = '" . $id ."'";
@ -1803,30 +1821,44 @@ class Societe extends CommonObject
{ {
global $conf; global $conf;
if ($conf->global->SOCIETE_CODECOMPTA_ADDON) if (! empty($conf->global->SOCIETE_CODECOMPTA_ADDON))
{ {
$file='';
$dirsociete=array_merge(array('/core/modules/societe/'), $conf->societe_modules); $dirsociete=array_merge(array('/core/modules/societe/'), $conf->societe_modules);
foreach ($dirsociete as $dirroot) foreach ($dirsociete as $dirroot)
{ {
$res=dol_include_once($dirroot.$conf->global->SOCIETE_CODECOMPTA_ADDON.".php"); if (file_exists(DOL_DOCUMENT_ROOT.'/'.$dirroot.$conf->global->SOCIETE_CODECOMPTA_ADDON.".php"))
if ($res) break; {
$file=$dirroot.$conf->global->SOCIETE_CODECOMPTA_ADDON.".php";
break;
}
} }
$var = $conf->global->SOCIETE_CODECOMPTA_ADDON; if (! empty($file))
$mod = new $var; {
dol_include_once($file);
$classname = $conf->global->SOCIETE_CODECOMPTA_ADDON;
$mod = new $classname;
// Defini code compta dans $mod->code // Defini code compta dans $mod->code
$result = $mod->get_code($this->db, $this, $type); $result = $mod->get_code($this->db, $this, $type);
if ($type == 'customer') $this->code_compta = $mod->code; if ($type == 'customer') $this->code_compta = $mod->code;
if ($type == 'supplier') $this->code_compta_fournisseur = $mod->code; else if ($type == 'supplier') $this->code_compta_fournisseur = $mod->code;
return $result; return $result;
} }
else else
{
$this->error = 'ErrorAccountancyCodeNotDefined';
return -1;
}
}
else
{ {
if ($type == 'customer') $this->code_compta = ''; if ($type == 'customer') $this->code_compta = '';
if ($type == 'supplier') $this->code_compta_fournisseur = ''; else if ($type == 'supplier') $this->code_compta_fournisseur = '';
return 0; return 0;
} }