32require_once DOL_DOCUMENT_ROOT.
'/core/modules/facture/modules_facture.php';
43 public $name =
'Mercure';
48 public $position = 50;
54 public $version =
'dolibarr';
68 public function info($langs)
72 $langs->load(
"bills");
76 $texte = $langs->trans(
'GenericNumRefModelDesc').
"<br>\n";
77 $texte .=
'<form action="'.$_SERVER[
"PHP_SELF"].
'" method="POST">';
78 $texte .=
'<input type="hidden" name="token" value="'.newToken().
'">';
79 $texte .=
'<input type="hidden" name="action" value="updateMask">';
80 $texte .=
'<input type="hidden" name="maskconstinvoice" value="FACTURE_MERCURE_MASK_INVOICE">';
81 $texte .=
'<input type="hidden" name="maskconstreplacement" value="FACTURE_MERCURE_MASK_REPLACEMENT">';
82 $texte .=
'<input type="hidden" name="maskconstcredit" value="FACTURE_MERCURE_MASK_CREDIT">';
83 $texte .=
'<input type="hidden" name="maskconstdeposit" value="FACTURE_MERCURE_MASK_DEPOSIT">';
84 $texte .=
'<input type="hidden" name="page_y" value="">';
86 $texte .=
'<table class="nobordernopadding centpercent">';
88 $tooltip = $langs->trans(
"GenericMaskCodes", $langs->transnoentities(
"Invoice"), $langs->transnoentities(
"Invoice"));
89 $tooltip .= $langs->trans(
"GenericMaskCodes1");
91 $tooltip .= $langs->trans(
"GenericMaskCodes2");
93 $tooltip .= $langs->trans(
"GenericMaskCodes3");
95 $tooltip .= $langs->trans(
"GenericMaskCodes4a", $langs->transnoentities(
"Invoice"), $langs->transnoentities(
"Invoice"));
96 $tooltip .= $langs->trans(
"GenericMaskCodes5");
97 $tooltip .=
'<br>'.$langs->trans(
"GenericMaskCodes5b");
100 $texte .=
'<tr><td><span class="opacitymedium">'.$langs->trans(
"Mask").
' ('.$langs->trans(
"InvoiceStandard").
'):</span></td>';
101 $texte .=
'<td class="right">'.$form->textwithpicto(
'<input type="text" class="flat minwidth175" name="maskinvoice" value="'.
getDolGlobalString(
"FACTURE_MERCURE_MASK_INVOICE").
'">', $tooltip, 1,
'help',
'', 0, 3,
'tooltipstandardmercure').
'</td>';
103 $texte .=
'<td class="left" rowspan="3"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button" value="'.$langs->trans(
"Save").
'"></td>';
108 $texte .=
'<tr><td><span class="opacitymedium">'.$langs->trans(
"Mask").
' ('.$langs->trans(
"InvoiceAvoir").
'):</span></td>';
109 $texte .=
'<td class="right">'.$form->textwithpicto(
'<input type="text" class="flat minwidth175" name="maskcredit" value="'.
getDolGlobalString(
"FACTURE_MERCURE_MASK_CREDIT").
'">', $tooltip, 1,
'help',
'', 0, 3,
'tooltipcreditnotemercure').
'</td>';
114 $texte .=
'<tr><td><span class="opacitymedium">'.$langs->trans(
"Mask").
' ('.$langs->trans(
"InvoiceReplacement").
'):</span></td>';
115 $texte .=
'<td class="right">'.$form->textwithpicto(
'<input type="text" class="flat minwidth175" name="maskreplacement" value="'.
getDolGlobalString(
"FACTURE_MERCURE_MASK_REPLACEMENT").
'">', $tooltip, 1,
'help',
'', 0, 3,
'tooltipreplacementmercure').
'</td>';
121 $texte .=
'<tr><td><span class="opacitymedium">'.$langs->trans(
"Mask").
' ('.$langs->trans(
"InvoiceDeposit").
'):</span></td>';
122 $texte .=
'<td class="right">'.$form->textwithpicto(
'<input type="text" class="flat minwidth175" name="maskdeposit" value="'.
getDolGlobalString(
"FACTURE_MERCURE_MASK_DEPOSIT").
'">', $tooltip, 1,
'help',
'', 0, 3,
'tooltipdownpaymentmercure').
'</td>';
126 $texte .=
'</table>';
141 $old_code_client =
$mysoc->code_client;
142 $old_code_type =
$mysoc->typent_code;
143 $mysoc->code_client =
'CCCCCCCCCC';
144 $mysoc->typent_code =
'TTTTTTTTTT';
146 $mysoc->code_client = $old_code_client;
147 $mysoc->typent_code = $old_code_type;
150 $numExample =
'NotConfigured';
167 require_once DOL_DOCUMENT_ROOT.
'/core/lib/functions2.lib.php';
171 if (is_object($invoice) && $invoice->type == 1) {
173 } elseif (is_object($invoice) && $invoice->type == 2) {
175 } elseif (is_object($invoice) && $invoice->type == 3 && !
getDolGlobalString(
'INVOICE_DISABLE_DEPOSIT')) {
181 $this->error =
'NotConfigured';
190 $entity =
getEntity(
'invoicenumber', 1, $invoice);
192 $numFinal =
get_next_value(
$db, $mask,
'facture',
'ref', $where, $objsoc, (empty($invoice) ?
dol_now() : $invoice->date), $mode,
false,
null, $entity);
193 if (!preg_match(
'/([0-9])+/', $numFinal)) {
194 $this->error = $numFinal;
210 public function getNumRef($objsoc, $objforref, $mode =
'next')
Parent class of invoice reference numbering templates.
Class of numbering module Mercure for invoices.
getNextValue($objsoc, $invoice, $mode='next')
Return next value not used or last value used.
getExample()
Return an example of number value.
getNumRef($objsoc, $objforref, $mode='next')
Return next free value.
info($langs)
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, $objbookkeeping=null)
Return last or next value for a mask (according to area we should not reset)
dol_now($mode='gmt')
Return date for now.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
getEntity($element, $shared=1, $currentobject=null)
Get list of entity id to use.