'Aucun, le numéro sera à spécifier manuellement pour chaque document', '%{type}-%{year}-%{ynumber}' => 'Type-Année-Numéro du document par année ("FACT-2021-42")', '%{year}-%{type}-%04{ynumber}' => 'Année-Type-Numéro du document par année ("2021-DEVIS-0042")', '%{t}-%{year}-%{ynumber}' => 'Type court-Année-Numéro du document par année ("F-2021-42")', '%{y}%{t}%{ynumber}' => 'Année courte-Type court-Numéro du document par année ("21D42")', '%{type}-%{id}' => 'Type - Numéro unique du document ("FACT-42")', '%{t}%{id}' => 'Type court et numéro unique du document ("F42")', '%{id}' => 'Numéro unique du document ("42"))', '%06{id}' => 'Numéro unique du document sur 6 chiffres ("000042")', ]; function ensureSchemaColumns(): void { $db = \Paheko\DB::getInstance(); $tables = [ 'plugin_facturation_clients' => [ 'siret' => 'siret TEXT', 'telephone' => 'telephone TEXT', 'email' => 'email TEXT', 'nom_contact' => 'nom_contact TEXT', 'note' => 'note TEXT', ], 'plugin_facturation_factures' => [ 'nom_contact' => 'nom_contact TEXT', 'numero_commande' => 'numero_commande TEXT', 'reference_acheteur' => 'reference_acheteur TEXT', ], ]; foreach ($tables as $table => $columns) { $schema = $db->getTableSchema($table); if (!$schema) { continue; } foreach ($columns as $column => $definition) { if (!isset($schema['columns'][$column])) { $db->exec(sprintf('ALTER TABLE %s ADD COLUMN %s;', $db->quoteIdentifier($table), $definition)); } } } } ensureSchemaColumns(); $client = new Client; $facture = new Facture; $tpl->assign('www_url', \Paheko\WWW_URL); $tpl->assign('f_obj', $facture); $identite = implode(',', \Paheko\Users\DynamicFields::getNameFields()); $tpl->register_function('money_fac', function (array $params) { static $params_list = ['value', 'name', 'user']; // Extract params and keep attributes separated $attributes = array_diff_key($params, array_flip($params_list)); $params = array_intersect_key($params, array_flip($params_list)); extract($params, \EXTR_SKIP); $current_value = null; if (isset($value)) { $current_value = $value; } if (!isset($user)) { $user = false; } if (!isset($name)) { $name = 'prix[]'; } if (null !== $current_value && !$user) { $current_value = Utils::money_format($current_value, ',', ''); } if (null !== $current_value) { $current_value = htmlspecialchars($current_value, ENT_QUOTES, 'UTF-8'); } $currency = Config::getInstance()->get('currency'); return sprintf('