Fix: Fix tons of pb with num ref system of supplier invoices.
This commit is contained in:
parent
fe20f8ae1b
commit
8e3f0172fc
@ -2448,7 +2448,7 @@ class Facture extends CommonInvoice
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return next reference of invoice not already used (or last reference)
|
* Return next reference of customer invoice not already used (or last reference)
|
||||||
* according to numbering module defined into constant FACTURE_ADDON
|
* according to numbering module defined into constant FACTURE_ADDON
|
||||||
*
|
*
|
||||||
* @param Society $soc object company
|
* @param Society $soc object company
|
||||||
|
|||||||
@ -166,7 +166,12 @@ function supplierorder_admin_prepare_head($object)
|
|||||||
$head[$h][1] = $langs->trans("SupplierOrder");
|
$head[$h][1] = $langs->trans("SupplierOrder");
|
||||||
$head[$h][2] = 'order';
|
$head[$h][2] = 'order';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
|
$head[$h][0] = DOL_URL_ROOT."/admin/supplier_invoice.php";
|
||||||
|
$head[$h][1] = $langs->trans("SuppliersInvoice");
|
||||||
|
$head[$h][2] = 'invoice';
|
||||||
|
$h++;
|
||||||
|
|
||||||
complete_head_from_modules($conf,$langs,$object,$head,$h,'supplierorder_admin');
|
complete_head_from_modules($conf,$langs,$object,$head,$h,'supplierorder_admin');
|
||||||
|
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/admin/supplierorder_extrafields.php';
|
$head[$h][0] = DOL_URL_ROOT.'/admin/supplierorder_extrafields.php';
|
||||||
@ -174,11 +179,6 @@ function supplierorder_admin_prepare_head($object)
|
|||||||
$head[$h][2] = 'supplierorder';
|
$head[$h][2] = 'supplierorder';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
$head[$h][0] = DOL_URL_ROOT."/admin/supplier_invoice.php";
|
|
||||||
$head[$h][1] = $langs->trans("SuppliersInvoice");
|
|
||||||
$head[$h][2] = 'invoice';
|
|
||||||
$h++;
|
|
||||||
|
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/admin/supplierinvoice_extrafields.php';
|
$head[$h][0] = DOL_URL_ROOT.'/admin/supplierinvoice_extrafields.php';
|
||||||
$head[$h][1] = $langs->trans("ExtraFieldsSupplierInvoices");
|
$head[$h][1] = $langs->trans("ExtraFieldsSupplierInvoices");
|
||||||
$head[$h][2] = 'supplierinvoice';
|
$head[$h][2] = 'supplierinvoice';
|
||||||
|
|||||||
@ -137,7 +137,7 @@ class mod_facture_terre extends ModeleNumRefFactures
|
|||||||
$sql.= " AND entity = ".$conf->entity;
|
$sql.= " AND entity = ".$conf->entity;
|
||||||
|
|
||||||
$resql=$db->query($sql);
|
$resql=$db->query($sql);
|
||||||
dol_syslog("mod_facture_terre::getNextValue sql=".$sql);
|
dol_syslog(get_class($this)."::getNextValue sql=".$sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
@ -146,7 +146,7 @@ class mod_facture_terre extends ModeleNumRefFactures
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog("mod_facture_terre::getNextValue sql=".$sql, LOG_ERR);
|
dol_syslog(get_class($this)."::getNextValue sql=".$sql, LOG_ERR);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ class mod_facture_terre extends ModeleNumRefFactures
|
|||||||
$sql.= " WHERE facnumber LIKE '".$prefix."____-".$num."'";
|
$sql.= " WHERE facnumber LIKE '".$prefix."____-".$num."'";
|
||||||
$sql.= " AND entity = ".$conf->entity;
|
$sql.= " AND entity = ".$conf->entity;
|
||||||
|
|
||||||
dol_syslog("mod_facture_terre::getNextValue sql=".$sql);
|
dol_syslog(get_class($this)."::getNextValue sql=".$sql);
|
||||||
$resql=$db->query($sql);
|
$resql=$db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
@ -177,7 +177,7 @@ class mod_facture_terre extends ModeleNumRefFactures
|
|||||||
$yymm = strftime("%y%m",$date);
|
$yymm = strftime("%y%m",$date);
|
||||||
$num = sprintf("%04s",$max+1);
|
$num = sprintf("%04s",$max+1);
|
||||||
|
|
||||||
dol_syslog("mod_facture_terre::getNextValue return ".$prefix.$yymm."-".$num);
|
dol_syslog(get_class($this)."::getNextValue return ".$prefix.$yymm."-".$num);
|
||||||
return $prefix.$yymm."-".$num;
|
return $prefix.$yymm."-".$num;
|
||||||
}
|
}
|
||||||
else dol_print_error('','Bad parameter for getNextValue');
|
else dol_print_error('','Bad parameter for getNextValue');
|
||||||
|
|||||||
@ -35,7 +35,7 @@ class mod_facture_fournisseur_cactus extends ModeleNumRefSuppliersInvoices
|
|||||||
var $version='dolibarr'; // 'development', 'experimental', 'dolibarr'
|
var $version='dolibarr'; // 'development', 'experimental', 'dolibarr'
|
||||||
var $error = '';
|
var $error = '';
|
||||||
var $nom = 'Cactus';
|
var $nom = 'Cactus';
|
||||||
var $prefix='SI';
|
var $prefixinvoice='SI';
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -46,7 +46,7 @@ class mod_facture_fournisseur_cactus extends ModeleNumRefSuppliersInvoices
|
|||||||
function info()
|
function info()
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
return $langs->trans("SimpleNumRefModelDesc",$this->prefix);
|
return $langs->trans("SimpleNumRefModelDesc",$this->prefixinvoice);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ class mod_facture_fournisseur_cactus extends ModeleNumRefSuppliersInvoices
|
|||||||
*/
|
*/
|
||||||
function getExample()
|
function getExample()
|
||||||
{
|
{
|
||||||
return $this->prefix."1301-0001";
|
return $this->prefixinvoice."1301-0001";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ class mod_facture_fournisseur_cactus extends ModeleNumRefSuppliersInvoices
|
|||||||
$posindice=8;
|
$posindice=8;
|
||||||
$sql = "SELECT MAX(SUBSTRING(ref FROM ".$posindice.")) as max";
|
$sql = "SELECT MAX(SUBSTRING(ref FROM ".$posindice.")) as max";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn";
|
$sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn";
|
||||||
$sql.= " WHERE ref LIKE '".$this->prefix."____-%'";
|
$sql.= " WHERE ref LIKE '".$this->prefixinvoice."____-%'";
|
||||||
$sql.= " AND entity = ".$conf->entity;
|
$sql.= " AND entity = ".$conf->entity;
|
||||||
$resql=$db->query($sql);
|
$resql=$db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
@ -83,7 +83,7 @@ class mod_facture_fournisseur_cactus extends ModeleNumRefSuppliersInvoices
|
|||||||
$row = $db->fetch_row($resql);
|
$row = $db->fetch_row($resql);
|
||||||
if ($row) { $siyymm = substr($row[0],0,6); $max=$row[0]; }
|
if ($row) { $siyymm = substr($row[0],0,6); $max=$row[0]; }
|
||||||
}
|
}
|
||||||
if (! $siyymm || preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i',$siyymm))
|
if (! $siyymm || preg_match('/'.$this->prefixinvoice.'[0-9][0-9][0-9][0-9]/i',$siyymm))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -96,52 +96,87 @@ class mod_facture_fournisseur_cactus extends ModeleNumRefSuppliersInvoices
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return next value
|
* Return next value
|
||||||
*
|
*
|
||||||
* @param Societe $objsoc Object third party
|
* @param Societe $objsoc Object third party
|
||||||
* @param Object $object Object
|
* @param Object $object Object
|
||||||
* @return string Value if OK, 0 if KO
|
* @param string $mode 'next' for next value or 'last' for last value
|
||||||
|
* @return string Value if OK, 0 if KO
|
||||||
*/
|
*/
|
||||||
function getNextValue($objsoc=0,$object='')
|
function getNextValue($objsoc,$object,$mode='next')
|
||||||
{
|
{
|
||||||
global $db,$conf;
|
global $db,$conf;
|
||||||
|
|
||||||
// D'abord on recupere la valeur max
|
if ($object->type == 2) $prefix=$this->prefixcreditnote;
|
||||||
$posindice=8;
|
else $prefix=$this->prefixinvoice;
|
||||||
$sql = "SELECT MAX(SUBSTRING(ref FROM ".$posindice.")) as max";
|
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn";
|
|
||||||
$sql.= " WHERE ref like '".$this->prefix."____-%'";
|
|
||||||
$sql.= " AND entity = ".$conf->entity;
|
|
||||||
|
|
||||||
$resql=$db->query($sql);
|
// D'abord on recupere la valeur max
|
||||||
if ($resql)
|
$posindice=8;
|
||||||
{
|
$sql = "SELECT MAX(SUBSTRING(ref FROM ".$posindice.")) as max"; // This is standard SQL
|
||||||
$obj = $db->fetch_object($resql);
|
$sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn";
|
||||||
if ($obj) $max = intval($obj->max);
|
$sql.= " WHERE ref LIKE '".$prefix."____-%'";
|
||||||
else $max=0;
|
$sql.= " AND entity = ".$conf->entity;
|
||||||
}
|
|
||||||
|
$resql=$db->query($sql);
|
||||||
//$date=time();
|
dol_syslog(get_class($this)."::getNextValue sql=".$sql);
|
||||||
$date=$object->datec; // Not always defined
|
if ($resql)
|
||||||
if (empty($date)) $date=$object->date; // Creation date is invoice date for suppliers invoices
|
{
|
||||||
$yymm = strftime("%y%m",$date);
|
$obj = $db->fetch_object($resql);
|
||||||
$num = sprintf("%04s",$max+1);
|
if ($obj) $max = intval($obj->max);
|
||||||
|
else $max=0;
|
||||||
return $this->prefix.$yymm."-".$num;
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dol_syslog(get_class($this)."::getNextValue sql=".$sql, LOG_ERR);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($mode == 'last')
|
||||||
|
{
|
||||||
|
$num = sprintf("%04s",$max);
|
||||||
|
|
||||||
|
$ref='';
|
||||||
|
$sql = "SELECT ref as ref";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn";
|
||||||
|
$sql.= " WHERE ref LIKE '".$prefix."____-".$num."'";
|
||||||
|
$sql.= " AND entity = ".$conf->entity;
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::getNextValue sql=".$sql);
|
||||||
|
$resql=$db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$obj = $db->fetch_object($resql);
|
||||||
|
if ($obj) $ref = $obj->ref;
|
||||||
|
}
|
||||||
|
else dol_print_error($db);
|
||||||
|
|
||||||
|
return $ref;
|
||||||
|
}
|
||||||
|
else if ($mode == 'next')
|
||||||
|
{
|
||||||
|
$date=$object->date; // This is invoice date (not creation date)
|
||||||
|
$yymm = strftime("%y%m",$date);
|
||||||
|
$num = sprintf("%04s",$max+1);
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::getNextValue return ".$prefix.$yymm."-".$num);
|
||||||
|
return $prefix.$yymm."-".$num;
|
||||||
|
}
|
||||||
|
else dol_print_error('','Bad parameter for getNextValue');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Renvoie la reference de facture suivante non utilisee
|
* Return next free value
|
||||||
*
|
*
|
||||||
* @param Societe $objsoc Object third party
|
* @param Societe $objsoc Object third party
|
||||||
* @param Object $object Object
|
* @param string $objforref Object for number to search
|
||||||
* @return string Texte descripif
|
* @param string $mode 'next' for next value or 'last' for last value
|
||||||
|
* @return string Next free value
|
||||||
*/
|
*/
|
||||||
function invoice_get_num($objsoc=0,$object='')
|
function getNumRef($objsoc,$objforref,$mode='next')
|
||||||
{
|
{
|
||||||
return $this->getNextValue($objsoc,$object);
|
return $this->getNextValue($objsoc,$objforref,$mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@ -102,13 +102,14 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return next value
|
* Return next value
|
||||||
*
|
*
|
||||||
* @param Societe $objsoc Object third party
|
* @param Societe $objsoc Object third party
|
||||||
* @param Object $object Object
|
* @param Object $object Object
|
||||||
* @return string Value if OK, 0 if KO
|
* @param string $mode 'next' for next value or 'last' for last value
|
||||||
*/
|
* @return string Value if OK, 0 if KO
|
||||||
function getNextValue($objsoc=0,$object='')
|
*/
|
||||||
|
function getNextValue($objsoc,$object,$mode='next')
|
||||||
{
|
{
|
||||||
global $db,$conf;
|
global $db,$conf;
|
||||||
|
|
||||||
@ -128,18 +129,18 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices
|
|||||||
return $numFinal;
|
return $numFinal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Renvoie la reference de facture suivante non utilisee
|
* Return next free value
|
||||||
*
|
*
|
||||||
* @param Societe $objsoc Object third party
|
* @param Societe $objsoc Object third party
|
||||||
* @param Object $object Object
|
* @param string $objforref Object for number to search
|
||||||
* @return string Texte descripif
|
* @param string $mode 'next' for next value or 'last' for last value
|
||||||
|
* @return string Next free value
|
||||||
*/
|
*/
|
||||||
function invoice_get_num($objsoc=0,$object='')
|
function getNumRef($objsoc,$objforref,$mode='next')
|
||||||
{
|
{
|
||||||
return $this->getNextValue($objsoc,$object);
|
return $this->getNextValue($objsoc,$objforref,$mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@ -1336,55 +1336,52 @@ class FactureFournisseur extends CommonInvoice
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Renvoie la reference de facture suivante non utilisee en fonction du modele
|
* Return next reference of supplier invoice not already used (or last reference)
|
||||||
* de numerotation actif defini dans INVOICE_SUPPLIER_ADDON_NUMBER
|
* according to numbering module defined into constant INVOICE_SUPPLIER_ADDON_NUMBER
|
||||||
*
|
*
|
||||||
* @param Societe $soc objet societe
|
* @param Society $soc object company
|
||||||
* @return string reference libre pour la facture
|
* @param string $mode 'next' for next value or 'last' for last value
|
||||||
*/
|
* @return string free ref or last ref
|
||||||
function getNextNumRef($soc)
|
*/
|
||||||
|
function getNextNumRef($soc,$mode='next')
|
||||||
{
|
{
|
||||||
global $db, $langs, $conf;
|
global $db, $langs, $conf;
|
||||||
$langs->load("orders");
|
$langs->load("orders");
|
||||||
|
|
||||||
$dir = DOL_DOCUMENT_ROOT .'/core/modules/supplier_invoice/';
|
// Clean parameters (if not defined or using deprecated value)
|
||||||
|
if (empty($conf->global->INVOICE_SUPPLIER_ADDON_NUMBER)) $conf->global->INVOICE_SUPPLIER_ADDON_NUMBER='mod_facture_fournisseur_cactus';
|
||||||
|
|
||||||
if (! empty($conf->global->INVOICE_SUPPLIER_ADDON_NUMBER))
|
$mybool=false;
|
||||||
|
|
||||||
|
$file = $conf->global->INVOICE_SUPPLIER_ADDON_NUMBER.".php";
|
||||||
|
$classname = $conf->global->INVOICE_SUPPLIER_ADDON_NUMBER;
|
||||||
|
// Include file with class
|
||||||
|
foreach ($conf->file->dol_document_root as $dirroot)
|
||||||
{
|
{
|
||||||
$file = $conf->global->INVOICE_SUPPLIER_ADDON_NUMBER.'.php';
|
$dir = $dirroot."/core/modules/supplier_invoice/";
|
||||||
|
// Load file with numbering class (if found)
|
||||||
if (is_readable($dir.'/'.$file))
|
$mybool|=@include_once $dir.$file;
|
||||||
{
|
|
||||||
// Definition du nom de modele de numerotation de commande fournisseur
|
|
||||||
$modName=$conf->global->INVOICE_SUPPLIER_ADDON_NUMBER;
|
|
||||||
require_once $dir.'/'.$file;
|
|
||||||
|
|
||||||
// Recuperation de la nouvelle reference
|
|
||||||
$objMod = new $modName($this->db);
|
|
||||||
|
|
||||||
$numref = "";
|
|
||||||
$numref = $objMod->invoice_get_num($soc,$this);
|
|
||||||
|
|
||||||
if ( $numref != "")
|
|
||||||
{
|
|
||||||
return $numref;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dol_print_error($db, get_class($this)."::getNextNumRef ".$obj->error);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print $langs->trans("Error")." ".$langs->trans("Error_FailedToLoad_INVOICE_SUPPLIER_ADDON_NUMBER_File",$conf->global->INVOICE_SUPPLIER_ADDON_NUMBER);
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
if (! $mybool)
|
||||||
print $langs->trans("Error")." ".$langs->trans("Error_INVOICE_SUPPLIER_ADDON_NUMBER_NotDefined");
|
{
|
||||||
return -3;
|
dol_print_error('',"Failed to include file ".$file);
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$obj = new $classname();
|
||||||
|
|
||||||
|
$numref = "";
|
||||||
|
$numref = $obj->getNumRef($soc,$this,$mode);
|
||||||
|
|
||||||
|
if ( $numref != "")
|
||||||
|
{
|
||||||
|
return $numref;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//dol_print_error($db,get_class($this)."::getNextNumRef ".$obj->error);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1161,7 +1161,7 @@ if ($action == 'create')
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
// print '<td><textarea name="note" wrap="soft" cols="60" rows="'.ROWS_5.'"></textarea></td>';
|
// print '<td><textarea name="note" wrap="soft" cols="60" rows="'.ROWS_5.'"></textarea></td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Private note
|
// Private note
|
||||||
print '<tr><td>'.$langs->trans('NotePrivate').'</td>';
|
print '<tr><td>'.$langs->trans('NotePrivate').'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
@ -1328,7 +1328,17 @@ else
|
|||||||
{
|
{
|
||||||
$numref = $object->ref;
|
$numref = $object->ref;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$text=$langs->trans('ConfirmValidateBill',$numref);
|
||||||
|
/*if (! empty($conf->notification->enabled))
|
||||||
|
{
|
||||||
|
require_once DOL_DOCUMENT_ROOT .'/core/class/notify.class.php';
|
||||||
|
$notify=new Notify($db);
|
||||||
|
$text.='<br>';
|
||||||
|
$text.=$notify->confirmMessage('NOTIFY_VAL_FAC_SUP',$object->socid);
|
||||||
|
}*/
|
||||||
$formquestion=array();
|
$formquestion=array();
|
||||||
|
|
||||||
if (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL) && $object->hasProductsOrServices(1))
|
if (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL) && $object->hasProductsOrServices(1))
|
||||||
{
|
{
|
||||||
$langs->load("stocks");
|
$langs->load("stocks");
|
||||||
@ -1341,7 +1351,7 @@ else
|
|||||||
array('type' => 'other', 'name' => 'idwarehouse', 'label' => $langs->trans("SelectWarehouseForStockIncrease"), 'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse'),'idwarehouse','',1)));
|
array('type' => 'other', 'name' => 'idwarehouse', 'label' => $langs->trans("SelectWarehouseForStockIncrease"), 'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse'),'idwarehouse','',1)));
|
||||||
}
|
}
|
||||||
|
|
||||||
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ValidateBill'), $langs->trans('ConfirmValidateBill', $object->ref), 'confirm_valid', $formquestion, 1, 1, 240);
|
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ValidateBill'), $text, 'confirm_valid', $formquestion, 1, 1, 240);
|
||||||
if ($ret == 'html') print '<br>';
|
if ($ret == 'html') print '<br>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -950,6 +950,8 @@ ExtraFieldsThirdParties=Complementary attributes (thirdparty)
|
|||||||
ExtraFieldsContacts=Complementary attributes (contact/address)
|
ExtraFieldsContacts=Complementary attributes (contact/address)
|
||||||
ExtraFieldsMember=Complementary attributes (member)
|
ExtraFieldsMember=Complementary attributes (member)
|
||||||
ExtraFieldsMemberType=Complementary attributes (Member type)
|
ExtraFieldsMemberType=Complementary attributes (Member type)
|
||||||
|
ExtraFieldsSupplierOrders=Complementary attributes (orders)
|
||||||
|
ExtraFieldsSupplierInvoices=Complementary attributes (invoices)
|
||||||
ExtraFieldHasWrongValue=Attribut %s has a wrong value.
|
ExtraFieldHasWrongValue=Attribut %s has a wrong value.
|
||||||
AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space
|
AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space
|
||||||
SendingMailSetup=Setup of sendings by email
|
SendingMailSetup=Setup of sendings by email
|
||||||
@ -1400,6 +1402,7 @@ MultiCompanySetup=Multi-company module setup
|
|||||||
SuppliersSetup=Supplier module setup
|
SuppliersSetup=Supplier module setup
|
||||||
SuppliersCommandModel=Complete template of supplier order (logo...)
|
SuppliersCommandModel=Complete template of supplier order (logo...)
|
||||||
SuppliersInvoiceModel=Complete template of supplier invoice (logo...)
|
SuppliersInvoiceModel=Complete template of supplier invoice (logo...)
|
||||||
|
SuppliersInvoiceNumberingModel=Supplier invoices numbering models
|
||||||
##### GeoIPMaxmind #####
|
##### GeoIPMaxmind #####
|
||||||
GeoIPMaxmindSetup=GeoIP Maxmind module setup
|
GeoIPMaxmindSetup=GeoIP Maxmind module setup
|
||||||
PathToGeoIPMaxmindCountryDataFile=Path to file containing Maxmind ip to country translation.<br>Example: /usr/local/share/GeoIP/GeoIP.dat
|
PathToGeoIPMaxmindCountryDataFile=Path to file containing Maxmind ip to country translation.<br>Example: /usr/local/share/GeoIP/GeoIP.dat
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user