Modifier le nom de fichier genere

Bonjour,

Je souhaiterais pouvoir ajouter le nom du client au nom du fichier lors de sa génération.
exemple : 0001 - Nom Du Client.pdf

le numéro de facture étant 0001

Merci

David

1 « J'aime »

Bonjour :happy:
Si tu utilise le modèle crabe :
Dans le fichier pdf_crabe.modules.php
trouve la condition

if ($object->specimen)
			{
				$dir = $conf->facture->dir_output;
				$file = $dir . "/SPECIMEN.pdf";
			}
			else
			{
				$objectref = dol_sanitizeFileName($object->ref);
				$dir = $conf->facture->dir_output . "/" . $objectref;
				$file = $dir . "/" . $objectref . ".pdf";
			}

$objectref est le nom du fichier généré

$file = $dir . "/" . $objectref . ".pdf";
1 « J'aime »

bjr et merci
Mais tu met quelles variables a la place $objectref ?

Bonjour et merci

$file = $dir . « / » . $objectref . " - " . $quelvariable . « .pdf »;

oui $quelvariable

J’ai essayer plusieurs mais sa fonctionne pas il me manque seulement cela

MERCI

1 « J'aime »

Bonjour :happy:
essaie avec

dol_sanitizeFileName($object->thirdparty->nom)

PARFAIT

// Definition of $dir and $file
if ($object->specimen)
{
$dir = $conf->facture->dir_output;
$file = $dir . « /SPECIMEN.pdf »;
}
else
{
$objectref = dol_sanitizeFileName($object->ref);
$dir = $conf->facture->dir_output . « / » . $objectref;
$file = $dir . « / » . $objectref . " - " . dol_sanitizeFileName($object->thirdparty->nom) . « .pdf »;

Vous donnera NUMEROFACTURE - NOMCLIENT.pdf
Exemple: F0001 - DOLIBARR.pdf

HAPPY END

Salut dolibarr95
Comment on fait si on veut rajouter la date et le statut (payé ou non) ?

Merci

Bonjour :happy:
A tester


$objectref		=	dol_sanitizeFileName($object->ref);//reférence
$objectnomsociete	=	dol_sanitizeFileName($object->thirdparty->nom);//nom du client
$objectstatut		=	dol_sanitizeFileName('non-payée');//statut payé ou non
if($object->paye == 1){
	$objectstatut	=	dol_sanitizeFileName('payée');
}

$tempdate = $object->date;
/*
Valeurs acceptées pour $tempdate :
	$object->date_lim_reglement
	$object->date
	$object->date_pointoftax
	$object->date_creation
	$object->date_validation
	$object->datem
*/
	
$tempformat = 'day';
/*
Valeurs acceptées pour $tempformat sont dispo ici (deuxième argument de la fonction dol_print_date) :
	https://doxygen.dolibarr.org/d9/d69/functions_8lib_8php.html#a4b0bf353474b7753614df9d97714bb46
*/

$objectdate	=	dol_sanitizeFileName(dol_print_date($tempdate, $tempformat));//date

Après il n’y a plus qu’à choisir les variables désirées pour composer le nom du fichier :

  • $objectref
  • $objectnomsociete
  • $objectstatut
  • $objectdate

Bonjour,

Sur la base de ce que vous avez inscrit, je n’arrive pas à inclure le numéro de la commande avec le numéro du BL dans le nom du fichier .pdf

J’utilise rouget pour généré les BL.

Pouvez-vous m’aider ?

Merci

Salut,

Bon j’ai bricolé un truc dégeulasse mais qui fonctionne sur les lignes 260 du fichier pdf_rouget.modules

			        $origin1 	= $object->origin;
				$linkedobject1 = new $origin1($this->db);
				$result1 = $linkedobject1->fetch($object->origin_id);
				$cderref = dol_sanitizeFileName($linkedobject1->ref);
				
				$expref = dol_sanitizeFileName($object->ref);
				$dir = $conf->expedition->dir_output."/sending/" . $expref;
				$file = $dir . "/" . $expref . "(" . $cderref . ").pdf";

Je comprends pas pour quoi cela ne fonctionne plus si je supprime le $result1 ?

Si quelqu’un pouvait m’aiguiller, m’aider à mettre ces 4 lignes au propre…

Merci