Masquer les prix sur une commande / BL

Bonjour,

Je test actuellement Dolibarr pour une, peut-être, future installation en prod.

J’aurai besoin de masquer les prix sur les commande/BL de certains clients.
En effet, je livre certaines succursales et la maison mère ne veut pas que les prix soit affichés sur les BL.

Mon idée était donc de créer un extra field « prix caché sur BL » avec comme valeur OUI ou NON et fonction de ça, masquer les prix.

J’imagine qu’il faut modifier le modèle PDF mais je ne trouve pas à quel endroit insérer un IF prix caché sur BL alors…

Quelqu’un a déjà eu ce besoin ?

Peut-être une autre solution/idée ?

Merci

Salut Fredm,
ta solution fonctionne mais tu te casses la tête pour rien à mon avis.

Il te suffit de dupliquer le modèle en le nommant machin-sp (Sans Prix) et tu commentes l’affichage du prix dans ce modèle. Ainsi tu choisis le modèle au moment de l’impression.

1 « J'aime »

Salut,

Merci pour ta réponse, effectivement ça fonctionnerai. Mon problème c’est que ça fonctionnera les trois premières fois et la quatrième j’imprimerai bêtement le modèle avec prix sans y penser (je me connais…) et je me ferai démonter par le client…

Le but de l’inscrire dans la fiche client permet de le coder une fois et ne plus y penser… et de diminuer ainsi le risque d’erreurs.

Sinon, j’avais pensé utiliser expédition mais cela fais beaucoup de clics…

Salut
Je dois avoir un modèle pour un client mais c’est peut-être un devis. Je regarde ça si je retrouve.
@+

1 « J'aime »

Salut fredm

Perso je ferai plus un extrafields « valorisé » oui,non, un model de pdf et suivant ton oui ou non tu sélectionne directement le bon pdf avec un if. au moins pas de risque d’erreur.

Bonjour,

Faire un IF en fonction d’un extrafield dans un fichier pdf c’est assez facile à faire !
Pas besoin de deux modéls, un seul suffit.

Merci de la réponse.

J’ai aucune idée de comment coder un IF dans le PDF mais je vais me mettre dessus, ça me parait une solution plus directe et sûre.

Essayez et si vous y arrivez pas on vous aidera.

Tuto pour creer un modéle à vous : https://wiki.dolibarr.org/index.php/Créer_un_modèle_de_document_PDF
Tuto sur les extrafields : https://wiki.dolibarr.org/index.php/Champs_personnalises

si vous prennez le modéle Einstein : https://github.com/Dolibarr/dolibarr/blob/develop/htdocs/core/modules/commande/doc/pdf_einstein.modules.php

Les prix unitaire sont affichés entre les lignes 470 à 473
La TVA entre 462 et 468
Le Total HT entre 505 et 507
Etc/

1 « J'aime »

Salut,

Voir ce post aussi : www.dolibarr.fr/forum/t/supprimer-les-colonnes-pu-et-qte-sous-infras/29300/1
(Je ne sais pas si ça peut être conditionnel: voir le développeur de ce module)

C’est pas si simple que ca.

Dans la fiche thiers on rajoute un extrafield

Libellé : Commande Valorisé
code de l’attribut : comval
Valeur :
[li]1,oui[/li]
[li]2,non[/li]
Valeur par défaut (Base de données): 1

Pour faire la recup dans le PDF on doit charger les extrafields du thiers :

$extrafields = new ExtraFields($this->db);
$extralabels = $extrafields->fetch_name_optionals_label($object->thirdparty->table_element);

On recup l’objet dans array options si on souhaite faire un if pour le oui non au lieux de la clé de la valeur :

$key = $object->thirdparty->array_options['options_comval'];
$extrafields->attribute_param[$key]['options'];
$reqId = intval($object->thirdparty->array_options['options_comval']);
$comval = $extrafields->attribute_param['comval']['options'][$reqId];

Et enfin on fait un IF sur $comval
if($comval == « non »){
Le code a ne pas afficher
}

Et si on souhaite faire un if sur la valeur on fait un if sur $reqId

Perso je reste sur la copie du core/modules/commande/doc/pdf_einstein.modules.php en core/modules/commande/doc/pdf_nonvalorise.modules.php et suivant l’extrafields de la fiche thiers on sélectionne automatiquement le bon PDF. C’est vraiment plus propre

Le probléme c’est que ça à ma connaissance c’est pas possible sans modifier le core…

@ksar
c’est justement pourquoi je pense qu’il est intéressant de voir avec les développeurs des modules de « tunning PDF » (notamment infra et ultimatPDF) si le « masquage » d’une colonne proposée en standard dans leur module ne pouvait pas être conditionnel sur un champs, un extrafield ou autre…

ça résoudrait le problème d’un seul coup et ça aura le mérite d’être facilement maintenable en cas de mise à jour.

@ksar Euh ya bien une action addline

Salut Doudouvs,
Désolé j’ai pas compris, tu fais comment pour sélectionner un modéle de document en fonction d’un extrafield ?

@ksar

Je ne sais pas encore mais il y a un je pense un trigger avec comme action addline a chaque ajout de ligne dans une commande il génère le PDF ou lors de l’ouverture d’une commande on doit bien trouver un hooks et sélectionner le bon PDF.

Je ne suis pas encore sur la partie selection du PDF et la je suis en vacance une semaine donc a mon retour je vous ferai un exemple.

A bientôt

@ksar

on peut faire un trigger sur chaque action quand on ajoute,modifie ou supprime une ligne

if($comval == "non"){ $object->modelpdf = "perso" //perso c'est le nom du document pdf non valorisé sans l'extention }