New: Customer and supplier codes can be automatically generated

This commit is contained in:
Laurent Destailleur
2009-01-31 15:23:05 +00:00
parent 67c92017c2
commit bb90ab1288
49 changed files with 907 additions and 1219 deletions

View File

@@ -247,12 +247,12 @@ if ($handle)
// Info
$htmltooltip='';
$htmltooltip.='<b>'.$langs->trans("Version").'</b>: '.$module->getVersion().'<br>';
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
$facture->type=0;
$nextval=$module->getNextValue($mysoc,$commande);
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
{
$htmltooltip.='<b>'.$langs->trans("NextValue").'</b>: ';
$htmltooltip.=''.$langs->trans("NextValue").': ';
if ($nextval)
{
$htmltooltip.=$nextval.'<br>';
@@ -373,17 +373,17 @@ while (($file = readdir($handle))!==false)
print '</td>';
// Info
$htmltooltip = '<b>'.$langs->trans("Name").'</b>: '.$module->name;
$htmltooltip.='<br><b>'.$langs->trans("Type").'</b>: '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br><b>'.$langs->trans("Height").'/'.$langs->trans("Width").'</b>: '.$module->page_hauteur.'/'.$module->page_largeur;
$htmltooltip.='<br><br>'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='<br><b>'.$langs->trans("Logo").'</b>: '.yn($module->option_logo);
$htmltooltip.='<br><b>'.$langs->trans("PaymentMode").'</b>: '.yn($module->option_modereg);
$htmltooltip.='<br><b>'.$langs->trans("PaymentConditions").'</b>: '.yn($module->option_condreg);
$htmltooltip.='<br><b>'.$langs->trans("MultiLanguage").'</b>: '.yn($module->option_multilang);
// \TODO : $htmltooltip.='<br><b>'.$langs->trans("Escompte").'</b>: '.yn($module->option_escompte);
$htmltooltip.='<br><b>'.$langs->trans("CreditNote").'</b>: '.yn($module->option_credit_note);
$htmltooltip.='<br><b>'.$langs->trans("WatermarkOnDraftOrders").'</b>: '.yn($module->option_draft_watermark);
$htmltooltip = ''.$langs->trans("Name").': '.$module->name;
$htmltooltip.='<br>'.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br>'.$langs->trans("Height").'/'.$langs->trans("Width").': '.$module->page_hauteur.'/'.$module->page_largeur;
$htmltooltip.='<br><br><u>'.$langs->trans("FeaturesSupported").':</u>';
$htmltooltip.='<br>'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
$htmltooltip.='<br>'.$langs->trans("PaymentMode").': '.yn($module->option_modereg,1,1);
$htmltooltip.='<br>'.$langs->trans("PaymentConditions").': '.yn($module->option_condreg,1,1);
$htmltooltip.='<br>'.$langs->trans("MultiLanguage").': '.yn($module->option_multilang,1,1);
//$htmltooltip.='<br>'.$langs->trans("Escompte").': '.yn($module->option_escompte,1,1);
//$htmltooltip.='<br>'.$langs->trans("CreditNote").': '.yn($module->option_credit_note,1,1);
$htmltooltip.='<br>'.$langs->trans("WatermarkOnDraftOrders").': '.yn($module->option_draft_watermark,1,1);
print '<td align="center">';
print $html->textwithhelp('',$htmltooltip,1,0);

View File

@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2005-208 Laurent Destailleur <eldy@users.sourceforge.net>
/* Copyright (C) 2005-2009 Laurent Destailleur <eldy@users.sourceforge.net>
*
* 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
@@ -237,12 +237,12 @@ while (($file = readdir($handle))!==false)
print '</td>';
// Info
$htmltooltip = '<b>'.$langs->trans("Name").'</b>: '.$module->name;
$htmltooltip.='<br><b>'.$langs->trans("Type").'</b>: '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br><b>'.$langs->trans("Height").'/'.$langs->trans("Width").'</b>: '.$module->page_hauteur.'/'.$module->page_largeur;
$htmltooltip.='<br><br>'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='<br><b>'.$langs->trans("Logo").'</b>: '.yn($module->option_logo);
$htmltooltip.='<br><b>'.$langs->trans("MultiLanguage").'</b>: '.yn($module->option_multilang);
$htmltooltip = ''.$langs->trans("Name").': '.$module->name;
$htmltooltip.='<br>'.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br>'.$langs->trans("Height").'/'.$langs->trans("Width").': '.$module->page_hauteur.'/'.$module->page_largeur;
$htmltooltip.='<br><br><u>'.$langs->trans("FeaturesSupported").':</u>';
$htmltooltip.='<br>'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
$htmltooltip.='<br>'.$langs->trans("MultiLanguage").': '.yn($module->option_multilang,1,1);
print '<td align="center">';
print $html->textwithhelp('',$htmltooltip,1,0);
print '</td>';

View File

@@ -439,11 +439,11 @@ if(is_dir($dir))
print '</td>';
// Info
$htmltooltip = '<b>'.$langs->trans("Name").'</b>: '.$module->name;
$htmltooltip.='<br><b>'.$langs->trans("Type").'</b>: '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br><b>'.$langs->trans("Width").'/'.$langs->trans("Height").'</b>: '.$module->page_largeur.'/'.$module->page_hauteur;
$htmltooltip.='<br><br>'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='<br><b>'.$langs->trans("Logo").'</b>: '.yn($module->option_logo);
$htmltooltip = ''.$langs->trans("Name").': '.$module->name;
$htmltooltip.='<br>'.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br>'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur;
$htmltooltip.='<br><br><u>'.$langs->trans("FeaturesSupported").':</u>';
$htmltooltip.='<br>'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
print '<td align="center">';
print $html->textwithhelp('',$htmltooltip,1,0);
print '</td>';

View File

@@ -288,12 +288,12 @@ while (($file = readdir($handle))!==false)
// Example for standard invoice
$htmltooltip='';
$htmltooltip.='<b>'.$langs->trans("Version").'</b>: '.$module->getVersion().'<br>';
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
$facture->type=0;
$nextval=$module->getNextValue($mysoc,$facture);
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
{
$htmltooltip.='<b>'.$langs->trans("NextValueForInvoices").'</b>: ';
$htmltooltip.=$langs->trans("NextValueForInvoices").': ';
if ($nextval)
{
$htmltooltip.=$nextval.'<br>';
@@ -308,7 +308,7 @@ while (($file = readdir($handle))!==false)
$nextval=$module->getNextValue($mysoc,$facture);
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
{
$htmltooltip.='<b>'.$langs->trans("NextValueForCreditNotes").'</b>: ';
$htmltooltip.=$langs->trans("NextValueForCreditNotes").': ';
if ($nextval)
{
$htmltooltip.=$nextval;
@@ -428,17 +428,17 @@ while (($file = readdir($handle))!==false)
print '</td>';
// Info
$htmltooltip = '<b>'.$langs->trans("Name").'</b>: '.$module->name;
$htmltooltip.='<br><b>'.$langs->trans("Type").'</b>: '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br><b>'.$langs->trans("Height").'/'.$langs->trans("Width").'</b>: '.$module->page_hauteur.'/'.$module->page_largeur;
$htmltooltip.='<br><br>'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='<br><b>'.$langs->trans("Logo").'</b>: '.yn($module->option_logo,1,1);
$htmltooltip.='<br><b>'.$langs->trans("PaymentMode").'</b>: '.yn($module->option_modereg,1,1);
$htmltooltip.='<br><b>'.$langs->trans("PaymentConditions").'</b>: '.yn($module->option_condreg,1,1);
$htmltooltip.='<br><b>'.$langs->trans("Escompte").'</b>: '.yn($module->option_escompte,1,1);
$htmltooltip.='<br><b>'.$langs->trans("CreditNote").'</b>: '.yn($module->option_credit_note,1,1);
$htmltooltip.='<br><b>'.$langs->trans("MultiLanguage").'</b>: '.yn($module->option_multilang,1,1);
$htmltooltip.='<br><b>'.$langs->trans("WatermarkOnDraftInvoices").'</b>: '.yn($module->option_draft_watermark,1,1);
$htmltooltip = ''.$langs->trans("Name").': '.$module->name;
$htmltooltip.='<br>'.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br>'.$langs->trans("Height").'/'.$langs->trans("Width").': '.$module->page_hauteur.'/'.$module->page_largeur;
$htmltooltip.='<br><br><u>'.$langs->trans("FeaturesSupported").':</u>';
$htmltooltip.='<br>'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
$htmltooltip.='<br>'.$langs->trans("PaymentMode").': '.yn($module->option_modereg,1,1);
$htmltooltip.='<br>'.$langs->trans("PaymentConditions").': '.yn($module->option_condreg,1,1);
$htmltooltip.='<br>'.$langs->trans("Escompte").': '.yn($module->option_escompte,1,1);
$htmltooltip.='<br>'.$langs->trans("CreditNote").': '.yn($module->option_credit_note,1,1);
$htmltooltip.='<br>'.$langs->trans("MultiLanguage").': '.yn($module->option_multilang,1,1);
$htmltooltip.='<br>'.$langs->trans("WatermarkOnDraftInvoices").': '.yn($module->option_draft_watermark,1,1);
print '<td align="center">';

View File

@@ -229,10 +229,11 @@ if ($handle)
// Info
$htmltooltip='';
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
$nextval=$module->getNextValue($mysoc,$ficheinter);
if ($nextval != $langs->trans("NotAvailable"))
{
$htmltooltip='<b>'.$langs->trans("NextValue").'</b>: '.$nextval;
$htmltooltip.=''.$langs->trans("NextValue").': '.$nextval;
}
print '<td align="center">';
print $html->textwithhelp('',$htmltooltip,1,0);
@@ -342,15 +343,15 @@ while (($file = readdir($handle))!==false)
print '</td>';
// Info
$htmltooltip = '<b>'.$langs->trans("Type").'</b>: '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br><b>'.$langs->trans("Width").'</b>: '.$module->page_largeur;
$htmltooltip.='<br><b>'.$langs->trans("Height").'</b>: '.$module->page_hauteur;
$htmltooltip.='<br><br>'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='<br><b>'.$langs->trans("Logo").'</b>: '.yn($module->option_logo);
$htmltooltip.='<br><b>'.$langs->trans("PaymentMode").'</b>: '.yn($module->option_modereg);
$htmltooltip.='<br><b>'.$langs->trans("PaymentConditions").'</b>: '.yn($module->option_condreg);
$htmltooltip.='<br><b>'.$langs->trans("MultiLanguage").'</b>: '.yn($module->option_multilang);
$htmltooltip.='<br><b>'.$langs->trans("WatermarkOnDraftOrders").'</b>: '.yn($module->option_draft_watermark);
$htmltooltip = ''.$langs->trans("Name").': '.$module->name;
$htmltooltip.='<br>'.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br>'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur;
$htmltooltip.='<br><br><u>'.$langs->trans("FeaturesSupported").':</u>';
$htmltooltip.='<br>'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
$htmltooltip.='<br>'.$langs->trans("PaymentMode").': '.yn($module->option_modereg,1,1);
$htmltooltip.='<br>'.$langs->trans("PaymentConditions").': '.yn($module->option_condreg,1,1);
$htmltooltip.='<br>'.$langs->trans("MultiLanguage").': '.yn($module->option_multilang,1,1);
$htmltooltip.='<br>'.$langs->trans("WatermarkOnDraftOrders").': '.yn($module->option_draft_watermark,1,1);
print '<td align="center">';
print $html->textwithhelp('',$htmltooltip,1,0);
print '</td>';

View File

@@ -231,12 +231,12 @@ if ($handle)
// Info
$htmltooltip='';
$htmltooltip.='<b>'.$langs->trans("Version").'</b>: '.$module->getVersion().'<br>';
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
$facture->type=0;
$nextval=$module->getNextValue($mysoc,$commande);
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
{
$htmltooltip.='<b>'.$langs->trans("NextValue").'</b>: ';
$htmltooltip.=''.$langs->trans("NextValue").': ';
if ($nextval)
{
$htmltooltip.=$nextval.'<br>';
@@ -357,13 +357,13 @@ while (($file = readdir($handle))!==false)
print '</td>';
// Info
$htmltooltip = '<b>'.$langs->trans("Type").'</b>: '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br><b>'.$langs->trans("Width").'</b>: '.$module->page_largeur;
$htmltooltip.='<br><b>'.$langs->trans("Height").'</b>: '.$module->page_hauteur;
$htmltooltip.='<br><br>'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='<br><b>'.$langs->trans("Logo").'</b>: '.yn($module->option_logo);
$htmltooltip.='<br><b>'.$langs->trans("PaymentMode").'</b>: '.yn($module->option_modereg);
$htmltooltip.='<br><b>'.$langs->trans("PaymentConditions").'</b>: '.yn($module->option_condreg);
$htmltooltip = ''.$langs->trans("Name").': '.$module->name;
$htmltooltip.='<br>'.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br>'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur;
$htmltooltip.='<br><br><u>'.$langs->trans("FeaturesSupported").':</u>';
$htmltooltip.='<br>'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
$htmltooltip.='<br>'.$langs->trans("PaymentMode").': '.yn($module->option_modereg,1,1);
$htmltooltip.='<br>'.$langs->trans("PaymentConditions").': '.yn($module->option_condreg,1,1);
print '<td align="center">';
print $html->textwithhelp('',$htmltooltip,1,0);
print '</td>';

View File

@@ -244,12 +244,12 @@ if ($handle)
// Info
$htmltooltip='';
$htmltooltip.='<b>'.$langs->trans("Version").'</b>: '.$module->getVersion().'<br>';
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
$facture->type=0;
$nextval=$module->getNextValue($mysoc,$livraison);
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
{
$htmltooltip.='<b>'.$langs->trans("NextValue").'</b>: ';
$htmltooltip.=''.$langs->trans("NextValue").': ';
if ($nextval)
{
$htmltooltip.=$nextval.'<br>';
@@ -373,11 +373,10 @@ if(is_dir($dir))
print '</td>';
// Info
$htmltooltip = '<b>'.$langs->trans("Type").'</b>: '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br><b>'.$langs->trans("Width").'</b>: '.$module->page_largeur;
$htmltooltip.='<br><b>'.$langs->trans("Height").'</b>: '.$module->page_hauteur;
$htmltooltip = ''.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br>'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur;
$htmltooltip.='<br><br>'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='<br><b>'.$langs->trans("Logo").'</b>: '.yn($module->option_logo);
$htmltooltip.='<br>'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
print '<td align="center">';
print $html->textwithhelp('',$htmltooltip,1,0);
print '</td>';

View File

@@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
@@ -267,12 +267,12 @@ if ($handle)
// Info
$htmltooltip='';
$htmltooltip.='<b>'.$langs->trans("Version").'</b>: '.$module->getVersion().'<br>';
$htmltooltip.=''.$langs->trans("Version").': <b>'.$module->getVersion().'</b><br>';
$facture->type=0;
$nextval=$module->getNextValue($mysoc,$propale);
if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval
{
$htmltooltip.='<b>'.$langs->trans("NextValue").'</b>: ';
$htmltooltip.=''.$langs->trans("NextValue").': ';
if ($nextval)
{
$htmltooltip.=$nextval.'<br>';
@@ -392,17 +392,17 @@ while (($file = readdir($handle))!==false)
print '</td>';
// Info
$htmltooltip = '<b>'.$langs->trans("Name").'</b>: '.$module->name;
$htmltooltip.='<br><b>'.$langs->trans("Type").'</b>: '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br><b>'.$langs->trans("Height").'/'.$langs->trans("Width").'</b>: '.$module->page_hauteur.'/'.$module->page_largeur;
$htmltooltip.='<br><br>'.$langs->trans("FeaturesSupported").':';
$htmltooltip.='<br><b>'.$langs->trans("Logo").'</b>: '.yn($module->option_logo);
$htmltooltip.='<br><b>'.$langs->trans("PaymentMode").'</b>: '.yn($module->option_modereg);
$htmltooltip.='<br><b>'.$langs->trans("PaymentConditions").'</b>: '.yn($module->option_condreg);
$htmltooltip.='<br><b>'.$langs->trans("MultiLanguage").'</b>: '.yn($module->option_multilang);
//TODO : $htmltooltip.='<br><b>'.$langs->trans("Escompte").'</b>: '.yn($module->option_escompte);
$htmltooltip.='<br><b>'.$langs->trans("CreditNote").'</b>: '.yn($module->option_credit_note);
$htmltooltip.='<br><b>'.$langs->trans("WatermarkOnDraftProposal").'</b>: '.yn($module->option_draft_watermark);
$htmltooltip = ''.$langs->trans("Name").': '.$module->name;
$htmltooltip.='<br>'.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown"));
$htmltooltip.='<br>'.$langs->trans("Height").'/'.$langs->trans("Width").': '.$module->page_hauteur.'/'.$module->page_largeur;
$htmltooltip.='<br><br><u>'.$langs->trans("FeaturesSupported").':</u>';
$htmltooltip.='<br>'.$langs->trans("Logo").': '.yn($module->option_logo,1,1);
$htmltooltip.='<br>'.$langs->trans("PaymentMode").': '.yn($module->option_modereg,1,1);
$htmltooltip.='<br>'.$langs->trans("PaymentConditions").': '.yn($module->option_condreg,1,1);
$htmltooltip.='<br>'.$langs->trans("MultiLanguage").': '.yn($module->option_multilang,1,1);
//$htmltooltip.='<br>'.$langs->trans("Escompte").': '.yn($module->option_escompte,1,1);
//$htmltooltip.='<br>'.$langs->trans("CreditNote").': '.yn($module->option_credit_note,1,1);
$htmltooltip.='<br>'.$langs->trans("WatermarkOnDraftProposal").': '.yn($module->option_draft_watermark,1,1);

View File

@@ -80,8 +80,8 @@ if ($_POST["action"] == 'usesearchtoselectcompany')
// define constants for tigre model
if ($_POST["action"] == 'updateMask')
{
dolibarr_set_const($db, "CODE_TIGRE_MASK_CUSTOMER",$_POST["maskcustomer"]);
dolibarr_set_const($db, "CODE_TIGRE_MASK_SUPPLIER",$_POST["masksupplier"]);
dolibarr_set_const($db, "COMPANY_ELEPHANT_MASK_CUSTOMER",$_POST["maskcustomer"]);
dolibarr_set_const($db, "COMPANY_ELEPHANT_MASK_SUPPLIER",$_POST["masksupplier"]);
}

View File

@@ -58,9 +58,15 @@ class mod_commande_saphir extends ModeleNumRefCommandes
$texte.= '<input type="hidden" name="maskconstorder" value="COMMANDE_SAPHIR_MASK">';
$texte.= '<table class="nobordernopadding" width="100%">';
// Parametrage du prefix des factures
$tooltip=$langs->trans("GenericMaskCodes",$langs->transnoentities("Order"));
$tooltip.=$langs->trans("GenericMaskCodes2");
$tooltip.=$langs->trans("GenericMaskCodes3");
$tooltip.=$langs->trans("GenericMaskCodes4a",$langs->transnoentities("Order"),$langs->transnoentities("Order"));
$tooltip.=$langs->trans("GenericMaskCodes5");
// Parametrage du prefix
$texte.= '<tr><td>'.$langs->trans("Mask").':</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskorder" value="'.$conf->global->COMMANDE_SAPHIR_MASK.'">',$langs->trans("GenericMaskCodes",$langs->transnoentities("Order"),$langs->transnoentities("Order"),$langs->transnoentities("Order")),1,1).'</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskorder" value="'.$conf->global->COMMANDE_SAPHIR_MASK.'">',$tooltip,1,1).'</td>';
$texte.= '<td align="left" rowspan="2">&nbsp; <input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button"></td>';

View File

@@ -58,9 +58,15 @@ class mod_facture_mercure extends ModeleNumRefFactures
$texte.= '<input type="hidden" name="maskconstcredit" value="FACTURE_MERCURE_MASK_CREDIT">';
$texte.= '<table class="nobordernopadding" width="100%">';
// Parametrage du prefix des factures
$tooltip=$langs->trans("GenericMaskCodes",$langs->transnoentities("Invoice"));
$tooltip.=$langs->trans("GenericMaskCodes2");
$tooltip.=$langs->trans("GenericMaskCodes3");
$tooltip.=$langs->trans("GenericMaskCodes4a",$langs->transnoentities("Invoice"),$langs->transnoentities("Invoice"));
$tooltip.=$langs->trans("GenericMaskCodes5");
// Parametrage du prefix
$texte.= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("InvoiceStandard").'):</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskinvoice" value="'.$conf->global->FACTURE_MERCURE_MASK_INVOICE.'">',$langs->trans("GenericMaskCodes",$langs->transnoentities("Invoice"),$langs->transnoentities("Invoice"),$langs->transnoentities("Invoice")),1,1).'</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskinvoice" value="'.$conf->global->FACTURE_MERCURE_MASK_INVOICE.'">',$tooltip,1,1).'</td>';
$texte.= '<td align="left" rowspan="2">&nbsp; <input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button"></td>';
@@ -68,7 +74,7 @@ class mod_facture_mercure extends ModeleNumRefFactures
// Parametrage du prefix des avoirs
$texte.= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("InvoiceAvoir").'):</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskcredit" value="'.$conf->global->FACTURE_MERCURE_MASK_CREDIT.'">',$langs->trans("GenericMaskCodes",$langs->transnoentities("Invoice"),$langs->transnoentities("Invoice"),$langs->transnoentities("Invoice")),1,1).'</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskcredit" value="'.$conf->global->FACTURE_MERCURE_MASK_CREDIT.'">',$tooltip,1,1).'</td>';
$texte.= '</tr>';
$texte.= '</table>';
@@ -77,7 +83,7 @@ class mod_facture_mercure extends ModeleNumRefFactures
return $texte;
}
/** \brief Renvoi un exemple de numerotation
/** \brief Return an example of number value
* \return string Example
*/
function getExample()
@@ -107,10 +113,10 @@ class mod_facture_mercure extends ModeleNumRefFactures
require_once(DOL_DOCUMENT_ROOT ."/lib/functions2.lib.php");
// On defini critere recherche compteur
// Get Mask value
$mask = '';
if (is_object($facture) && $facture->type == 2) $mask=$conf->global->FACTURE_MERCURE_MASK_CREDIT;
else $mask=$conf->global->FACTURE_MERCURE_MASK_INVOICE;
if (! $mask)
{
$this->error='NotConfigured';

View File

@@ -63,9 +63,15 @@ class mod_arctic extends ModeleNumRefFicheinter
$texte.= '<input type="hidden" name="maskconst" value="FICHINTER_ARTIC_MASK">';
$texte.= '<table class="nobordernopadding" width="100%">';
// Parametrage du prefix des factures
$tooltip=$langs->trans("GenericMaskCodes",$langs->transnoentities("InterventionCard"));
$tooltip.=$langs->trans("GenericMaskCodes2");
$tooltip.=$langs->trans("GenericMaskCodes3");
$tooltip.=$langs->trans("GenericMaskCodes4a",$langs->transnoentities("InterventionCard"),$langs->transnoentities("InterventionCard"));
$tooltip.=$langs->trans("GenericMaskCodes5");
// Parametrage du prefix
$texte.= '<tr><td>'.$langs->trans("Mask").':</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskvalue" value="'.$conf->global->FICHINTER_ARTIC_MASK.'">',$langs->trans("GenericMaskCodes",$langs->transnoentities("InterventionCard"),$langs->transnoentities("InterventionCard"),$langs->transnoentities("InterventionCard")),1,1).'</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskvalue" value="'.$conf->global->FICHINTER_ARTIC_MASK.'">',$tooltip,1,1).'</td>';
$texte.= '<td align="left" rowspan="2">&nbsp; <input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button"></td>';

View File

@@ -56,9 +56,15 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder
$texte.= '<input type="hidden" name="maskconstdelivery" value="LIVRAISON_SAPHIR_MASK">';
$texte.= '<table class="nobordernopadding" width="100%">';
// Parametrage du prefix des factures
$tooltip=$langs->trans("GenericMaskCodes",$langs->transnoentities("Delivery"));
$tooltip.=$langs->trans("GenericMaskCodes2");
$tooltip.=$langs->trans("GenericMaskCodes3");
$tooltip.=$langs->trans("GenericMaskCodes4a",$langs->transnoentities("Delivery"),$langs->transnoentities("Delivery"));
$tooltip.=$langs->trans("GenericMaskCodes5");
// Parametrage du prefix
$texte.= '<tr><td>'.$langs->trans("Mask").':</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskdelivery" value="'.$conf->global->LIVRAISON_SAPHIR_MASK.'">',$langs->trans("GenericMaskCodes",$langs->transnoentities("Delivery"),$langs->transnoentities("Delivery"),$langs->transnoentities("Delivery")),1,1).'</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskdelivery" value="'.$conf->global->LIVRAISON_SAPHIR_MASK.'">',$tooltip,1,1).'</td>';
$texte.= '<td align="left" rowspan="2">&nbsp; <input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button"></td>';

