Pour revenir a cette histoire, voilà ce que j’ai fait comme test
pour rappel : je suis sur la version dolibarr 13.0.2
Je suis allé un peu fouiller dans le code (je ne suis pas très dev.)
sur le fichier /comm/propal/class/propal.class.php
ligne 246
'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created.
si j’ai bien compris et corrigez moi si je me trompe, si aucune valeur n’est définie pour la reference, la proposition qui n’est pas encore validée prend le nom PROV, avec un ID qui s’incrémente…
Donc ce que j’ai fait, je suis allé sur la ligne 1107 :
$this->ref = '(PROV'.$this->id.')';
J’ai tout simplement modifié par :
$this->ref = 'BROU'.$this->id;
et hop, une fois les parenthèses enlevé et le brouillon prend le nom BROU{id}, l’aprecu s’affiche, et le pdf peut être téléchargé. donc là je pense que ce sont vraiment les parenthèses qui créent problème …
après avoir effectué cette modification, lorsque je valide le brouillon, ca garde toujours le nom BROU{id}, faudrait que je creuse encore pour aller jusqu’à la ligne 1845
if (!$error && (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref))) // empty should not happened, but when it occurs, the test save life
où il fallait que je remplace PROV par BROU, une fois testé, le document a bien été validé et a respecté le masque de la proposition validée.
donc là, le problème des apercu est contourné, et on peut dire que c’est résolu coté proposition commerciale, sauf que cela arrive aussi sur les factures ainsi que d’autres modules, donc je ne pense pas que ca soit une solution idéale.
quels sont vos suggestions ?