30require_once DOL_DOCUMENT_ROOT.
'/core/modules/product_batch/modules_product_batch.class.php';
42 public $version =
'dolibarr';
52 public $name =
'lot_advanced';
62 global $conf, $langs, $db;
64 $langs->load(
"bills");
66 $form =
new Form($db);
71 $texte = $langs->trans(
'GenericNumRefModelDesc').
"<br>\n";
72 $texte .=
'<form action="'.$_SERVER[
"PHP_SELF"].
'" method="POST">';
73 $texte .=
'<input type="hidden" name="token" value="'.newToken().
'">';
74 $texte .=
'<input type="hidden" name="action" value="updateMaskLot">';
75 $texte .=
'<input type="hidden" name="maskconstLot" value="LOT_ADVANCED_MASK">';
76 $texte .=
'<table class="nobordernopadding" width="100%">';
78 $tooltip = $langs->trans(
"GenericMaskCodes", $langs->transnoentities(
"Batch"), $langs->transnoentities(
"Batch"));
79 $tooltip .= $langs->trans(
"GenericMaskCodes2");
80 $tooltip .= $langs->trans(
"GenericMaskCodes3");
81 $tooltip .= $langs->trans(
"GenericMaskCodes4a", $langs->transnoentities(
"Batch"), $langs->transnoentities(
"Batch"));
82 $tooltip .= $langs->trans(
"GenericMaskCodes5");
85 $texte .=
'<tr><td>'.$langs->trans(
"Mask").
':</td>';
86 $texte .=
'<td class="right">'.$form->textwithpicto(
'<input type="text" class="flat minwidth175" name="maskLot" value="'.$mask.
'">', $tooltip, 1, 1).
'</td>';
88 $texte .=
'<td class="left" rowspan="2"> <input type="submit" class="button button-edit" name="Button" value="'.$langs->trans(
"Modify").
'"></td>';
91 $texte .=
'<td class="right">';
92 if (!empty($conf->global->PRODUCTBATCH_LOT_USE_PRODUCT_MASKS)) {
93 $texte .=
'<a class="reposition" href="'.$_SERVER[
"PHP_SELF"].
'?action=setmaskslot&token='.newToken().
'&value=0">'.
img_picto($langs->trans(
"Enabled"),
'on').
'</a>';
95 $texte .=
'<a class="reposition" href="'.$_SERVER[
"PHP_SELF"].
'?action=setmaskslot&token='.newToken().
'&value=1">'.
img_picto($langs->trans(
"Disabled"),
'off').
'</a>';
97 $texte .=
' '.$langs->trans(
'CustomMasks').
"\n";
102 $texte .=
'</table>';
115 global $conf, $langs, $mysoc;
117 $old_code_client = $mysoc->code_client;
118 $old_code_type = $mysoc->typent_code;
119 $mysoc->code_client =
'CCCCCCCCCC';
120 $mysoc->typent_code =
'TTTTTTTTTT';
122 $mysoc->code_client = $old_code_client;
123 $mysoc->typent_code = $old_code_type;
126 $numExample = $langs->trans(
'NotConfigured');
142 require_once DOL_DOCUMENT_ROOT.
'/core/lib/functions2.lib.php';
147 if (
getDolGlobalString(
'PRODUCTBATCH_LOT_USE_PRODUCT_MASKS') && !empty($object->fk_product)) {
149 $res = $product->fetch($object->fk_product);
150 if ($res > 0 && !empty($product->batch_mask)) {
151 $mask = $product->batch_mask;
157 $this->error =
'NotConfigured';
163 $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.
getNextValue($objsoc, $object)
Return next free value.
getExample()
Return an example of numbering.
info()
Returns the description of the numbering model.
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.