26 require_once DOL_DOCUMENT_ROOT.
'/core/modules/propale/modules_propale.php';
38 public $version =
'dolibarr';
40 public $prefix =
'PR';
52 public $nom =
'Marbre';
57 public $name =
'Marbre';
68 return $langs->trans(
"SimpleNumRefModelDesc", $this->prefix);
79 return $this->prefix.
"0501-0001";
91 global $conf, $langs, $db;
93 $pryymm =
''; $max =
'';
95 $posindice = strlen($this->prefix) + 6;
96 $sql =
"SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.
") AS SIGNED)) as max";
97 $sql .=
" FROM ".MAIN_DB_PREFIX.
"propal";
98 $sql .=
" WHERE ref LIKE '".$db->escape($this->prefix).
"____-%'";
99 $sql .=
" AND entity = ".$conf->entity;
101 $resql = $db->query($sql);
104 $row = $db->fetch_row(
$resql);
105 if ($row) { $pryymm = substr($row[0], 0, 6); $max = $row[0]; }
108 if (!$pryymm || preg_match(
'/'.$this->prefix.
'[0-9][0-9][0-9][0-9]/i', $pryymm))
112 $langs->load(
"errors");
113 $this->error = $langs->trans(
'ErrorNumRefModel', $max);
130 $posindice = strlen($this->prefix) + 6;
131 $sql =
"SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.
") AS SIGNED)) as max";
132 $sql .=
" FROM ".MAIN_DB_PREFIX.
"propal";
133 $sql .=
" WHERE ref LIKE '".$db->escape($this->prefix).
"____-%'";
134 $sql .=
" AND entity IN (".getEntity(
'proposalnumber', 1, $propal).
")";
136 $resql = $db->query($sql);
139 $obj = $db->fetch_object(
$resql);
140 if ($obj) $max = intval($obj->max);
143 dol_syslog(get_class($this).
"::getNextValue", LOG_DEBUG);
148 $yymm = strftime(
"%y%m", $date);
150 if ($max >= (pow(10, 4) - 1)) $num = $max + 1;
151 else $num = sprintf(
"%04s", $max + 1);
153 dol_syslog(get_class($this).
"::getNextValue return ".$this->prefix.$yymm.
"-".$num);
154 return $this->prefix.$yymm.
"-".$num;
getNextValue($objsoc, $propal)
Return next value.
Class to manage customer order numbering rules Marbre.
info()
Return description of numbering module.
canBeActivated()
Checks if the numbers already in the database do not cause conflicts that would prevent this numberin...
getExample()
Return an example of numbering module values.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename= '', $restricttologhandler= '', $logcontext=null)
Write log message into outputs.
getNumRef($objsoc, $objforref)
Return next free value.
if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) if(!empty($conf->don->enabled)&&$user->rights->don->lire) if(!empty($conf->tax->enabled)&&$user->rights->tax->charges->lire) if(!empty($conf->facture->enabled)&&!empty($conf->commande->enabled)&&$user->rights->commande->lire &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) $resql
Social contributions to pay.
Classe mere des modeles de numerotation des references de propales.