N° de devis dans une facture (format ODT)

Bonjour,

Je butte sur un truc simple en théorie.
Je voudrais mettre le n° de devis (proposition commerciale) dans une facture client (modèle ODT).

Donc je créée un facture à partir d’un devis (les 2 objets sont bien liés).

Je pensais utiliser le champ {object_source_invoice_ref} mais il est vide.

Une idée ?

(PS : Dolibarr 3.9 / Le modèle crabe renvoit bien la référence de la proposition commerciale)

Si quelqu’un sait également s’il existe un champ pour mettre la date de la proposition commerciale dans la facture c’est le top (comme dans le modèle crabe)

Petit Up,
ça m’intéresse aussi, j’ai longtemps cherché sans trouver de solution.
Idem pour rajouter le contact suivi de proposition

Merci

Quelqu’un a une idée ?

Bon au cas où quelqu’un en a besoin, j’ai une solution (modification du core avec du code pas joli :pinch: :whistle: )

Modifier le fichier core/class/commondocgenerator.class.php :

Chercher

[code]
function get_substitutionarray_object($object,$outputlangs,$array_key=‹ object ›)
{
global $conf;

	$sumpayed=$sumdeposit=$sumcreditnote='';[/code]

Et ajouter juste après :

$proposalref='-';

Chercher :

$sumpayed = $object->getSommePaiement(); $sumdeposit = $object->getSumDepositsUsed(); $sumcreditnote = $object->getSumCreditNotesUsed();
Et ajouter juste après :

[code]
$sql = "SELECT s.rowid as socid, s.nom as name, s.client, t.rowid, t.ref, t.ref_client, t.total_ht FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX.« propal as t WHERE t.fk_soc = s.rowid AND t.fk_soc IN ( ».$object->thirdparty->id.’) AND t.entity IN (’.getEntity(‹ propal ›).’)’;

        $resqllist = $this->db->query($sql);
        if ($resqllist)
        {
            $num = $this->db->num_rows($resqllist);
            $i = 0;
            while ($i < $num)
            {
                $objp = $this->db->fetch_object($resqlorderlist);
                $proposalref = $objp->ref; // Prendra donc la dernière liée
                $i++;
            }
            $this->db->free($resqllist);
        }[/code]

Juste en dessous, après cette ligne :

$resarray=array(

Insérer :

$array_key.'_source_proposal_ref'=>$proposalref,

Ensuite dans votre doc ODT, vous pouvez utiliser la balise {object_source_proposal_ref} qui sera remplacée par la dernière proposition commerciale liée.

Testé en 6.0.4, mais ça pourrait marcher en v5 (pas testé).
Comme c’est une modification du core, le fichier sera écrasé à chaque mise à jour de dolibarr.

1 « J'aime »

Merci @karelnet
Une idée pour rajouter le contact client suivi proposition ou contact client facturation proposition automatiquement dans la propal odt ?

Non désolé j’ai pas travaillé sur ce point spécifiquement.

Bonjour !

Je déterre le sujet parce que je suis confronté au même problème sur la version 17.0.0

Ne gérant pas moi-même le serveur, je n’ai pas accès au dossier d’installation de Dolibarr et ne peux donc pas intervenir sur le core.
Savez-vous s’il existe une autre solution pour automatiser l’écriture de la référence et de la date du devis dans les modèles de factures .odt ? (comme dans le modèle crabe)