View File

@@ -58,9 +58,15 @@ class mod_propale_saphir extends ModeleNumRefPropales
$texte.= '<input type="hidden" name="maskconstpropal" value="PROPALE_SAPHIR_MASK">';
$texte.= '<table class="nobordernopadding" width="100%">';
// Parametrage du prefix des factures
$tooltip=$langs->trans("GenericMaskCodes",$langs->transnoentities("Proposal"));
$tooltip.=$langs->trans("GenericMaskCodes2");
$tooltip.=$langs->trans("GenericMaskCodes3");
$tooltip.=$langs->trans("GenericMaskCodes4a",$langs->transnoentities("Proposal"),$langs->transnoentities("Proposal"));
$tooltip.=$langs->trans("GenericMaskCodes5");
// Parametrage du prefix
$texte.= '<tr><td>'.$langs->trans("Mask").':</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskpropal" value="'.$conf->global->PROPALE_SAPHIR_MASK.'">',$langs->trans("GenericMaskCodes",$langs->transnoentities("Proposal"),$langs->transnoentities("Proposal"),$langs->transnoentities("Proposal")),1,1).'</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskpropal" value="'.$conf->global->PROPALE_SAPHIR_MASK.'">',$tooltip,1,1).'</td>';
$texte.= '<td align="left" rowspan="2">&nbsp; <input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button"></td>';

View File

