variables email facture ne fonctionnent plus en 6

Bonjour à tous,
En PJ le fichier functions.lib.php (à dézipper) pour avoir les variables sur une 7.0.4 ou 7.0.5. Fichier à replacer dans htdocs/core/lib
Curieusement sur une 7.0.4 il y a un souci de traduction des mois qu’il n’y a pas en 7.0.5. Je n’ai pas trouvé l’origine. Il faut dans ce cas surcharger les traduction des mois par exemple Month01 = janvier …

Vous obtiendrez pour vos envois de factures :
FACDATE la date en lettres
FACDATELIMREG la date limite de réglement en lettres
FACTOTALTTC_2D le TTC avec 2 décimales
FACTOTALHT_2D le HT avec 2 décimales
FACTOTALHT_2DC le HT avec 2 décimales, séparateur de millier et monnaie
FACTOTALTTC_2DC le TTC avec 2 décimales, séparateur de millier et monnaie
FACREST_2D reste à payer avec 2 décimales
FACREST_2DC reste à payer avec 2 décimales, séparateur de millier et monnaie

Voilà ! Amusez vous bien
@+

Edit : En fait le souci de traduction des mois apparait si l’interface est en multilangue.

Pièces jointes :

1 « J'aime »

Hello Phil,

Je déterre le sujet, qu’en est il sur la V9 ? toujours pas de mise à jour des variables mails sur les factures ?

Régis

Salut Regis,

qu’est ce qui ne fonctionne pas exactement ?

au fait, par rapport aux posts précédents : la page des variables de substitution dans les emails est ici :
https://wiki.dolibarr.org/index.php/Système_de_substitution_de_variables_dans_les_emails

1 « J'aime »

Hello !

Oui, j’avais déja cette page mais je ne parle que des factures car pour le reste, ça fonctionne très bien !

Régis

ok, mais qu’est ce qui ne fonctionne pas exactement ?
chez moi « tout semble » fonctionner sur les factures (sauf si je ne regarde pas le bon truc …)

tu peux poster un exemple de variables qui ne fonctionnent pas ? ou carrément, ton modèle d’email ?

Tout simplement, je souhaite le N° de la facture mais REF ne donne rien et je ne trouve pas d’autres variables ayant accès aux factures !

Voila

Régis

Je viens de tester sur une 9.0.3 et ça fonctionne.

par contre c’est REF pas REF (2 underscores de part et d’autre)

Bonjour,

Savez-vous si les extrafield sont pris en compte dans la version 9?
Dans la version 8 cela ne marche pas

Bien à vous
Laurent

Salut lcaufrie,

?!

si si ça fonctionne en V9 (pas vérifié en V8)

la syntaxe est EXTRAFIELD_XXX où XXX est le code de l’extrafield de la facture en majuscule.
J’ai bien dit extrafield de la facture -> pas extrafield du tiers ou d’une ligne de facture.

Un tout grand merci Arre,
Je faisais mes essais sans mettre de le code en majuscule. Cela marche en version 8 aussi.
Me manque plus à trouver comment je peux prendre la valeur d’une liste et non son ID.
Dommage aussi que l’on ne sache pas prendre le titre de civilté

Cordialement
Laurent

Bon, j’ai refait le modèle en 9.03 , ça fonctionne !

Merci beaucoup de ton aide

Régis

Bonjour,
J’ai essayé la variable REF_CLIENT (en pensant reprendre la Réf Commande Client) pour l’intégrer dans mes AR de commande mais ça ne fonctionne pas.

Salut gbbn,

c’est aussi REF pour les commandes client.
En fait le numéro de pièce est toujours REF quelque soit la pièce, c’est juste le « Type de modèle » qui doit être positionné comme il faut dans le modèle de courrier.

Oui, merci Arre, j’utilise bien REF pour inclure ma propre Réf mais je cherchais la variable correspondant à la Réf client ou fournisseur (si elle existe).

oups désolé, j’ai lu trop vite…

c’est bien REF_CLIENT (testé à l’instant en 9.0.3)

Bonjour,

Savez-vous s’il est possible de récupérer la valeur d’une liste déroulante des extra fields dans les modèles d’emails?
J’arrive bien à avoir les valeurs si c’est un champ texte, mais si c’est une liste déroulante je n’ai que l’ID et non la valeur derrière l’ID.

Cordialement
Laurent

Bonjour à tous,

Une petite modification pour ceux que ça intéresse :

Philazerty à démarrer le travail

Pour le reste à payer voici mes modifications :

		// Add by philazerty and modified by InfraS
		if ($object->element =='facture')
        {
			if (is_object($object))
			{
				$totalpaye			= $object->getSommePaiement();
				$totalcreditnotes	= $object->getSumCreditNotesUsed();
				$totaldeposits		= $object->getSumDepositsUsed();
				$resteapayer		= price2num($object->total_ttc - $totalpaye - $totalcreditnotes - $totaldeposits, 'MT');
			}	// if (is_object($object))
			$substitutionarray['__FACDATE__']			= is_object($object)?(isset($object->date) ? dol_print_date($object->date, 'daytext', 0, $outputlangs) : '') : '';
			$substitutionarray['__FACDATELIMREG__']		= is_object($object)?(isset($object->date_lim_reglement) ? dol_print_date($object->date_lim_reglement, 'daytext', 0, $outputlangs) : '') : '';
			$substitutionarray['__FACTOTALTTC_2D__']	= is_object($object)?number_format($object->total_ttc, 2, ',', ' ') : '';
			$substitutionarray['__FACTOTALHT_2D__']		= is_object($object)?number_format($object->total_ht, 2, ',', ' ') : '';
			$substitutionarray['__FACTOTALHT_2DC__']	= is_object($object)?price($object->total_ht, 0, $outputlangs, 1, 2, 2, 'auto') : '';
			$substitutionarray['__FACTOTALTTC_2DC__']	= is_object($object)?price($object->total_ttc, 0, $outputlangs, 1, 2, 2, 'auto') : '';
			$substitutionarray['__FACREST_2D__']		= is_object($object)?price($resteapayer, 2, ',', ' ') : '';
			$substitutionarray['__FACREST_2DC__']		= is_object($object)?price($resteapayer, 0, $outputlangs, 1, 2, 2, 'auto') : '';
        }	// if ($object->element =='facture')
        // End of addition by Philazerty and modified by InfraS

Cela fonctionne en 10.0.1

Cordialement,
Sylvain Legrand.

1 « J'aime »

Merci Sylvain pour ces modifications de code.

Malheureusement, ca ne marche pas sur mon installation (en v10.0.1 également).

J’ai ajouté le code dans le fichier functions.lib.php après la ligne 5608

J’ai repris le temps d’essayer et cette fois ça a marché avec ma v10.0.3 …
Merci !

Bonsoir,

Vous avez rajouter le code de @Sylvain.Legrand ?

Si oui vers quel ligne ?

Cordialement,
Gaëtan.