30require_once DOL_DOCUMENT_ROOT.
'/core/modules/product_batch/modules_product_batch.class.php';
42 public $version =
'dolibarr';
52 public $name =
'sn_advanced';
61 public function info($langs)
63 global $conf, $langs, $db;
65 $langs->load(
"bills");
67 $form =
new Form($db);
72 $texte = $langs->trans(
'GenericNumRefModelDesc').
"<br>\n";
73 $texte .=
'<form action="'.$_SERVER[
"PHP_SELF"].
'" method="POST">';
74 $texte .=
'<input type="hidden" name="token" value="'.newToken().
'">';
75 $texte .=
'<input type="hidden" name="action" value="updateMaskSN">';
76 $texte .=
'<input type="hidden" name="maskconstSN" value="SN_ADVANCED_MASK">';
77 $texte .=
'<table class="nobordernopadding" width="100%">';
79 $tooltip = $langs->trans(
"GenericMaskCodes", $langs->transnoentities(
"Batch"), $langs->transnoentities(
"Batch"));
80 $tooltip .= $langs->trans(
"GenericMaskCodes2");
81 $tooltip .= $langs->trans(
"GenericMaskCodes3");
82 $tooltip .= $langs->trans(
"GenericMaskCodes4a", $langs->transnoentities(
"Batch"), $langs->transnoentities(
"Batch"));
83 $tooltip .= $langs->trans(
"GenericMaskCodes5");
86 $texte .=
'<tr><td>'.$langs->trans(
"Mask").
':</td>';
87 $texte .=
'<td class="right">'.$form->textwithpicto(
'<input type="text" class="flat minwidth175" name="maskSN" value="'.$mask.
'">', $tooltip, 1, 1).
'</td>';
89 $texte .=
'<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button" value="'.$langs->trans(
"Modify").
'"></td>';
92 $texte .=
'<td class="right">';
94 $texte .=
'<a class="reposition" href="'.$_SERVER[
"PHP_SELF"].
'?action=setmaskssn&token='.newToken().
'&value=0">'.
img_picto($langs->trans(
"Enabled"),
'on').
'</a>';
96 $texte .=
'<a class="reposition" href="'.$_SERVER[
"PHP_SELF"].
'?action=setmaskssn&token='.newToken().
'&value=1">'.
img_picto($langs->trans(
"Disabled"),
'off').
'</a>';
98 $texte .=
' '.$langs->trans(
'CustomMasks').
"\n";
103 $texte .=
'</table>';
116 global $conf, $langs, $mysoc;
118 $old_code_client = $mysoc->code_client;
119 $old_code_type = $mysoc->typent_code;
120 $mysoc->code_client =
'CCCCCCCCCC';
121 $mysoc->typent_code =
'TTTTTTTTTT';
123 $mysoc->code_client = $old_code_client;
124 $mysoc->typent_code = $old_code_type;
127 $numExample = $langs->trans(
'NotConfigured');
143 require_once DOL_DOCUMENT_ROOT.
'/core/lib/functions2.lib.php';
149 if (
getDolGlobalString(
'PRODUCTBATCH_SN_USE_PRODUCT_MASKS') && !empty($object->fk_product)) {
151 $res = $product->fetch($object->fk_product);
152 if ($res > 0 && !empty($product->batch_mask)) {
153 $mask = $product->batch_mask;
159 $this->error =
'NotConfigured';
165 $numFinal =
get_next_value($db, $mask,
'product_lot',
'batch', $filter,
null, $date);
Parent class to manage numbering of batch products.
Class to manage products or services.
Class to manage Batch numbering rules advanced.
info($langs)
Returns the description of the numbering model.
getNextValue($objsoc, $object)
Return next free value.
getExample()
Return an example of numbering.
get_next_value($db, $mask, $table, $field, $where='', $objsoc='', $date='', $mode='next', $bentityon=true, $objuser=null, $forceentity=null)
Return last or next value for a mask (according to area we should not reset)
dol_now($mode='auto')
Return date for now.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.