@@ -0,0 +1,285 @@
<?php
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2006-2009 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2007 Regis Houssin <regis@dolibarr.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* or see http://www.gnu.org/
*/
/**
* \file htdocs/includes/modules/societe/mod_codeclient_elephant.class.php
* \ingroup societe
* \brief File of class to manage third party code with elephant rule
* \version $Id$
*/
require_once(DOL_DOCUMENT_ROOT."/includes/modules/societe/modules_societe.class.php");
/**
* \class mod_codeclient_elephant
* \brief Class to manage third party code with elephant rule
*/
class mod_codeclient_elephant extends ModeleThirdPartyCode
{
var $nom; // Nom du modele
var $code_modifiable; // Code modifiable
var $code_modifiable_invalide; // Code modifiable si il est invalide
var $code_modifiable_null; // Code modifiables si il est null
var $code_null; // Code facultatif
var $version; // 'development', 'experimental', 'dolibarr'
var $code_auto; // Numerotation automatique
var $searchcode; // String de recherche
var $numbitcounter; // Nombre de chiffres du compteur
var $prefixIsRequired; // Le champ prefix du tiers doit etre renseign<67> quand on utilise {pre}
/** \brief Constructeur classe
*/
function mod_codeclient_elephant()
{
$this->nom = "Elephant";
$this->version = "dolibarr";
$this->code_modifiable = 0;
$this->code_modifiable_invalide = 1;
$this->code_modifiable_null = 1;
$this->code_null = 0;
$this->code_auto = 1;
$this->prefixIsRequired = 0;
}
/** \brief Renvoi la description du module
* \return string Texte descripif
*/
function info($langs)
{
global $conf,$langs;
$langs->load("companies");
$form = new Form($db);
$texte = $langs->trans('GenericNumRefModelDesc')."<br>\n";
$texte.= '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
$texte.= '<input type="hidden" name="action" value="updateMask">';
$texte.= '<input type="hidden" name="maskcustomer" value="COMPANY_ELEPHANT_MASK_CUSTOMER">';
$texte.= '<input type="hidden" name="masksupplier" value="COMPANY_ELEPHANT_MASK_SUPPLIER">';
$texte.= '<table class="nobordernopadding" width="100%">';
$tooltip=$langs->trans("GenericMaskCodes",$langs->transnoentities("ThirdParty"));
//$tooltip.=$langs->trans("GenericMaskCodes2"); Not required for third party numbering
$tooltip.=$langs->trans("GenericMaskCodes3");
$tooltip.=$langs->trans("GenericMaskCodes4b");
$tooltip.=$langs->trans("GenericMaskCodes5");
// Parametrage du prefix customers
$texte.= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("CustomerCodeModel").'):</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskcustomer" value="'.$conf->global->COMPANY_ELEPHANT_MASK_CUSTOMER.'">',$tooltip,1,1).'</td>';
$texte.= '<td align="left" rowspan="2">&nbsp; <input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button"></td>';
$texte.= '</tr>';
// Parametrage du prefix suppliers
$texte.= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("SupplierCodeModel").'):</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="masksupplier" value="'.$conf->global->COMPANY_ELEPHANT_MASK_SUPPLIER.'">',$tooltip,1,1).'</td>';
$texte.= '</tr>';
$texte.= '</table>';
$texte.= '</form>';
return $texte;
}
/** \brief Return an example of number value
* \param $type Client ou fournisseur (1:client, 2:fournisseur)
* \return string Texte descripif
*/
function getExample($langs,$objsoc=0,$type=-1)
{
if ($type == 0 || $type == -1)
{
$examplecust = $this->getNextValue($objsoc,0);
if (! $examplecust)
{
$examplecust = $langs->trans('NotConfigured');
}
}
if ($type == 1 || $type == -1)
{
$examplesup = $this->getNextValue($objsoc,1);
if (! $examplesup)
{
$examplesup = $langs->trans('NotConfigured');
}
}
if ($type == 0) return $examplecust;
if ($type == 1) return $examplesup;
return $examplecust.'<br>'.$examplesup;
}
/** \brief Return next value
* \param objsoc Object third party
* \param $type Client ou fournisseur (1:client, 2:fournisseur)
* \return string Value if OK, '' if module not configured, <0 if KO
*/
function getNextValue($objsoc=0,$type=-1)
{
global $db,$conf;
require_once(DOL_DOCUMENT_ROOT ."/lib/functions2.lib.php");
// Get Mask value
$mask = '';
if ($type==0) $mask = $conf->global->COMPANY_ELEPHANT_MASK_CUSTOMER;
if ($type==1) $mask = $conf->global->COMPANY_ELEPHANT_MASK_SUPPLIER;
if (! $mask)
{
$this->error='NotConfigured';
return '';
}
$field='';$where='';
if ($type == 0)
{
$field = 'code_client';
//$where = ' AND client in (1,2)';
}
else if ($type == 1)
{
$field = 'code_fournisseur';
//$where = ' AND fournisseur = 1';
}
else return -1;
$now=gmmktime();
$numFinal=get_next_value($db,$mask,'societe',$field,$where,'',$now);
return $numFinal;
}
/**
* \brief Verifie si le mask utilise le prefix
*
*/
function verif_prefixIsUsed()
{
global $conf;
$mask = $conf->global->COMPANY_ELEPHANT_MASK_CUSTOMER;
if (eregi('\{pre\}',$mask)) return 1;
$mask = $conf->global->COMPANY_ELEPHANT_MASK_SUPPLIER;
if (eregi('\{pre\}',$mask)) return 1;
return 0;
}
/**
* \brief Verifie la validite du code
* \param $db Handler acces base
* \param $code Code a verifier/corriger
* \param $soc Objet societe
* \param $type 0 = client/prospect , 1 = fournisseur
* \return int <0 if KO, 0 if OK
*/
function verif($db, &$code, $soc, $type)
{
global $conf;
require_once(DOL_DOCUMENT_ROOT ."/lib/functions2.lib.php");
$result=0;
$code = strtoupper(trim($code));
if (! $code && $this->code_null)
{
$result=0;
}
else
{
// Get Mask value
$mask = '';
if ($type==0) $mask = $conf->global->COMPANY_ELEPHANT_MASK_CUSTOMER;
if ($type==1) $mask = $conf->global->COMPANY_ELEPHANT_MASK_SUPPLIER;
if (! $mask)
{
$this->error='NotConfigured';
return '';
}
$result=check_value($mask,$code);
}
dolibarr_syslog("mod_codeclient_elephant::verif type=".$type." result=".$result);
return $result;
}
/**
* \brief Renvoi une valeur correcte
* \param $db Handler acces base
* \param $code Code reference eventuel
* \return string Code correct, <0 si KO
*/
function get_correct($db, $code)
{
}
/**
* \brief Renvoi si un code est pris ou non (par autre tiers)
* \param $db Handler acces base
* \param $code Code a verifier
* \param $soc Objet societe
* \return int 0 si dispo, <0 si erreur
*/
function verif_dispo($db, $code, $soc)
{
$sql = "SELECT code_client FROM ".MAIN_DB_PREFIX."societe";
$sql.= " WHERE code_client = '".$code."'";
$sql.= " AND rowid != '".$soc->id."'";
$resql=$db->query($sql);
if ($resql)
{
if ($db->num_rows($resql) == 0)
{
return 0;
}
else
{
return -1;
}
}
else
{
return -2;
}
}
}
?>

View File

@@ -71,7 +71,7 @@ class mod_codeclient_leopard extends ModeleThirdPartyCode
*/
function info($langs)
{
return "Renvoie toujours ok, pour ceux qui ne veulent pas faire de test. Verification mais pas de generation automatique.";
return $langs->trans("LeopardNumRefModelDesc");
}

View File

@@ -29,10 +29,10 @@ require_once(DOL_DOCUMENT_ROOT."/includes/modules/societe/modules_societe.class.
/**
\class mod_codeclient_lion
\brief Classe permettant la gestion lion des codes tiers
\class mod_codeclient_monkey
\brief Classe permettant la gestion monkey des codes tiers
*/
class mod_codeclient_lion extends ModeleThirdPartyCode
class mod_codeclient_monkey extends ModeleThirdPartyCode
{
var $nom; // Nom du modele
var $code_modifiable; // Code modifiable
@@ -45,10 +45,10 @@ class mod_codeclient_lion extends ModeleThirdPartyCode
/** \brief Constructeur classe
*/
function mod_codeclient_lion()
function mod_codeclient_monkey()
{
$this->nom = "Lion";
$this->version = "dolibarr";
$this->nom = "Monkey";
$this->version = "experimental";
$this->code_modifiable = 0;
$this->code_modifiable_invalide = 1;
$this->code_modifiable_null = 1;
@@ -62,7 +62,7 @@ class mod_codeclient_lion extends ModeleThirdPartyCode
*/
function info($langs)
{
return "Verifie si le code client/fournisseur est de la forme numerique 999 et sur au moins 3 chiffres. Verification mais pas de generation automatique.";
return $langs->trans("MonkeyNumRefModelDesc");
}
@@ -71,14 +71,14 @@ class mod_codeclient_lion extends ModeleThirdPartyCode
*/
function getExample($langs)
{
return "001";
return "000001";
}
/**
* \brief V<EFBFBD>rifie la validit<EFBFBD> du code
* \brief Verifie la validite du code
* \param $db Handler acces base
* \param $code Code a v<EFBFBD>rifier/corriger
* \param $code Code a verifier/corriger
* \param $soc Objet societe
* \return int <0 si KO, 0 si OK
*/
@@ -117,7 +117,7 @@ class mod_codeclient_lion extends ModeleThirdPartyCode
}
}
}
dolibarr_syslog("mod_codeclient_lion::verif result=".$result);
dolibarr_syslog("mod_codeclient_monkey::verif result=".$result);
return $result;
}

View File

@@ -1,452 +0,0 @@
<?php
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2006-2007 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2007 Regis Houssin <regis@dolibarr.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* or see http://www.gnu.org/
*/
/**
* \file htdocs/includes/modules/societe/mod_codeclient_tigre.class.php
* \ingroup societe
* \brief Fichier de la classe des gestion tigre des codes clients
* \version $Id$
*/
require_once(DOL_DOCUMENT_ROOT."/includes/modules/societe/modules_societe.class.php");
/**
\class mod_codeclient_tigre
\brief Classe permettant la gestion tigre des codes tiers
*/
class mod_codeclient_tigre extends ModeleThirdPartyCode
{
var $nom; // Nom du modele
var $code_modifiable; // Code modifiable
var $code_modifiable_invalide; // Code modifiable si il est invalide
var $code_modifiable_null; // Code modifiables si il est null
var $code_null; // Code facultatif
var $version; // 'development', 'experimental', 'dolibarr'
var $code_auto; // Numerotation automatique
var $searchcode; // String de recherche
var $numbitcounter; // Nombre de chiffres du compteur
var $prefixIsRequired; // Le champ prefix du tiers doit etre renseign<67> quand on utilise {pre}
/** \brief Constructeur classe
*/
function mod_codeclient_tigre()
{
$this->nom = "Tigre";
$this->version = "experimental";
$this->code_modifiable = 0;
$this->code_modifiable_invalide = 1;
$this->code_modifiable_null = 1;
$this->code_null = 0;
$this->code_auto = 1;
$this->prefixIsRequired = 0;
}
/** \brief Renvoi la description du module
* \return string Texte descripif
*/
function info($langs)
{
global $conf,$langs;
$langs->load("companies");
$form = new Form($db);
$texte = $langs->trans('TigreNumRefModelDesc1')."<br>\n";
$texte.= '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
$texte.= '<input type="hidden" name="action" value="updateMask">';
$texte.= '<table class="nobordernopadding" width="100%">';
// Parametrage du masque
$texte.= '<tr><td>'.$langs->trans("CustomerCodeModel").'</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskcustomer" value="'.$conf->global->CODE_TIGRE_MASK_CUSTOMER.'">',$langs->trans("TigreMaskCodes"),1,1).'</td>';
$texte.= '</tr>';
$texte.= '<tr><td>'.$langs->trans("SupplierCodeModel").'</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="masksupplier" value="'.$conf->global->CODE_TIGRE_MASK_SUPPLIER.'">',$langs->trans("TigreMaskCodes"),1,1).'</td>';
$texte.= '</tr>';
$texte.= '<tr><td>&nbsp;</td><td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button"></td></tr>';
$texte.= '</table>';
$texte.= '</form>';
return $texte;
}
/** \brief Renvoi la description du module
* \param $type Client ou fournisseur (1:client, 2:fournisseur)
* \return string Texte descripif
*/
function getExample($langs,$objsoc=0,$type=-1)
{
if ($type == 0)
{
$example = $this->getNextValue($objsoc,0);
}
else if ($type == 1)
{
$example = $this->getNextValue($objsoc,1);
}
else
{
$example = $this->getNextValue($objsoc,0)."<br>".$this->getNextValue($objsoc,1);
}
return $example;
}
/** \brief Renvoi prochaine valeur attribu<62>e
* \param $type Client ou fournisseur (1:client, 2:fournisseur)
* \return string Valeur
*/
function getNextValue($objsoc=0,$type=-1)
{
global $db,$conf;
$mask = $this->buildMask($objsoc,$type);
if ($type == 0)
{
$field = 'code_client';
}
else if ($type == 1)
{
$field = 'code_fournisseur';
}
// On r<>cup<75>re la valeur max (r<>ponse imm<6D>diate car champ ind<6E>x<EFBFBD>)
$posindice = $this->numbitcounter;
$sql = "SELECT MAX(0+SUBSTRING(".$field.",-".$posindice."))";
$sql.= " FROM ".MAIN_DB_PREFIX."societe";
$sql.= " WHERE ".$field." REGEXP '^".$this->searchcode."$'";
$resql=$db->query($sql);
if ($resql)
{
$row = $db->fetch_row($resql);
$max = $row[0];
}
// On applique le nombre de chiffres du compteur
$arg = '%0'.$this->numbitcounter.'s';
$num = sprintf($arg,$max+1);
$mask = eregi_replace('\{0+\}',$num,$mask);
dolibarr_syslog("mod_codeclient_tigre::getNextValue return ".$mask);
return $mask;
}
/** \brief Construction du masque de num<75>rotation
* \param objsoc Objet soci<63>t<EFBFBD>
* \param $type Client ou fournisseur (1:client, 2:fournisseur)
* \return string Valeur
*/
function buildMask($objsoc=0,$type=-1)
{
global $conf;
if ($type==0)
{
$mask = $conf->global->CODE_TIGRE_MASK_CUSTOMER;
}
else if ($type==1)
{
$mask = $conf->global->CODE_TIGRE_MASK_SUPPLIER;
}
$maskElement = preg_split('/[|]{1}/', $mask);
$foundCounter = 0;
$substrBegin = 0;
$substrEnd = 0;
$maskRebuild = '';
$error = 0;
$this->searchcode = '';
for ($i = 0; $i < count($maskElement); $i++)
{
// Ajout du jour en cours
if ($maskElement[$i] == '{dd}')
{
$maskRebuild .= strftime("%d",time());
$this->searchcode .= '([0-9]{2})';
}
else if (eregi('\{d+\}',$maskElement[$i]) && (eregi('\{d+\}',$$maskElement[$i]) != '{dd}'))
{
$error++;
}
// Ajout du mois en cours
if ($maskElement[$i] == '{mm}')
{
$maskRebuild .= strftime("%m",time());
$this->searchcode .= '([0-9]{2})';
}
else if (eregi('\{m+\}',$maskElement[$i]) && (eregi('\{m+\}',$maskElement[$i]) != '{mm}'))
{
$error++;
}
// Ajout de l'ann<6E>e en cours
if ($maskElement[$i] == '{aa}')
{
$maskRebuild .= substr(strftime("%Y",time()),2);
$this->searchcode .= '([0-9]{2})';
}
else if ($maskElement[$i] == '{aaaa}')
{
$maskRebuild .= strftime("%Y",time());
$this->searchcode .= '([0-9]{4})';
}
else if (eregi('\{a+\}',$maskElement[$i]) && ((eregi('\{a+\}',$maskElement[$i]) != '{aa}') || (eregi('\{a+\}',$maskElement[$i]) != '{aaa}')))
{
$error++;
}
// Ajout du pr<70>fix de la soci<63>t<EFBFBD>
if (is_object($objsoc) && $objsoc->prefix_comm && $maskElement[$i] == '{pre}')
{
if ((!$objsoc->fournisseur && !$objsoc->code_fournisseur) || (!$objsoc->client && !$objsoc->code_client))
{
$maskRebuild .= strtoupper($objsoc->prefix_comm);
$this->searchcode .= '([0-9A-Z]{1,})';
}
else
{
$maskRebuild .= 'ABC';
$this->searchcode .= '([0-9A-Z]{1,})';
}
}
else if (is_object($objsoc) && !$objsoc->prefix_comm && $maskElement[$i] == '{pre}')
{
$maskRebuild .= 'ABC';
$error++;
$this->prefixIsRequired = 1;
}
else if (!is_object($objsoc) && $maskElement[$i] == '{pre}')
{
if (is_string($objsoc) && $objsoc)
{
$maskRebuild .= $objsoc;
$this->searchcode .= '([0-9A-Z]{1,})';
}
else if ($objsoc === 0)
{
$maskRebuild .= 'ABC';
$this->searchcode .= '([0-9A-Z]{1,})';
}
else
{
$error++;
$this->prefixIsRequired = 1;
}
}
// Ajout des s<>parateurs <20>ventuels : \ / -
if (eregi('[\/-]{1}',$maskElement[$i]))
{
$maskRebuild .= $maskElement[$i];
$this->searchcode .= '([\/-]{1})';
}
else if (eregi('[\/-]{2,}',$maskElement[$i]))
{
$error++;
}
// Ajout des champs libres <20>ventuels
if (eregi('^[0-9A-Z]+$',$maskElement[$i]))
{
$maskRebuild .= strtoupper($maskElement[$i]);
$this->searchcode .= '([0-9A-Z]+)';
}
// D<>finition du compteur
if (eregi('\{0+\}',$maskElement[$i]))
{
// D<>fini le nombre de chiffres du compteur
$this->numbitcounter = strlen(substr($maskElement[$i],1,-1));
// Permettra d'effectuer une recherche dans la table
$this->searchcode .= '([0-9]{'.$this->numbitcounter.'})';
$maskRebuild .= $maskElement[$i];
$foundCounter = 1;
}
else if ($i == count($maskElement) && !eregi('\{0+\}',$maskElement[$i]) && $foundCounter == 0)
{
$error++;
}
}
return $maskRebuild;
}
/**
* \brief V<>rifie si le mask utilise le pr<70>fix
*
*/
function verif_prefixIsUsed()
{
global $conf;
$mask = $conf->global->CODE_TIGRE_MASK_CUSTOMER;
if (eregi('\{pre\}',$mask)) return 1;
$mask = $conf->global->CODE_TIGRE_MASK_SUPPLIER;
if (eregi('\{pre\}',$mask)) return 1;
return 0;
}
/**
* \brief V<>rifie la validit<69> du code
* \param $db Handler acces base
* \param $code Code a v<>rifier/corriger
* \param $soc Objet societe
* \param $type 0 = client/prospect , 1 = fournisseur
* \return int <0 si KO, 0 si OK
*/
function verif($db, &$code, $soc, $type)
{
$result=0;
$code = strtoupper(trim($code));
if (! $code && $this->code_null)
{
$result=0;
}
else
{
if ($this->verif_syntax($code) >= 0)
{
$is_dispo = $this->verif_dispo($db, $code, $soc);
if ($is_dispo <> 0)
{
$result=-3;
}
else if ($type == 0 && $soc->prefixCustomerIsRequired && !$soc->prefix_comm)
{
$result=-4;
}
else if ($type == 1 && $soc->prefixSupplierIsRequired && !$soc->prefix_comm)
{
$result=-5;
}
else
{
$result=0;
}
}
else
{
if (strlen($code) == 0)
{
$result=-2;
}
else
{
$result=-1;
}
}
}
dolibarr_syslog("mod_codeclient_tigre::verif result=".$result);
return $result;
}
/**
* \brief Renvoi une valeur correcte
* \param $db Handler acces base
* \param $code Code reference eventuel
* \return string Code correct, <0 si KO
*/
function get_correct($db, $code)
{
}
/**
* \brief Renvoi si un code est pris ou non (par autre tiers)
* \param $db Handler acces base
* \param $code Code a verifier
* \param $soc Objet societe
* \return int 0 si dispo, <0 si erreur
*/
function verif_dispo($db, $code, $soc)
{
$sql = "SELECT code_client FROM ".MAIN_DB_PREFIX."societe";
$sql.= " WHERE code_client = '".$code."'";
$sql.= " AND rowid != '".$soc->id."'";
$resql=$db->query($sql);
if ($resql)
{
if ($db->num_rows($resql) == 0)
{
return 0;
}
else
{
return -1;
}
}
else
{
return -2;
}
}
/**
* \brief Renvoi si un code respecte la syntaxe
* \param $code Code a verifier
* \return int 0 si OK, <0 si KO
*/
function verif_syntax($code)
{
$res = 0;
return $res;
}
/**
* Renvoi 0 si numerique, sinon renvoi nb de car non numerique
*/
function is_num($str)
{
$ok = 0;
return $ok;
}
}
?>

