[Résolu]Documents dans envoi expedition

Bonjour

Je dois envoyer avec chaque expedition un document pdf avec les certificats de lots des produits envoyés.

Y a t’il un moyen de faire cela ?

J avais penseé creer un script pour ajouter ces certificats dans le dossier documents/expedition/sending/NumeroExpe/

Mais comment faire pour que ces docs soient automatiquement mis en piece jointe dans l email ?

Merci de votre aide
Val

Bonjour,

Il me semble qu’un module optionnel le fait : concatpdf
(je n’en suis pas l’auteur et n’y ai aucun intérêt !)
Bon test !

Cordialement,
Sylvain Legrand

1 « J'aime »

Bonjour,

Merci pour le lien mais ce n est pas ce que je recherche.

J aimerais que le fichier soit lier automatiquement car chaque fichier est différent.
Je ne peux donc pas le preconfigurer.

Merci quand meme

Bonsoir
Il faut faire une fusion du pdf que vous avez mis dans l’expédition avec le BL c’est ça ?
@+

Bonjour,

Pour chaque produit on peut lier des documents, photos, etc…
Si l’option de fusion de document dans les devis est active on peut sélectionner le ou les documents concernés dans la fiche produit.
Ensuite si le modèle d’édition du devis le permet, ces documents sont « fusionnés » avec le devis automatiquement et systématiquement.

Pour information les modèles natifs de Dolibarr autorise cette fusion, d’autre également voir le Dolistore.

Cordialement,
Sylvain Legrand.

Je vais essayer de mieux m’expliquer.

Prenons l’exemple d’une expédition avec deux produits.
Chaque produit à un numéro de lot différent.

Je voudrais que lorsque j’envoi mon expedition par email, les certificats de lots soit attachés automatiquement dans l’email.

Pour cela j’ai deux possibilités:
-> soit je modifie le pdf d’expedition et j’y ajoute à la fin mes certificats de lots.
-> soit je peux enregistrer mes certificats de lots dans le répertoires où se trouve le pdf d’expedition. Et lorsque j’envoi le mail dolibarr me met en pièce jointe tous les fichier contenu dans le repertoire et pas seulement le pdf d’expedition.

Etant dans une société de fabrication, je créé environ 200 n° de lot par mois, je n’ai pas envie de les ajouter un par un à la main ^^

merci de votre aide

Avez vous cherché à utiliser le module n°de série/lot ? Ne serait ce pas la solution ?

Bonjour,

Désolé du temps de réponse mais j’avais mis de coté ceci pour m’occuper d’un autre projet.

J’utilise actuellement le module n°de lot.
Sur le BL j’ai bien les numéros de lot qui s’affichent, seulement pour chaque lot expédié, je suis obligé d’y joindre un certificat de conformité.

La méthode la plus simple consiste à 'injecter tous les certificats de conformité dans le répertoire de l’expédition ( dans documents/expedition/sending/EAXXX-XXX/).

Là je n’ai pas de problème.
Mais j’aimerais que quand je clique sur « Envoyer par email », dolibarr inclut en pièce jointe TOUS les fichiers contenus dans le répertoire et pas seulement le BL.

A mon avis il faut que je fouille dans le module qui gère l’envoi d’email, mais où est il ?

Merci de votre aide

Salut,

alors j’ai trouvé une solution et je vous la propose :

J’ai modifié dans le code directement (je n’ai pas trouver mieux à faire pour le moment).
je suis allé sur le fichier /htdocs/expedition/card.php
J’ai changé :

// Init list of files
		if (GETPOST("mode")=='init')
		{
			$formmail->clear_attached_files();
			$formmail->add_attached_files($file,basename($file),dol_mimetype($file));	
		}

par:

[code]
// Init list of files
if (GETPOST(« mode »)==‹ init ›)
{
$formmail->clear_attached_files();
$dossier=substr($file,0,-14);
$liste=array();
if ($handle = opendir($dossier))
{
$i=0;
while (false !== ($entry = readdir($handle)))
{
if(substr($entry,-4) == ‹ .pdf ›){
$liste[$i]=$entry;
$i++;}
}
}
foreach($liste as $item){
$formmail->add_attached_files($dossier.$item,basename($item),dol_mimetype($item));

		}	
		
	}[/code]

De cette manière je récupère tous les fichiers PDF qui sont enregistrés dans le dossier de l’expédition.

Qu’en pensez vous ?

Salut à tous,

Je viens de faire les mises à jour du 5 vers 6 puis 7 et enfin 8.0, oui je sais j’avais pas mal de retard.

J’ai un soucis en liens avec le fil d’activité ci-dessus.
Avec ma modification, le formulaire mail pour les expéditions prenait tous les fichiers se trouvant dans le dossier de l’expédition.

Depuis les mises à jours, il ne prend plus q’un seul fichier, savez vous comment je pourrais modifier cela?

Merci

Et voila j’ai trouvé la solution

il faut encore modifier un fichier « core », je n’ai pas trouvé mieux.

Peut être avez vous d’autres pistes, mais en attendant mieux voila ce que j’ai trouvé.

il faut modifier le fichier /htdocs/core/class/html.formmail.class.php

A la ligne 324 j’ai remplacé::

foreach($this->param['fileinit'] as $file)
					{
						$this->add_attached_files($file, basename($file), dol_mimetype($file));
					}

par:

// modification pour ajout des fichiers en pièces jointes $dir=substr($this->param['fileinit'][0],0,-14); if (is_dir($dir)){ if ($dh = opendir($dir)){ while (($fil = readdir($dh)) !== false){ if($fil != '.' && $fil != '..' && $fil !='thumbs') { $fil = $dir.$fil; $this->param['fileinit'][]=$fil; } } closedir($dh); } } $this->param['fileinit'] = array_unique($this->param['fileinit']); var_dump($this->param['fileinit']); // fin de l'ajout foreach($this->param['fileinit'] as $file) { $this->add_attached_files($file, basename($file), dol_mimetype($file)); }