Astuce - email d'expéditions - BL en PJ

Bonsoir,

Quand il me faut de nombreuses heures pour comprendre et avoir ce que je veux, je me dis que 20 minutes à écrire l’astuce ici pourrait me dépanner s’il y avait un grand reset de mon p’tit monde … ou à vous éviter de vous arracher les cheveux.

L’astuce concerne l’envoie d’un email de la bonne expédition de la commande (dès lors que vous « réalisé » le mouvement de stock). C’est un email avec texte personnalisé + bon de livraison en pdf attaché + autres pièces jointes à votre guise. (rien d’extra-ordinaire si vous connaissez Axelor)

De la meme manière que pour l’envoie automatique de la facture, j’avais partagé ma configuration ici :
Envoi de la facture par mail avec la PJ - #2 par dtneo

Je souhaite aussi préciser que des informations erronées sont sur la démo en ligne de Axelor. Ce qui m’a assez agacé pour comprendre ce qu’il fallait faire pour bien faire. (liens et explications ci-dessous)

C’est parti !

Axelor version 6.0.6.
Configuration adaptée pour la gestion de bons de livraisons.
Configuration validé du SMTP avec google.
Configuration tier pour que l’email s’envoie à la validation du BL et selon le bon modèle voulu.

Configuration détaillée du bon modèle :

Config Applicative > Message > Modèle > Envoi BL Client

Copier la configuration de ce lien et adapter avec les élements ci-dessous (selectionner ERP)
https://demo.axelor.com/open-suite-fr/#/ds/admin.root.templating.template/edit/4
Remplacer $StockMove.SaleOrder.SaleOrderSeq$
Par $StockMove.stockMoveSeq$
Ajouter StockMove à Modèle BIRT. Pour modifier les paramètres de ce modèle birt :

Config Applicative > Message > Modèle PDF > StockMove

Modifier comme ceci :

Afin de comparer :
https://demo.axelor.com/open-suite-fr/#/ds/admin.root.templating.pdf.templates/edit/30
Contrairement à ce lien - démo en ligne d’Axelor - l’erreur est au niveau de « StockMoveId » qui est en « chaine de caractère » au lieu de « décimal ».

Avec ca vous devriez avoir l’envoie d’emails automatiques des expéditions réalisées à vos clients.

Des questions ?

j’essaie depuis quelques heures d’avoir un bonus …
J’offre un cookie virtuel à celui qui m’explique pourquoi je peux pas mettre ça dans mon message d’email :
Votre référence commande : $StockMove.SaleOrder.externalReference$

Bonjour,

Il n’existe pas de lien relationnel direct entre les StockMove et les SaleOrder. C’est à dire que l’objet StockMove ne possède pas d’attribut saleOrder.

StringTemplate ne permet « que » de parcourir les liens relationnels entre les objets. Le plus simple est sans doute de définir une variable de context (expression groovy avec possibilité de requêtage.
Quelque chose sous la forme « __repo__(SaleOrder).all().filter('self.originTypeSelect = 'com.axelor.apps.sale.db.SaleOrder' and self.id = ?, StockMove.originId).fetchOne() »

Cordialement

1 « J'aime »

Merci pour votre reponse. Mais je suis pas capable d’utiliser ce genre d’expression.
Mes connaissances en code sont assez limitées, je comprend tout ce que vous m’avez écris; mais là je viens tout simplement de l’ajouter dans le corps de l’email pour voir s’il était interprété. Il ne l’ai pas, je suis démuni.

Bref, ce n’est pas grave je vais faire sans pour mon activité.

Mon avis à ce sujet c’est que j’espèrais à partir de cette interface :

Config Applicative > Message > Modèle PDF > StockMove

la possibilité justement d’aller chercher tous les attributs d’Axelor, et pouvoir ensuite mettre les variables dans mon texte personnalisé.