View File

@@ -1,270 +0,0 @@
<?php
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2006-2007 Laurent Destailleur <eldy@users.sourceforge.net>
*
* 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
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* or see http://www.gnu.org/
*/
/**
* \file htdocs/includes/modules/societe/mod_codeclient_zebre.class.php
* \ingroup societe
* \brief Fichier de la classe des gestion zebre des codes clients
* \version $Id$
*/
require_once(DOL_DOCUMENT_ROOT."/includes/modules/societe/modules_societe.class.php");
/**
\class mod_codeclient_zebre
\brief Classe permettant la gestion zebre des codes tiers
*/
class mod_codeclient_zebre extends ModeleThirdPartyCode
{
var $nom; // Nom du modele
var $code_modifiable; // Can be changed if valid
var $code_modifiable_invalide; // Can be changed if not valid
var $code_modifiable_null; // Can be changed if not defined
var $code_null; // Can be undefined
var $version; // 'development', 'experimental', 'dolibarr'
var $code_auto; // Numerotation automatique
/** \brief Constructeur classe
*/
function mod_codeclient_zebre()
{
$this->nom = "Zebre";
$this->version = "dolibarr";
$this->code_modifiable = 0; // Can be changed if valid
$this->code_modifiable_invalide = 1; // Can be changed if not valid
$this->code_modifiable_null = 1; // Can be changed if not defined
$this->code_null = 0; // Can be undefined
$this->code_auto = 0;
}
/**
* \brief Renvoie la description du module
* \return string Texte descripif
*/
function info($langs)
{
return "Verifie si le code client/fournisseur est de la forme CCCC9999. Les quatres premieres lettres etant une representation mnemotechnique, suivi du code postal en 2 chiffres et un numero d'ordre pour la prise en compte des doublons. Verification mais pas de generation automatique.";
}
/** \brief Renvoi la description du module
* \return string Texte descripif
*/
function getExample($langs)
{
return "ABCD7501";
}
/**
* \brief V<>rifie la validit<69> du code
* \param $db Handler acces base
* \param $code Code a v<>rifier/corriger
* \param $soc Objet societe
* \return int <0 si KO, 0 si OK
*/
function verif($db, &$code, $soc)
{
$result=0;
$code = strtoupper(trim($code));
if (! $code && $this->code_null)
{
$result=0;
}
else
{
if ($this->verif_syntax($code) == 0)
{
$i = 1;
$is_dispo = $this->verif_dispo($db, $code, $soc);
while ($is_dispo <> 0 && $i < 99)
{
$arr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$code = substr($code,0,6) . substr("00".$i, -2);
$is_dispo = $this->verif_dispo($db, $code, $soc);
$i++;
}
if ($is_dispo <> 0)
{
$result=-3;
}
}
else
{
if (strlen(trim($code)) == 0)
{
$result=-2;
}
else
{
$result=-1;
}
}
}
dolibarr_syslog("mod_codeclient_zebre::verif result=".$result);
return $result;
}
/**
* \brief Renvoi une valeur correcte
* \param $db Handler acces base
* \param $code Code reference eventuel
* \return string Code correct, <0 si KO
*/
function get_correct($db, $code)
{
if ($this->verif_syntax($code) == 0)
{
$i = 1;
$is_dispo = $this->verif_dispo($db, $code, $soc);
while ( $is_dispo <> 0 && $i < 99)
{
$arr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$code = substr($code,0,6) . substr("00".$i, -2);
$is_dispo = $this->verif_dispo($db, $code, $soc);
$i++;
}
return $is_dispo;
}
else
{
return -1;
}
}
/**
* \brief Renvoi si un code est pris ou non (par autre tiers)
* \param $db Handler acces base
* \param $code Code a verifier
* \param $soc Objet societe
* \return int 0 si dispo, <0 si erreur
*/
function verif_dispo($db, $code, $soc)
{
$sql = "SELECT code_client FROM ".MAIN_DB_PREFIX."societe";
$sql.= " WHERE code_client = '".$code."'";
$sql.= " AND rowid != '".$soc->id."'";
$resql=$db->query($sql);
if ($resql)
{
if ($db->num_rows($resql) == 0)
{
return 0;
}
else
{
return -1;
}
}
else
{
return -2;
}
}
/**
* \brief Renvoi si un code respecte la syntaxe
* \param $code Code a verifier
* \return int 0 si OK, <0 si KO
*/
function verif_syntax(&$code)
{
$res = 0;
if (strlen($code) <> 8)
{
$res = -1;
}
else
{
if ($this->is_alpha(substr($code,0,4)) == 0 && $this->is_num(substr($code,4,4)) == 0 )
{
$res = 0;
}
else
{
$res = -2;
}
}
return $res;
}
function is_alpha($str)
{
$ok = 0;
// Je n'ai pas trouv<75> de fonction pour tester une chaine alpha sans les caract<63>re accentu<74>s
// dommage
$alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
for ($i = 0 ; $i < 4 ; $i++)
{
if (strpos($alpha, substr($str,$i, 1)) === false)
{
$ok++;
}
}
return $ok;
}
function is_num($str)
{
$ok = 0;
$alpha = '0123456789';
for ($i = 0 ; $i < 4 ; $i++)
{
if (strpos($alpha, substr($str,$i, 1)) === false)
{
$ok++;
}
}
return $ok;
}
}
?>

View File

@@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2007 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2007 Regis Houssin <regis@dolibarr.fr>
*
@@ -134,20 +134,22 @@ class ModeleThirdPartyCode
function getToolTip($langs,$soc,$type)
{
$s='';
$s.=$langs->trans("Name").': <b>'.$this->nom.'</b><br>';
$s.=$langs->trans("Version").': <b>'.$this->getVersion().'</b><br>';
if ($type == 0) $s.=$langs->trans("CustomerCodeDesc").'<br>';
if ($type == 1) $s.=$langs->trans("SupplierCodeDesc").'<br>';
if ($type != -1) $s.=$langs->trans("ValidityControledByModule").': <b>'.$this->getNom($langs).'</b><br>';
$s.='<br>';
$s.='<u>'.$langs->trans("ThisIsModuleRules").'</u>:<br>';
if ($type == 0) $s.=$langs->trans("RequiredIfCustomer").': <b>'.yn(!$this->code_null).'</b><br>';
if ($type == 1) $s.=$langs->trans("RequiredIfSupplier").': <b>'.yn(!$this->code_null).'</b><br>';
if ($type == -1) $s.=$langs->trans("Required").': <b>'.yn(!$this->code_null).'</b><br>';
$s.=$langs->trans("CanBeModifiedIfOk").': <b>'.yn($this->code_modifiable).'</b><br>';
$s.=$langs->trans("CanBeModifiedIfKo").': <b>'.yn($this->code_modifiable_invalide).'</b><br>';
$s.=$langs->trans("AutomaticCode").': <b>'.yn($this->code_auto).'</b><br>';
if ($type == 0) $s.=$langs->trans("Example").': <b>'.$this->getExample($langs,$soc,0).'</b>';
if ($type == 1) $s.=$langs->trans("Example").': <b>'.$this->getExample($langs,$soc,1).'</b>';
$s.='<u>'.$langs->trans("ThisIsModuleRules").':</u><br>';
if ($type == 0) $s.=$langs->trans("RequiredIfCustomer").': '.yn(!$this->code_null,1,1).'<br>';
if ($type == 1) $s.=$langs->trans("RequiredIfSupplier").': '.yn(!$this->code_null,1,1).'<br>';
if ($type == -1) $s.=$langs->trans("Required").': '.yn(!$this->code_null,1,1).'<br>';
$s.=$langs->trans("CanBeModifiedIfOk").': '.yn($this->code_modifiable,1,1).'<br>';
$s.=$langs->trans("CanBeModifiedIfKo").': '.yn($this->code_modifiable_invalide,1,1).'<br>';
$s.=$langs->trans("AutomaticCode").': '.yn($this->code_auto,1,1).'<br>';
$s.='<br>';
if ($type == 0 || $type == -1) $s.=$langs->trans("NextValue").': <b>'.$this->getExample($langs,$soc,0).'</b><br>';
if ($type == 1 || $type == -1) $s.=$langs->trans("NextValue").': <b>'.$this->getExample($langs,$soc,1).'</b>';
return $s;
}
}

View File

@@ -58,9 +58,15 @@ class mod_commande_fournisseur_orchidee extends ModeleNumRefSuppliersOrders
$texte.= '<input type="hidden" name="maskconstorder" value="COMMANDE_FOURNISSEUR_ORCHIDEE_MASK">';
$texte.= '<table class="nobordernopadding" width="100%">';
// Parametrage du prefix des factures
$tooltip=$langs->trans("GenericMaskCodes",$langs->transnoentities("Order"));
$tooltip.=$langs->trans("GenericMaskCodes2");
$tooltip.=$langs->trans("GenericMaskCodes3");
$tooltip.=$langs->trans("GenericMaskCodes4a",$langs->transnoentities("Order"),$langs->transnoentities("Order"));
$tooltip.=$langs->trans("GenericMaskCodes5");
// Parametrage du prefix
$texte.= '<tr><td>'.$langs->trans("Mask").':</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskorder" value="'.$conf->global->COMMANDE_FOURNISSEUR_ORCHIDEE_MASK.'">',$langs->trans("GenericMaskCodes",$langs->transnoentities("Order"),$langs->transnoentities("Order"),$langs->transnoentities("Order")),1,1).'</td>';
$texte.= '<td align="right">'.$form->textwithhelp('<input type="text" class="flat" size="24" name="maskorder" value="'.$conf->global->COMMANDE_FOURNISSEUR_ORCHIDEE_MASK.'">',$tooltip,1,1).'</td>';
$texte.= '<td align="left" rowspan="2">&nbsp; <input type="submit" class="button" value="'.$langs->trans("Modify").'" name="Button"></td>';

View File

@@ -205,7 +205,7 @@ SetupIsReadyForUse = La instal·lació ha finalitzat i Dolibarr està disponible
CurrentVersion = Versió actual de Dolibarr
CallUpdatePage = Trucar a la pàgina d'actualització de l'estructura i dades de la base de dades %s.
LastStableVersion = Última versió estable
GenericMaskCodes = Podeu introduir qualsevol màscara numèrica. En aquesta màscara, pot utilitzar les següents etiquetes: <br> <b> (000000) </b> correspon a un nombre que s'incrementa en cadascun %s. Introduïu tants zeros com longuitud desitgi mostrar. El comptador es completarà a partir de zeros per l'esquerra per tal de tenir tants zeros com la màscara. <br> <b> 000.000 (000) </b> Igual que l'anterior, amb una compensació corresponent al número a la dreta del signe + s'aplica a partir del primer %s. <br> <b> (000000) @ x </b> igual que l'anterior, però el comptador es restableix a zero quan s'arriba a x mesos (x entre 1 i 12). Si aquesta opció s'utilitza i x és de 2 o superior, llavors la seqüència () (aa mm) (o) (aaaa) mm també és necessària. <br> <b> dd () </b> dies (01 a 31). <br> <b> mm () </ b> mes (01 a 12). <br> <b> yy () </ b>, <b> (aaaa) </ b> o <b> (i) </ b> de més de 2 anys, 4 o l'1 de números. <br> <b> cccc000 () </b> el codi de client en n caràcters seguits d'una ref. client sense offset i 0 al comptador global. <br> Tots els altres caràcters de la màscara es mantindran intactes. <br> No es permeten espais. <br> <u> exemple, en la 99 % s del tercer de l'empresa dóna 31.01.2007: </u> <br> <b> ABC yy () (mm) - (000000) < /b> donarà <b> ABC0701-000099 </b> <br> <b> 0000 (100)-ZZZ/() dd / XXX </b> donarà <b> 0199-ZZZ/31/XXX </b ><br>
GenericMaskCodes =
GenericNumRefModelDesc = Retorna un nombre creat d'acord amb una màscara definida.
ServerAvailableOnIPOrPort = Servidor disponible a l'adreça <b>%s</b> al port <b>%s</b>
ServerNotAvailableOnIPOrPort = Servidor no disponible en l'adreça <b>%s</b> al port <b>%s</b>

View File

@@ -217,7 +217,7 @@ SetupIsReadyForUse=Installer er færdig og Dolibarr er klar til brug med denne n
CurrentVersion=Dolibarr aktuelle version
CallUpdatePage=Gå til den side, der opdaterer database struktur og oplysningerne% s.
LastStableVersion=Seneste stabile version
GenericMaskCodes=Du kan indtaste et hvilket som helst nummerressourcer maske. I denne maske, Følgende tags kan bruges: <br> <b>(000000)</b> svarer til et nummer, der skal øges for hver% s. Angiv så mange nuller som den ønskede længde på tælleren. Tælleren vil blive suppleret af nuller fra venstre for at få så mange nuller som maske. <br> <b>(000000 +000)</b> samme som tidligere, men en offset svarende til antallet til højre for tegnet + anvendes starter den første% s. <br> <b>(000000 @ x)</b> samme som tidligere, men tælleren er nulstillet når måned x er nået (x mellem 1 og 12). Hvis denne indstilling er anvendt, og x er 2 eller højere, så SEQUENCE (yy) (mm) eller (ÅÅÅÅ) (mm) er også påkrævet. <br> <b>(dd)</b> dag (01 til 31). <br> <b>(mm)</b> måned (01 til 12). <br> <b>(yy), (ÅÅÅÅ)</b> eller <b>(y)</b> år over 2, 4 eller 1 numre. <br> <b>(cccc000)</b> kunden kode på n tegn efterfulgt af en klients ref counter uden kompensation og zeroized whith den globale counter. <br><br> Alle andre tegn i maske vil forblive intakt. <br> Mellemrum er ikke tilladt. <br><br> <u>Eksempel på 99.% s af den tredje part TheCompany gjort 31/01/2007:</u> <br> <b>ABC (yy) (mm) - (000000)</b> vil give <b>ABC0701-000099</b> <br> <b>(0000 +100)-ZZZ / (dd) / XXX</b> vil give <b>0199-ZZZ/31/XXX</b> <br>
GenericMaskCodes=
GenericNumRefModelDesc=Retur en tilpasselig antal henhold til en bestemt maske.
ServerAvailableOnIPOrPort=Server findes på <b>adressen% s port% s</b>
ServerNotAvailableOnIPOrPort=Serveren er ikke tilgængelig på <b>adressen% s port% s</b>

View File

@@ -215,7 +215,7 @@ SetupIsReadyForUse=Installation abgeschlossen ist und Dolibarr ist bereit für d
CurrentVersion=Dolibarr aktuelle Version
CallUpdatePage=Gehen Sie zu der Seite, dass Updates der Datenbankstruktur und der Daten% s.
LastStableVersion=Letzte stabile Version
GenericMaskCodes=Sie können alle Nummern Maske. In dieser Maske, die folgende Tags verwendet werden können: <br> <b>(000000)</b> entspricht einer Zahl, die erhöht auf jedem% s. Geben Sie so viele Nullen, wie die gewünschte Länge des Zählers. Der Zähler wird durch Nullen ergänzt werden, von der linken Seite, um so viele Nullen, wie die Maske. <br> <b>(000000 +000)</b> wie oben, sondern ein Ausgleich entsprechend der Zahl auf der rechten Seite das +-Zeichen wird ab dem ersten% s. <br> <b>@ X (000000)</b> wie oben, aber der Zähler auf Null zurückgesetzt, wenn Monat x erreicht ist (x zwischen 1 und 12). Wenn diese Option verwendet wird, und x ist 2 oder höher, dann SEQUENCE (yy) (mm) oder (JJJJ) (mm) ist ebenfalls erforderlich. <br> <b>tt ()</b> Tag (01 bis 31). <br> <b>() mm</b> Monat (01 bis 12). <br> <b>yy (), (JJJJ)</b> oder <b>(y)</b> Jahr über 2, 4 oder 1-Nummern. <br> <b>() cccc000</b> den Client-Code auf n-Zeichen, gefolgt von einem Client-ref Zähler ohne Offset-und zeroized whith der globalen Zähler. <br><br> Alle anderen Zeichen in der Maske bleiben. <br> Leerzeichen sind nicht zulässig. <br><br> <u>Beispiel auf der 99.% s des Dritten TheCompany getan 31/01/2007:</u> <br> <b>ABC (yy) (mm) - (000000)</b> wird <b>ABC0701-000099</b> <br> <b>(0000 +100)-ZZZ / tt () / XXX</b> wird <b>0199-ZZZ/31/XXX</b> <br>
GenericMaskCodes=
GenericNumRefModelDesc=Zurück eine anpassbare Zahl nach einem definierten Maske.
ServerAvailableOnIPOrPort=Server ist verfügbar unter der <b>Adresse% s</b> auf <b>Port% s</b>
ServerNotAvailableOnIPOrPort=Server nicht verfügbar ist unter der <b>Adresse% s</b> auf <b>Port% s</b>

View File

@@ -206,7 +206,12 @@ SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this ne
CurrentVersion=Dolibarr current version
CallUpdatePage=Go to the page that updates database structure and datas %s.
LastStableVersion=Last stable version
GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:<br><b>{000000}</b> corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask. <br><b>{000000+000}</b> same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s. <br><b>{000000@x}</b> same as previous but the counter is reset to zero when month x is reached (x between 1 and 12). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required. <br><b>{dd}</b> day (01 to 31).<br><b>{mm}</b> month (01 to 12).<br><b>{yy}</b>, <b>{yyyy}</b> or <b>{y}</b> year over 2, 4 or 1 numbers. <br> <b>{cccc000}</b> the client code on n characters followed by a client's ref counter without offset and zeroized whith the global counter.<br><br>All other characters in the mask will remain intact.<br>Spaces are not allowed.<br><br><u>Example on the 99th %s of the third party TheCompany done 31/01/2007:</u><br><b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b><br>
GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:<br><b>{000000}</b> corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask. <br><b>{000000+000}</b> same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s. <br><b>{000000@x}</b> same as previous but the counter is reset to zero when month x is reached (x between 1 and 12). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required. <br><b>{dd}</b> day (01 to 31).<br><b>{mm}</b> month (01 to 12).<br><b>{yy}</b>, <b>{yyyy}</b> or <b>{y}</b> year over 2, 4 or 1 numbers. <br>
GenericMaskCodes2=<b>{cccc}</b> the client code<br><b>{cccc000}</b> the client code on n characters is followed by a client's ref counter without offset and zeroized whith the global counter.<br>
GenericMaskCodes3=All other characters in the mask will remain intact.<br>Spaces are not allowed.<br>
GenericMaskCodes4a=<u>Example on the 99th %s of the third party TheCompany done 2007-01-31:</u><br>
GenericMaskCodes4b=<u>Example on third party created on 2007-03-01:</u><br>
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> will give <b>ABC0701-000099</b><br><b>{0000+100}-ZZZ/{dd}/XXX</b> will give <b>0199-ZZZ/31/XXX</b>
GenericNumRefModelDesc=Return a customizable number according to a defined mask.
ServerAvailableOnIPOrPort=Server is available at address <b>%s</b> on port <b>%s</b>
ServerNotAvailableOnIPOrPort=Server is not available at address <b>%s</b> on port <b>%s</b>

View File

@@ -258,5 +258,7 @@ AutomaticallyGenerated=Automatically generated
FiscalYearInformation=Information on the fiscal year
FiscalMonthStart=Starting month of the fiscal year
# Tigre
TigreNumRefModelDesc1=Return a customizable customer/supplier number according to a defined mask.
# Monkey
MonkeyNumRefModelDesc=Check that customer/supplier code contains 6 numbers.
# Leopard
LeopardNumRefModelDesc=Customer/supplier code is free. This code can be modified at any time.

View File

@@ -205,7 +205,7 @@ SetupIsReadyForUse = La instalación ha finalizado y Dolibarr está disponible c
CurrentVersion = Versión actual de Dolibarr
CallUpdatePage = Llamar a la página de actualización de la estructura y datos de la base de datos %s.
LastStableVersion = Última versión estable
GenericMaskCodes = Puede introducir cualquier máscara numérica. En esta máscara, puede utilizar las siguientes etiquetas:<br><b>{000000} </b> corresponde a un número que se incrementa en cada uno de %s. Introduzca tantos ceros como longuitud desee mostrar. El contador se completará a partir de ceros por la izquierda con el fin de tener tantos ceros como la máscara. <br> <b> 000.000 (000) </ b> Igual que el anterior, con una compensación correspondiente al número a la derecha del signo + se aplica a partir del primer %s. <br> <b> (000000) @ x </b> igual que el anterior, pero el contador se restablece a cero cuando se llega a x meses (x entre 1 y 12). Si esta opción se utiliza y x es de 2 o superior, entonces la secuencia () (aa mm) (o) (aaaa) mm también es necesaria. <br> <b> dd () </ b> días (01 a 31). <br> <b> mm () </ b> mes (01 a 12). <br> <b> yy () < / b>, <b> (aaaa) </ b> o <b> (y) </ b> de más de 2 años, 4 o el 1 de números. <br> <b> cccc000 () </ b> el código de cliente en n caracteres seguidos de una ref. cliente sin offset y a 0 en el contador global. <br> <br> Todos los demás caracteres de la máscara se mantendrán intactos. <br> No se permiten espacios. <br> <br> <u> ejemplo, en la 99 %s del tercero de la empresa da 31/01/2007: </ u> <br> <b> ABC yy () ( mm) - (000000) </ b> dará <b> ABC0701-000099 </ b> <br> <b> 0000 (100)-ZZZ / () dd / XXX </ b> dará <b> 0199-ZZZ/31/XXX </ b> <br>
GenericMaskCodes =
GenericNumRefModelDesc = Devuelve un número creado acorde a una máscara definida.
ServerAvailableOnIPOrPort = Servidor disponible en la dirección <b>%s</b> en el puerto <b>%s</b>
ServerNotAvailableOnIPOrPort = Servidor no disponible en la dirección <b>%s</b> en el puerto <b>%s</b>

View File

@@ -215,7 +215,7 @@ SetupIsReadyForUse=Asenna on päättynyt ja Dolibarr on valmis käyttämään t
CurrentVersion=Dolibarr nykyinen versio
CallUpdatePage=Siirry sivun päivitykset tietokannan rakennetta ja datas% s.
LastStableVersion=Viimeisin vakaa versio
GenericMaskCodes=Voit kirjoittaa minkä tahansa numerointiin mask. Tässä mask, seuraavia koodeja voidaan käyttää: <br> <b>(000000)</b> vastaa numero, jonka on kasvatettu kunkin% s. Kirjoita niin monta nollaa kuin toivottu pituus vastatakaus. Laskuri on täydennettävä nollilla vasemmalta, jotta on niin monta nollaa kuin peittää. <br> <b>(000000 +000)</b> sama kuin edellinen, mutta offset vastaa numeron oikealla puolella olevaa plusmerkkiä sovelletaan alkaa ensimmäiset% s. <br> <b>(000000 @ x)</b> sama kuin edellinen, mutta nollautuu nollaan, kun kuukausi x on saavutettu (x välillä 1 ja 12). Jos tämä vaihtoehto on käytössä, ja x on 2 tai enemmän, sitten järjestyksessä (yy) (mm) tai (vvvv) (mm) on myös tarpeen. <br> <b>(dd)</b> vrk (01-31). <br> <b>(mm)</b> kk (01-12). <br> <b>(yy), (vvvv)</b> tai <b>(y)</b> vuodessa yli 2, 4 tai 1-numerot. <br> <b>(cccc000)</b> asiakkaan koodi n merkkiä seuraa asiakkaan ref counter ilman tasoitusta ja zeroized whith maailmanlaajuisen laskuri. <br><br> Kaikki muut merkit ja maski pysyy ennallaan. <br> Välilyönnit eivät ole sallittuja. <br><br> <u>Esimerkki on 99% s on kolmannen osapuolen TheCompany tehnyt 31/01/2007:</u> <br> <b>ABC (yy) (mm) - (000000)</b> antaa <b>ABC0701-000099</b> <br> <b>(0000 +100)-ZZZ / (dd) / XXX</b> antaa <b>0199-ZZZ/31/XXX</b> <br>
GenericMaskCodes=
GenericNumRefModelDesc=Paluu mukautettavan numeron mukaan määritelty mask.
ServerAvailableOnIPOrPort=Server on saatavilla <b>osoitteessa% s satama% s</b>
ServerNotAvailableOnIPOrPort=Palvelin ei ole käytettävissä <b>osoitteessa% s satama% s</b>

View File

@@ -205,7 +205,12 @@ SetupIsReadyForUse=L'installation est terminée et Dolibarr est prêt à être u
CurrentVersion=Version en cours de Dolibarr
CallUpdatePage=Appeler la page de mise a jour de la structure et données de la base %s.
LastStableVersion=Dernière version stable
GenericMaskCodes=Vous pouvez saisir tout masque de numérotation. Dans ce masque, les balises suivantes peuvent etre utilisées:<br><b>{000000}</b> correspond a un numéro qui sera incrémenté à chaque %s. Mettre autant de zéro que la longueur désirée du compteur. Le compteur sera complété par des 0 à gauche afin d'avoir autant de zéro que dans le masque.<br><b>{000000+000}</b> idem précédemment mais un offset correpondant au nombre à droite du + est appliqué dès la premiere %s.<br><b>{000000@x}</b> idem précédemment mais le compteur est remis à zero le xeme mois de l'année (x entre 1 et 12). Si cette option est utilisée et x vaut 2 ou plus, alors la sequence {yy}{mm} ou {yyyy}{mm} est obligatoire. <br><b>{dd}</b> jour (01 à 31).<br><b>{mm}</b> mois (01 à 12).<br><b>{yy}</b>, <b>{yyyy}</b> ou <b>{y}</b> annee sur 2, 4 ou 1 chiffres.<br> <b>{cccc000}</b> le code client sur n lettres et suivi d'un compteur propre au client sans offset, complété par des zéros pour en avoir autant que dans le masque, et remis à zéro en même temps que le compteur global.<br><br> Tout autre caractère dans le masque sera laissé inchangé.<br>Les espaces ne sont pas permis.<br><br><u>Exemple sur la 99eme %s du tiers LaCompanie faite le 31/03/2007:</u><br><b>ABC{yy}{mm}-{000000}</b> donnera <b>ABC0703-000099</b><br><b>{0000+100}-XXX/{dd}/YYY</b> donnera <b>0199-XXX/31/YYY</b><br>
GenericMaskCodes=Vous pouvez saisir tout masque de numérotation. Dans ce masque, les balises suivantes peuvent etre utilisées:<br><b>{000000}</b> correspond a un numéro qui sera incrémenté à chaque %s. Mettre autant de zéro que la longueur désirée du compteur. Le compteur sera complété par des 0 à gauche afin d'avoir autant de zéro que dans le masque.<br><b>{000000+000}</b> idem précédemment mais un offset correpondant au nombre à droite du + est appliqué dès la premiere %s.<br><b>{000000@x}</b> idem précédemment mais le compteur est remis à zero le xeme mois de l'année (x entre 1 et 12). Si cette option est utilisée et x vaut 2 ou plus, alors la sequence {yy}{mm} ou {yyyy}{mm} est obligatoire. <br><b>{dd}</b> jour (01 à 31).<br><b>{mm}</b> mois (01 à 12).<br><b>{yy}</b>, <b>{yyyy}</b> ou <b>{y}</b> annee sur 2, 4 ou 1 chiffres.<br>
GenericMaskCodes2=<b>{cccc}</b> le code client sur n lettres<br><b>{cccc000}</b> le code client sur n lettres est suivi d'un compteur propre au client sans offset, complété par des zéros pour en avoir autant que dans le masque, et remis à zéro en même temps que le compteur global.<br>
GenericMaskCodes3=Tout autre caractère dans le masque sera laissé inchangé.<br>Les espaces ne sont pas permis.<br>
GenericMaskCodes4a=<u>Exemple sur la 99eme %s du tiers LaCompanie faite le 31/03/2007:</u><br>
GenericMaskCodes4b=<u>Exemple sur un tiers crée le 31/03/2007:</u><br>
GenericMaskCodes5=<b>ABC{yy}{mm}-{000000}</b> donnera <b>ABC0703-000099</b><br><b>{0000+100}-XXX/{dd}/YYY</b> donnera <b>0199-XXX/31/YYY</b>
GenericNumRefModelDesc=Renvoie un numéro personalisable selon un masque à définir.
ServerAvailableOnIPOrPort=Serveur disponible a l'adresse <b>%s</b> sur le port <b>%s</b>
ServerNotAvailableOnIPOrPort=Serveur non disponible à l'adresse <b>%s</b> sur le port <b>%s</b>

View File

@@ -261,6 +261,7 @@ AutomaticallyGenerated=Généré automatiquement
FiscalYearInformation=Information sur l'année fiscale
FiscalMonthStart=Mois de début d'exercice
# Tigre
TigreNumRefModelDesc1=Renvoie un code client/fournisseur personnalisable selon un masque à définir.
TigreMaskCodes=Vous pouvez saisir tout masque de numérotation. Dans ce masque, les balises suivantes peuvent etre utilisées:<br><b>{000000}</b> correspond a un numéro qui sera incrémenté à chaque code client/fournisseur. Mettre autant de zéro que la longueur désirée du compteur. Le compteur sera complété par des 0 à gauche afin d'avoir autant de zéro que dans le masque.<br><b>{dd}</b> jour de la création du code client/fournisseur (01 à 31).<br><b>{mm}</b> mois de la création du code client/fournisseur (01 à 12).<br><b>{yy}</b> et/ou {yyyy} annee, sur 2 ou 4 chiffres, de la création du code client/fournisseur.<br><b>{pre}</b> prefix du tiers.<br>Tout autre caractère dans le masque sera laissé inchangé.<br>Vous pouvez utiliser les caractères suivant comme séparateur : slash, anti-slash et tiret<br>Différencier les éléments utilisés avec un pipe <b>|</b> (altgr+6).<br>Les espaces ne sont pas permis.<br><br><u>Exemple de code client/fournisseur simple</u><br><b>CC|{00000}</b> donnera <b>CC00001</b><br><b>CF|-|{00000}</b> donnera <b>CF-00001</b><br><br><u>Exemple sur le 99eme code client/fournisseur fait le 31/01/2007:</u><br><b>ABC|-|{yy}|{mm}|-|{000000}</b> donnera <b>ABC-0701-000099</b><br><b>{0000}|-|{pre}|/|{dd}|/|INV</b> donnera <b>0099-SFR/31/INV</b><br>
# Monkey
MonkeyNumRefModelDesc=Vérifie que le code client/fournisseur est un nombre sur 6 chiffres, sans ruptures.
# Leopard
LeopardNumRefModelDesc=Code client/fournisseur libre sans vérification. Peut-etre modifié à tout moment.

View File

@@ -192,7 +192,11 @@ SetupIsReadyForUse =Installare
CurrentVersion =Dolibarr versione corrente
CallUpdatePage =Vai alla pagina che aggiorna la struttura del database e dati su %s.
LastStableVersion =Ultima versione stabile
GenericMaskCodes =Puoi inserire uno schema di numerazione. In questo schema, possono essere utilizzati i seguenti tag : <br><br> <b> {000000} </b> Corrisponde a un numero che sar<61> incrementato in ogni %s. Inserisci il numero di zeri euivalente alla lunghezza desiderata del contatore. Il contatore sar<61> completato da zeri a sinistra al fine di avere tanti zeri come lo schema definito. <br><b> {000000+000} </b> Come il precedente, ma un offset corrispondente al numero a destra del segno + viene applicato a partire dalla prima %s. <br> <b> {000000@x} </b> Lo stesso come il precedente, ma il contatore non viene reimpostato a zero quando il mese x <20> raggiunto (x <20> tra 1 e 12). Se viene utilizzata questa opzione e x <20> 2 o superiore, allora la sequenza {yy}{mm} o {yyyy}{mm} <20> anche necessaria. <br> <b> {dd} </b> giorno (da 01 a 31). <br> <b> {mm} </b> mese (da 01 a 12). <br> <b> {yy} </b>, <b> {yyyy} </b> o <b> {y} </b> anno pi<70> di 2, 4 o 1 numeri. <br><br> <b> {cccc000} </b> Il codice cliente su n caratteri seguiti dal contatore rif. cliente senza offset e azzerato con il contatore globale. <br> <br> Tutti gli altri caratteri nello schema rimarranno intatti. <br> Spazi non sono ammessi. <br> <br> <u> Esempio sulla 99a %s del terzo TheCompany fatta il 31/01/2007: </u> <br> <b> ABC{yy}{mm}-{000000} </b> dar<61> <b> ABC0701-000099 </b> <br> <b> {0000+100}-ZZZ/{dd}/XXX </b> dar<61> <b> 0199-ZZZ/31/XXX </b> <br>
GenericMaskCodes =Puoi inserire uno schema di numerazione. In questo schema, possono essere utilizzati i seguenti tag : <br><b> {000000} </b> Corrisponde a un numero che sar<61> incrementato in ogni %s. Inserisci il numero di zeri euivalente alla lunghezza desiderata del contatore. Il contatore sar<61> completato da zeri a sinistra al fine di avere tanti zeri come lo schema definito. <br><b> {000000+000} </b> Come il precedente, ma un offset corrispondente al numero a destra del segno + viene applicato a partire dalla prima %s. <br> <b> {000000@x} </b> Lo stesso come il precedente, ma il contatore non viene reimpostato a zero quando il mese x <20> raggiunto (x <20> tra 1 e 12). Se viene utilizzata questa opzione e x <20> 2 o superiore, allora la sequenza {yy}{mm} o {yyyy}{mm} <20> anche necessaria. <br> <b> {dd} </b> giorno (da 01 a 31). <br> <b> {mm} </b> mese (da 01 a 12). <br> <b> {yy} </b>, <b> {yyyy} </b> o <b> {y} </b> anno pi<70> di 2, 4 o 1 numeri.<br>
GenericMaskCodes2=<b> {cccc000} </b> Il codice cliente su n caratteri seguiti dal contatore rif. cliente senza offset e azzerato con il contatore globale.<br>
GenericMaskCodes3=Tutti gli altri caratteri nello schema rimarranno intatti. <br> Spazi non sono ammessi. <br>
GenericMaskCodes4a=<u> Esempio sulla 99a %s del terzo TheCompany fatta il 31/01/2007: </u> <br>
GenericMaskCodes5=<b> ABC{yy}{mm}-{000000} </b> dar<61> <b> ABC0701-000099 </b> <br> <b> {0000+100}-ZZZ/{dd}/XXX </b> dar<61> <b> 0199-ZZZ/31/XXX </b>
GenericNumRefModelDesc =Ritorna un numero personalizzabile in base allo schema definito.
ServerAvailableOnIPOrPort =Server <20> disponibile presso l'indirizzo <b> %s </b> sulla porta <b> %s </b>
ServerNotAvailableOnIPOrPort =Server non <20> disponibile presso l'indirizzo <b> %s </b> sulla porta <b> %s </b>

View File

@@ -218,7 +218,7 @@ SetupIsReadyForUse=Installatie is voltooid en Dolibarr is gereed voor gebruik me
CurrentVersion=Dolibarr huidige versie
CallUpdatePage=Ga naar de pagina die updates database structuur en data% s.
LastStableVersion=Laatste stabiele versie
GenericMaskCodes=U kunt elke nummering masker. In dit masker, de volgende tags kunnen worden gebruikt: <br> <b>(000000)</b> komt overeen met een aantal dat zal worden verhoogd voor elk% s. Voer zoveel nullen als de gewenste lengte van de teller. De teller zal worden aangevuld met nullen van links om zoveel nullen als het masker. <br> <b>(000000 +000)</b> hetzelfde als de vorige, maar een compensatie overeenkomt met het aantal aan het recht van het + teken is toegepast, beginnend op eerste% s. <br> <b>(000000 @ x)</b> hetzelfde als de vorige, maar de teller op nul wanneer maand x is bereikt (x tussen 1 en 12). Als deze optie wordt gebruikt en x 2 of hoger, dan sequentie yy () () of (mm jjjj) () mm is ook nodig. <br> <b>dd ()</b> dag (01 tot 31). <br> <b>() mm</b> maand (01 tot 12). <br> <b>yy (), (jjjj)</b> of <b>(y)</b> jaar gedurende 2, 4 of 1 nummers. <br> <b>() cccc000</b> de client code op n tekens gevolgd door een klant ref teller zonder offset en zeroized breken de wereldwijde teller. <br><br> Alle andere tekens in het masker blijft intact. <br> Spaties zijn niet toegestaan. <br><br> <u>Voorbeeld op de 99e% s van de derde partij TheCompany gedaan 31/01/2007:</u> <br> <b>ABC yy () (MM) - (000.000)</b> geeft <b>ABC0701-000099</b> <br> <b>0000 +100 ()-ZZZ / dd () / XXX</b> zal <b>0199-ZZZ/31/XXX</b> <br>
GenericMaskCodes=
GenericNumRefModelDesc=Terugkeer een aanpasbare aantal volgens een omschreven masker.
ServerAvailableOnIPOrPort=Server is beschikbaar op het <b>adres% s</b> op <b>poort% s</b>
ServerNotAvailableOnIPOrPort=Server is niet beschikbaar op het <b>adres% s</b> op <b>poort% s</b>

View File

@@ -286,9 +286,6 @@ MarsNumRefModelDesc1=Numéro de facture sous la forme, PREF-10-2004-005, qui cor
MarsNumRefModelDesc2=Le nombre final est formaté sur 3 chiffres ou plus.
MarsNumRefModelDesc3=Si la constante FACTURE_MARS_DELTA est définie, un offset est appliqué sur le compteur
# mercure
MercureNumRefModelDesc1=Renvoie le numéro de facture sous une forme numérique simple, la première facture porte le numéro 1, la quinzième facture ayant le numéro 15, le numéro est préfixé par la lettre F, ce module peut être utilisé avec dans le cas d'une numérotaion double.
# neptune
NeptuneNumRefModelDesc1=Renvoie le numéro de facture sous une forme du préfix FA suivi de l'année sur 2 chiffres et d'un compteur simple sur 4 chiffres.
NeptuneNumRefModelDesc2=Si la constante FACTURE_NEPTUNE_DELTA est définie, un offset est appliqué sur le compteur

View File

@@ -217,7 +217,7 @@ SetupIsReadyForUse=Installatie is voltooid en Dolibarr is gereed voor gebruik me
CurrentVersion=Dolibarr huidige versie
CallUpdatePage=Ga naar de pagina die updates database structuur en data% s.
LastStableVersion=Laatste stabiele versie
GenericMaskCodes=U kunt elke nummering masker. In dit masker, de volgende tags kunnen worden gebruikt: <br> <b>(000000)</b> komt overeen met een aantal dat zal worden verhoogd voor elk% s. Voer zoveel nullen als de gewenste lengte van de teller. De teller zal worden aangevuld met nullen van links om zoveel nullen als het masker. <br> <b>(000000 +000)</b> hetzelfde als de vorige, maar een compensatie overeenkomt met het aantal aan het recht van het + teken is toegepast, beginnend op eerste% s. <br> <b>(000000 @ x)</b> hetzelfde als de vorige, maar de teller op nul wanneer maand x is bereikt (x tussen 1 en 12). Als deze optie wordt gebruikt en x 2 of hoger, dan sequentie yy () () of (mm jjjj) () mm is ook nodig. <br> <b>dd ()</b> dag (01 tot 31). <br> <b>() mm</b> maand (01 tot 12). <br> <b>yy (), (jjjj)</b> of <b>(y)</b> jaar gedurende 2, 4 of 1 nummers. <br> <b>() cccc000</b> de client code op n tekens gevolgd door een klant ref teller zonder offset en zeroized breken de wereldwijde teller. <br><br> Alle andere tekens in het masker blijft intact. <br> Spaties zijn niet toegestaan. <br><br> <u>Voorbeeld op de 99e% s van de derde partij TheCompany gedaan 31/01/2007:</u> <br> <b>ABC yy () (MM) - (000.000)</b> geeft <b>ABC0701-000099</b> <br> <b>0000 +100 ()-ZZZ / dd () / XXX</b> zal <b>0199-ZZZ/31/XXX</b> <br>
GenericMaskCodes=
GenericNumRefModelDesc=Terugkeer een aanpasbare aantal volgens een omschreven masker.
ServerAvailableOnIPOrPort=Server is beschikbaar op het <b>adres% s</b> op <b>poort% s</b>
ServerNotAvailableOnIPOrPort=Server is niet beschikbaar op het <b>adres% s</b> op <b>poort% s</b>

View File

@@ -217,7 +217,7 @@ SetupIsReadyForUse=Instalacja jest zakończona i Dolibarr jest gotowy do użycia
CurrentVersion=Dolibarr aktualnej wersji
CallUpdatePage=Wejdź na stronę aktualizacji struktury bazy danych i danych% s.
LastStableVersion=Ostatnia wersja stabilna
GenericMaskCodes=Można wprowadzić wszelkie maski numeracji. W tym maskę, następujących tagów może być wykorzystana: <br> <b>(000000)</b> odpowiada szereg które będą zwiększane w każdym% s. Wpisz tyle zer w żądanej długości licznik. Licznik zostanie uzupełniona zerami od lewej w celu uzyskania jak wiele zer jak maska. <br> <b>(000000 +000)</b> samo jak poprzednie, ale offset odpowiadającą liczbie z prawej znak + jest stosowana począwszy od pierwszego% s. <br> <b>(X) @ 000000</b> samo jak poprzednie, ale zostanie wyzerowany do zera, kiedy zostanie osiągnięte miesięcy x (x pomiędzy 1 i 12). Jeśli opcja ta jest używana i x 2 lub wyższej, a następnie sekwencję rr () () lub (mm rrrr mm) () jest wymagana. <br> <b>dd ()</b> dni (od 01 do 31). <br> <b>(mm)</b> miesiące (od 01 do 12). <br> <b>rr (), (RRRR)</b> lub <b>(y)</b> roku ponad 2, 4 lub 1 numerów. <br> <b>() cccc000</b> klient kod na n znaków, a następnie klienta ref licznik bez wyrównania i zeroized whith globalnej licznik. <br><br> Wszystkie inne znaki w masce pozostaną nienaruszone. <br> Spacje są niedozwolone. <br><br> <u>Przykład na 99-cie% s strony trzeciej TheCompany zrobić 31/01/2007:</u> <br> <b>ABC rr) ((MM) - () 000000</b> dadzą <b>ABC0701-000099</b> <br> <b>(0000 +100) ZZZ / dd () / XXX</b> będzie <b>0199-ZZZ/31/XXX</b> <br>
GenericMaskCodes=
GenericNumRefModelDesc=Zwrotu dostosowywalne numer zgodnie z definicją maska.
ServerAvailableOnIPOrPort=Serwer dostępny jest pod <b>adresem% s</b> na <b>porcie% s</b>
ServerNotAvailableOnIPOrPort=Serwer nie jest dostępna pod <b>adresem% s</b> na <b>porcie% s</b>

View File

@@ -342,7 +342,7 @@ SetupIsReadyForUse=Instale Dolibarr está acabada e está pronto para uso com es
CurrentVersion=Dolibarr versão atual
CallUpdatePage=Ir para a página que atualiza estrutura de dados e dados% s.
LastStableVersion=Última versão estável
GenericMaskCodes=Você pode entrar em qualquer numeração máscara. Nesta máscara, as seguintes tags poderiam ser utilizados: <br> <b>(000000)</b> corresponde a um número que será incrementado a cada% s. Digite tantos zeros como o comprimento desejado do balcão. O contador será completado por zeros a partir da esquerda, a fim de ter tantos zeros como a máscara. <br> <b>000.000 (000)</b> mesmo que anterior mas uma compensação correspondente ao número à direita do sinal é aplicado a partir de primeiro% s. <br> <b>000000) (@ x</b> mesmo como os anteriores, mas o contador é reposto a zero, quando é atingido mês x (x entre 1 e 12). Se esta opção for utilizada e x é 2 ou superior, então seqüência (yy)) ou ((MM AAAA)) (milímetros é também necessária. <br> <b>(dd)</b> dia (01 a 31). <br> <b>(MM)</b> mês (01 a 12). <br> <b>yy (), (yyyy) (y)</b> anos ou mais de 2, 4 ou 1 números. <br> <b>() cccc000</b> código do cliente sobre n caracteres seguido por um cliente do contador ref sem compensação e zeroized Com o contador global. <br><br> Todos os outros caracteres na máscara permanecerá intacta. <br> Espaços não são permitidos. <br><br> <u>Exemplo, sobre o 99.% S do terceiro TheCompany feito 31/01/2007:</u> <br> <b>ABC (yy) (MM) - (000000)</b> dará <b>ABC0701-000099</b> <br> <b>0000 (100)-ZZZ / dd) (/ XXX</b> dará <b>0199-ZZZ/31/XXX</b> <br>
GenericMaskCodes=
GenericNumRefModelDesc=Retornar customizable um número definido de acordo com uma máscara.
ServerAvailableOnIPOrPort=Server está disponível no <b>endereço% s</b> na <b>porta% s</b>
ServerNotAvailableOnIPOrPort=Servidor não está disponível no <b>endereço% s</b> na <b>porta% s</b>

View File

@@ -215,7 +215,7 @@ SetupIsReadyForUse=Instalarea este terminat şi Dolibarr este gata pentru a fi u
CurrentVersion=Dolibarr versiunea curentă
CallUpdatePage=Du-te la pagina care se actualizează datele şi structura bazei de date% s.
LastStableVersion=Ultima versiune stabilă
GenericMaskCodes=Puteţi introduce orice numerotare masca. În acest masca, următoarele tag-uri ar putea fi folosite: <br> <b>(000000)</b> corespunde un număr care va fi pe fiecare incremented% s. Introduceţi oricât de multe zerouri ca lungimea dorită din contra. În contra va fi completat de zero-uri de la stânga pentru a avea cât mai multe zero-uri ca masca. <br> <b>000000 (000)</b> fel ca precedenta, dar un offset corespunzător numărului de la dreptul de a semnul +, se aplică, începând cu prima% s. <br> <b>(000000 @ x)</b> aceeaşi ca şi precedent, dar contra este readus la zero, atunci când se ajunge la luna x (x intre 1 si 12). Dacă această opţiune este folosită şi x este de 2 sau mai mare, apoi secventa (aa) (mm) sau (AAAA) (mm) este, de asemenea, necesară. <br> <b>() zz</b> zi (01 - 31). <br> <b>(mm)</b> luni (01 la 12). <br> <b>(aa), (AAAA)</b> sau <b>(Y)</b> ani mai mult de 2, 4 sau 1 numere. <br> <b>() cccc000</b> cod de client pe n caractere urmat de un client, fără a compensa ref contra şi zeroized whith global contra. <br><br> Toate celelalte caractere în masca va rămâne intactă. <br> Spaţiile nu sunt permise. <br><br> <u>Exemplu pe 99th% s de-a treia parte TheCompany făcut 31/01/2007:</u> <br> <b>ABC (aa) (mm) - (000000)</b> va da <b>ABC0701-000099</b> <br> <b>(0000) 100-zzz / () zz / XXX</b> va da <b>0199-ZZZ/31/XXX</b> <br>
GenericMaskCodes=
GenericNumRefModelDesc=Întoarceţi-vă un număr de personalizabil definite în conformitate cu o masca.
ServerAvailableOnIPOrPort=Server este disponibil la <b>adresa% s</b> pe <b>portul% s</b>
ServerNotAvailableOnIPOrPort=Serverul nu este disponibil la <b>adresa% s</b> pe <b>portul% s</b>

View File

@@ -215,7 +215,7 @@ SetupIsReadyForUse=Установка закончена, и Dolibarr готов
CurrentVersion=Dolibarr текущей версии
CallUpdatePage=Зайдите на страницу, которая обновления структуры базы данных и данных% s.
LastStableVersion=Последняя стабильная версия
GenericMaskCodes=Вы можете войти в любой нумерации маска. В этой маске, следующие теги можно использовать: <br> <b>(000000)</b> соответствует число, которое будет увеличивается на каждом% s. Введите столько нулей в качестве желаемой длины счетчика. Счетчик будет завершена к нулями слева, с тем чтобы иметь столько нулей, как маска. <br> <b>000000 (000)</b> же, как и предыдущий, но компенсировать соответствующий номер Право + знак применяется начиная с первого% s. <br> <b>(000000 @ X)</b> же, как и предыдущий, но счетчик сбрасывается до нуля, когда в месяц х достигнуто (X в период с 1 по 12). Если эта опция используется и Х 2 или выше, то последовательность (ГГ) () или мм гггг () () мм Также требуется. <br> <b>() дд</b> сутки (от 01 до 31). <br> <b>() мм</b> в месяц (от 01 до 12). <br> <b>YY (), ()</b> или <b>гггг (Y)</b> в год в течение 2, 4 или 1 числа. <br> <b>() cccc000</b> код клиента по N символов, после чего клиент исх борьбы без смещения и zeroized whith Глобальной контртеррористической стратегии. <br><br> Все другие символы в маске останутся нетронутыми. <br> Пространства, не допускается. <br><br> <u>Пример на 99-й% х сторонних TheCompany сделали 31/01/2007:</u> <br> <b>ABC YY () (мм) - () 000000</b> даст <b>ABC0701-000099</b> <br> <b>(100) 0000-ZZZ / (ДД) / XXX</b> даст <b>0199-ZZZ/31/XXX</b> <br>
GenericMaskCodes=
GenericNumRefModelDesc=Возврат количества настраиваемых в соответствии с определенной маской.
ServerAvailableOnIPOrPort=Сервер доступен по <b>адресу% S порт% S</b>
ServerNotAvailableOnIPOrPort=Сервер не доступен по <b>адресу% S порт% S</b>

View File

@@ -63,11 +63,11 @@ function array2table($data,$tableMarkup=1,$tableoptions='',$troptions='',$tdopti
/**
* Return next value for a mask
*
* @param unknown_type $db
* @param $mask
* @param unknown_type $table
* @param unknown_type $field
* @param unknown_type $where To add a filter on selection (for exemple to filter for invoice types)
* @param unknown_type $db Database handler
* @param $mask Mask to use
* @param unknown_type $table Table containing field with counter
* @param unknown_type $field Field containing already used values of counter
* @param unknown_type $where To add a filter on selection (for exemple to filter on invoice types)
* @param unknown_type $valueforccc
* @param unknown_type $date
* @return string New value
@@ -268,6 +268,102 @@ function get_next_value($db,$mask,$table,$field,$where='',$valueforccc='',$date=
}
/**
* Check value
*
* @param unknown_type $db Database handler
* @param $mask Mask to use
* @param unknown_type $table Table containing field with counter
* @param unknown_type $field Field containing already used values of counter
* @param unknown_type $where To add a filter on selection (for exemple to filter on invoice types)
* @param unknown_type $valueforccc
* @param unknown_type $date
* @return int <0 if KO, 0 if OK
*/
function check_value($mask,$value)
{
$result=0;
// Extract value for mask counter, mask raz and mask offset
if (! eregi('\{(0+)([@\+][0-9]+)?([@\+][0-9]+)?\}',$mask,$reg)) return 'ErrorBadMask';
$masktri=$reg[1].$reg[2].$reg[3];
$maskcounter=$reg[1];
$maskraz=-1;
$maskoffset=0;
if (strlen($maskcounter) < 3) return 'CounterMustHaveMoreThan3Digits';
// Extract value for third party mask counter
if (eregi('\{(c+)(0*)\}',$mask,$regClientRef))
{
$maskrefclient=$regClientRef[1].$regClientRef[2];
$maskrefclient_maskclientcode=$regClientRef[1];
$maskrefclient_maskcounter=$regClientRef[2];
$maskrefclient_maskoffset=0; //default value of maskrefclient_counter offset
$maskrefclient_clientcode=substr($valueforccc,0,strlen($maskrefclient_maskclientcode));//get n first characters of client code to form maskrefclient_clientcode
$maskrefclient_clientcode=str_pad($maskrefclient_clientcode,strlen($maskrefclient_maskclientcode),"#",STR_PAD_RIGHT);//padding maskrefclient_clientcode for having exactly n characters in maskrefclient_clientcode
$maskrefclient_clientcode=dol_string_nospecial($maskrefclient_clientcode);//sanitize maskrefclient_clientcode for sql insert and sql select like
if (strlen($maskrefclient_maskcounter) > 0 && strlen($maskrefclient_maskcounter) < 3) return 'CounterMustHaveMoreThan3Digits';
}
else $maskrefclient='';
$maskwithonlyymcode=$mask;
$maskwithonlyymcode=eregi_replace('\{(0+)([@\+][0-9]+)?([@\+][0-9]+)?\}',$maskcounter,$maskwithonlyymcode);
$maskwithonlyymcode=eregi_replace('\{dd\}','dd',$maskwithonlyymcode);
$maskwithonlyymcode=eregi_replace('\{(c+)(0*)\}',$maskrefclient,$maskwithonlyymcode);
$maskwithnocode=$maskwithonlyymcode;
$maskwithnocode=eregi_replace('\{yyyy\}','yyyy',$maskwithnocode);
$maskwithnocode=eregi_replace('\{yy\}','yy',$maskwithnocode);
$maskwithnocode=eregi_replace('\{y\}','y',$maskwithnocode);
$maskwithnocode=eregi_replace('\{mm\}','mm',$maskwithnocode);
// Now maskwithnocode = 0000ddmmyyyyccc for example
// and maskcounter = 0000 for example
//print "maskwithonlyymcode=".$maskwithonlyymcode." maskwithnocode=".$maskwithnocode."\n<br>";
// If an offset is asked
if (! empty($reg[2]) && eregi('^\+',$reg[2])) $maskoffset=eregi_replace('^\+','',$reg[2]);
if (! empty($reg[3]) && eregi('^\+',$reg[3])) $maskoffset=eregi_replace('^\+','',$reg[3]);
// Define $sqlwhere
// If a restore to zero after a month is asked we check if there is already a value for this year.
if (! empty($reg[2]) && eregi('^@',$reg[2])) $maskraz=eregi_replace('^@','',$reg[2]);
if (! empty($reg[3]) && eregi('^@',$reg[3])) $maskraz=eregi_replace('^@','',$reg[3]);
if ($maskraz >= 0)
{
if ($maskraz > 12) return 'ErrorBadMaskBadRazMonth';
// Define reg
if ($maskraz > 1 && ! eregi('^(.*)\{(y+)\}\{(m+)\}',$maskwithonlyymcode,$reg)) return 'ErrorCantUseRazInStartedYearIfNoYearMonthInMask';
if ($maskraz <= 1 && ! eregi('^(.*)\{(y+)\}',$maskwithonlyymcode,$reg)) return 'ErrorCantUseRazIfNoYearInMask';
//print "x".$maskwithonlyymcode." ".$maskraz;
}
//print "masktri=".$masktri." maskcounter=".$maskcounter." maskraz=".$maskraz." maskoffset=".$maskoffset."<br>\n";
// Check we have a number in ($posnumstart+1).', '.strlen($maskcounter)
//
// Check length
$len=strlen($maskwithnocode);
if (strlen($value) != $len) $result=-1;
// Define $maskLike
$maskLike = dol_string_nospecial($mask);
$maskLike = str_replace("%","_",$maskLike);
// Replace protected special codes with matching number of _ as wild card caracter
$maskLike = str_replace(dol_string_nospecial('{yyyy}'),'____',$maskLike);
$maskLike = str_replace(dol_string_nospecial('{yy}'),'__',$maskLike);
$maskLike = str_replace(dol_string_nospecial('{y}'),'_',$maskLike);
$maskLike = str_replace(dol_string_nospecial('{mm}'),'__',$maskLike);
$maskLike = str_replace(dol_string_nospecial('{dd}'),'__',$maskLike);
$maskLike = str_replace(dol_string_nospecial('{'.$masktri.'}'),str_pad("",strlen($maskcounter),"_"),$maskLike);
if ($maskrefclient) $maskLike = str_replace(dol_string_nospecial('{'.$maskrefclient.'}'),str_pad("",strlen($maskrefclient),"_"),$maskLike);
dolibarr_syslog("functions2::check_value result=".$result,LOG_DEBUG);
return $result;
}
/**
* \brief Convert a binary data to string that represent hexadecimal value
* \param bin Value to convert

View File

@@ -14,7 +14,7 @@
***********************************************/
var offsetxpoint=-60 //Customize x offset of tooltip
var offsetypoint=20 //Customize y offset of tooltip
var offsetypoint=18 //Customize y offset of tooltip
var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false
@@ -47,6 +47,7 @@ function positiontip(e)
var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20
var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000
//alert('curX='+curX+' curY='+curY+' rightedge='+rightedge+' bottomedge='+bottomedge+' leftedge='+leftedge+' tipobj.offsetHeight='+tipobj.offsetHeight);
//if the horizontal distance isn't enough to accomodate the width of the context menu
if (rightedge<tipobj.offsetWidth)

View File

@@ -131,29 +131,13 @@ if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"])
if (! $error)
{
// On v<>rifie si un tiers devient client ou fournisseur pour l'obtention d'un code automatiqe
if ($soc->client && $soc->code_client == -1)
{
$soc->code_client = -1;
}
else if ($_POST['code_auto'])
{
$soc->code_client = '';
}
if ($soc->fournisseur && $soc->code_fournisseur == -1)
{
$soc->code_fournisseur = -1;
}
else if ($_POST['code_auto'])
{
$soc->code_fournisseur = '';
}
if ($_POST["action"] == 'add')
{
$db->begin();
if (empty($soc->client)) $soc->code_client='';
if (empty($soc->fournisseur)) $soc->code_fournisseur='';
$result = $soc->create($user);
if ($result >= 0)
{
@@ -223,6 +207,10 @@ if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"])
$oldsoc=new Societe($db);
$result=$oldsoc->fetch($socid);
// To not set code if third party is not concerned. But if it had values, we keep them.
if (empty($soc->client) && empty($oldsoc->code_client)) $soc->code_client='';
if (empty($soc->fournisseur)&& empty($oldsoc->code_fournisseur)) $soc->code_fournisseur='';
$result = $soc->update($socid,$user,1,$oldsoc->codeclient_modifiable(),$oldsoc->codefournisseur_modifiable());
if ($result >= 0)
{
@@ -408,15 +396,9 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create')
print '<td width="25%">'.$langs->trans('CustomerCode').'</td><td width="25%">';
print '<table class="nobordernopadding"><tr><td>';
if ($modCodeClient->code_auto)
{
print '<input type="hidden" name="code_client" value="-1">';
print $langs->trans('AutomaticallyGenerated').'&nbsp;';
}
else
{
print '<input type="text" name="code_client" size="16" value="'.$soc->code_client.'" maxlength="15">';
}
$tmpcode=$soc->code_client;
if ($modCodeClient->code_auto) $tmpcode=$modCodeClient->getNextValue($soc,0);
print '<input type="text" name="code_client" size="16" value="'.$tmpcode.'" maxlength="15">';
print '</td><td>';
$s=$modCodeClient->getToolTip($langs,$soc,0);
print $form->textwithhelp('',$s,1);
@@ -431,15 +413,9 @@ $_GET["action"] == 'create' || $_POST["action"] == 'create')
print '</td>';
print '<td>'.$langs->trans('SupplierCode').'</td><td>';
print '<table class="nobordernopadding"><tr><td>';
if ($modCodeFournisseur->code_auto)
{
print '<input type="hidden" name="code_fournisseur" value="-1">';
print $langs->trans('AutomaticallyGenerated').'&nbsp;';
}
else
{
print '<input type="text" name="code_fournisseur" size="16" value="'.$soc->code_fournisseur.'" maxlength="15">';
}
$tmpcode=$soc->code_fournisseur;
if ($modCodeFournisseur->code_auto) $tmpcode=$modCodeFournisseur->getNextValue($soc,1);
print '<input type="text" name="code_fournisseur" size="16" value="'.$tmpcode.'" maxlength="15">';
print '</td><td>';
$s=$modCodeFournisseur->getToolTip($langs,$soc,1);
print $form->textwithhelp('',$s,1);
@@ -752,8 +728,9 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit')
print '<table class="nobordernopadding"><tr><td>';
if ((!$soc->code_client || $soc->code_client == -1) && $modCodeClient->code_auto)
{
print '<input type="hidden" name="code_client" value="-1">';
print $langs->trans('AutomaticallyGenerated').'&nbsp;';
$tmpcode=$soc->code_client;
if (empty($tmpcode) && $modCodeClient->code_auto) $tmpcode=$modCodeClient->getNextValue($soc,0);
print '<input type="text" name="code_client" size="16" value="'.$tmpcode.'" maxlength="15">';
}
else if ($soc->codeclient_modifiable())
{
@@ -781,8 +758,9 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit')
print '<table class="nobordernopadding"><tr><td>';
if ((!$soc->code_fournisseur || $soc->code_fournisseur == -1) && $modCodeFournisseur->code_auto)
{
print '<input type="hidden" name="code_fournisseur" value="-1">';
print $langs->trans('AutomaticallyGenerated').'&nbsp;';
$tmpcode=$soc->code_fournisseur;
if (empty($tmpcode) && $modCodeFournisseur->code_auto) $tmpcode=$modCodeFournisseur->getNextValue($soc,1);
print '<input type="text" name="code_fournisseur" size="16" value="'.$tmpcode.'" maxlength="15">';
}
else if ($soc->codefournisseur_modifiable())
{

View File

@@ -82,9 +82,9 @@ class Societe extends CommonObject
var $mode_reglement;
var $cond_reglement;
var $client;
var $prospect;
var $fournisseur;
var $client; // 0=no customer, 1=customer, 2=prospect
var $prospect; // 0=no prospect, 1=prospect
var $fournisseur; // =0no supplier, 1=supplier
var $prefixCustomerIsRequired;
var $prefixSupplierIsRequired;
@@ -145,7 +145,7 @@ class Societe extends CommonObject
$this->db->begin();
// Pour code automatique
// For automatic creation during create action (not used by Dolibarr)
if ($this->code_client == -1) $this->get_codeclient($this->prefix_comm,0);
if ($this->code_fournisseur == -1) $this->get_codefournisseur($this->prefix_comm,1);
@@ -154,7 +154,7 @@ class Societe extends CommonObject
if ($result >= 0)
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."societe (nom, datec, datea, fk_user_creat)";
$sql.= " VALUES ('".addslashes($this->nom)."', ".$this->db->idate(mktime()).", ".$this->db->idate(mktime()).",";
$sql.= " VALUES ('".addslashes($this->nom)."', ".$this->db->idate(gmmktime()).", ".$this->db->idate(gmmktime()).",";
$sql.= " ".($user->id > 0 ? "'".$user->id."'":"null");
$sql.= ")";
@@ -348,7 +348,7 @@ class Societe extends CommonObject
//Gencod
$this->gencod=trim($this->gencod);
// Pour code client/fournisseur automatique
// For automatic creation (not used by Dolibarr)
if ($this->code_client == -1) $this->get_codeclient($this->prefix_comm,0);
if ($this->code_fournisseur == -1) $this->get_codefournisseur($this->prefix_comm,1);
@@ -401,8 +401,7 @@ class Societe extends CommonObject
if ($allowmodcodeclient)
{
// Attention check_codeclient peut modifier le code suivant le module utilise
$this->check_codeclient();
//$this->check_codeclient();
$sql .= ", code_client = ".($this->code_client?"'".addslashes($this->code_client)."'":"null");
@@ -414,8 +413,7 @@ class Societe extends CommonObject
if ($allowmodcodefournisseur)
{
// Attention check_codefournisseur peut modifier le code suivant le module utilise
$this->check_codefournisseur();
//$this->check_codefournisseur();
$sql .= ", code_fournisseur = ".($this->code_fournisseur?"'".addslashes($this->code_fournisseur)."'":"null");
@@ -1516,7 +1514,7 @@ class Societe extends CommonObject
/**
* \brief Verifie code client
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilis<EFBFBD>
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilise
*/
function check_codeclient()
{
@@ -1541,7 +1539,7 @@ class Societe extends CommonObject
/**
* \brief Verifie code fournisseur
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilis<EFBFBD>
* \return int <0 si KO, 0 si OK, peut modifier le code client suivant le module utilise
*/
function check_codefournisseur()
{

View File

@@ -1090,7 +1090,7 @@ div.menuFleche
#dhtmltooltip
{
position: absolute;
width: 420px;
width: 450px;
border: 1px solid #444444;
padding: 2px;
background-color: #FFFFE0;

View File

@@ -657,7 +657,7 @@ tr.nonpayed {
#dhtmltooltip
{
position: absolute;
width: 420px;
width: 450px;
border: 1px solid #444444;
padding: 2px;
background-color: #FFFFE0;

View File

@@ -843,7 +843,7 @@ tr.nonpayed {
#dhtmltooltip
{
position: absolute;
width: 420px;
width: 450px;
border: 1px solid #444444;
padding: 2px;
background-color: lightyellow;

View File

@@ -1044,7 +1044,7 @@ padding: 2px;
#dhtmltooltip
{
position: absolute;
width: 420px;
width: 450px;
border-top: solid 1px #BBBBBB;
border-left: solid 1px #BBBBBB;
border-right: solid 1px #444444;

View File

@@ -850,7 +850,7 @@ padding: 2px;
#dhtmltooltip
{
position: absolute;
width: 420px;
width: 450px;
border-top: solid 1px #BBBBBB;
border-left: solid 1px #BBBBBB;
border-right: solid 1px #444444;

View File

@@ -731,7 +731,7 @@ tr.nonpayed {
#dhtmltooltip
{
position: absolute;
width: 420px;
width: 450px;
border: 1px solid #444444;
padding: 2px;
background-color: lightyellow;

View File

@@ -803,7 +803,7 @@ table.valid {
#dhtmltooltip
{
position: absolute;
width: 420px;
width: 450px;
border: 1px solid #444444;
padding: 2px;
background-color: lightyellow;