Extrafields sur les PDF

hello, j’avais fait un tuto pour expliquer comment réaliser ce genre de chose
www.dolibarr.fr/forum/t/tuto-ajouter-a-un-doc-pdf-un-extrafields/19936/1

1 « J'aime »

Bonjour Defrance,

Merci pour votre réponse!
le souci est que je veux ajouter l’attribut au niveau du produit mais l’afficher dans les pdf facture et expédition (en tant qu’une nouvel colonne que j’arrive à créer).
Je pense que le tutoriel que vous m’avez fourni traite uniquement le cas de création d’un nouvel attribut au niveau de la facture et de l’afficher dans le fichier pdf facture.
J’ai essayé d’utiliser le même code pour l’affichage de mon nouvel attribut produit ref_prod_client au niveau du pdf facture mais cela ne marche pas :unhappy: :unhappy:

cordialement

Bonjour holanpan7,

moi aussi j’ai le même souci ( faire apparaitre les extrafields créés dans le module produit sur les PDF des propals, factures ou commandes). avez vous une solution?
le doc fourni par defrance ne traite que le cas d’ajout des extrafields créés depuis leurs modules

cordialement

L’ajout d’extrafields dans un document passe par trois étapes :
- la récupération de la clé et du nom de l’élément associé à l’extrafields (fichinter, commande, …)
- la récupération de la données généralement avec la fonction showOutputField
- l’affichage de l’information sur le document

Pour répondre à votre demande il convient donc de vous baser sur mon exemple et d’apapter selon vos besoins (en particulier le point numéro 1

1 « J'aime »

justement Defrance c’est ce que je n’arrive pas à faire :confused:

pouvez vous m’aider?

up :confused:

Bonjour Defrance,
pour traiter le point 1 j’ai ajouté le bout de code suivant

$produit = new Product($db);
$extrafieldsline = new ExtraFields($db);
$extralabelsline = $extrafieldsline ->fetch_name_optionals_label($produit->table_element);
$produit->fetch($line->fk_product);
$produit->fetch_optionals($line->fk_product,$extralabelsline);

mais cela me génére une erreur :Fatal error: Call to a member function query() on a non-object in C:\dolibarr\www\dolibarr\htdocs\core\class\extrafields.class.php on line 540

bonjour
désolé pour le manque de temps pour t’aider
je pense que la $db n’est pas définis, essaie avec $this->db tu dois être dans une classe

1 « J'aime »

j’ai essayé mais le problème persiste :confused:
Dans le cas d’ajout d’un attribut (facture) et son affichage sur le fichier pdf facture tout est normal et les attributs s’affichent.
mais lorsque j’essaye d’afficher un attribut supplémentaire (produit par exemple) je n’arrive pas (avec mon niveau en php :/)

Holanpan7, avez vous trouvé la solution?

Désolé mais je n’ai pas non plus trouvé de réponse à mon problème.

Je posterai si je réussi à quelque chose…

1 « J'aime »

Merci j’attendrai vos retours! :happy:

up :confused: :confused:

Bonjour
@saramas, ou as tu ajouté tes lignes de code? Peux tu joindre l’ensemble du fichier à ton message? Pour cela tu renommes ton fichier en ajoutant .txt et tu pourra le mettre sur le forum.
Tu peux aussi utiliser les balises [code] [/code]
Fred

1 « J'aime »

Bonjour Fred,

vers la ligne 34 j’ai ajouté ça
require_once DOL_DOCUMENT_ROOT.’/core/class/extrafields.class.php’;
-----ligne 162
$extrafieldsline = new ExtraFields($db);
$extralabelsline = $extrafieldsline ->fetch_name_optionals_label($object->table_element_line);
------ligne 303
$object->lines[$i]->fetch_optionals($object->lines[$i]->rowid);
$optionkeyname=« ref_prod_client »;
//$optionkeyname=« ref_pd_clt »;
$refprodcltvalue = $extrafieldsline->showOutputField($optionkeyname, $object->lines[$i]->array_options[‹ options_ ›.$optionkeyname]);
-------ligne 369 (pour l’affichage)
$pdf->SetXY($this->posxrefclt, $curY);
$pdf->MultiCell($this->posxrefprod-$this->posxrefclt-0.8, 3, $refprodcltvalue, 0, ‹ R ›);

Notons que ref_pd_clt est le code de mon nouvel attribut pour les produits que je cherche à afficher dans mes factures (et également mes expéditions)

pdf_crabeNew.modules.txt (55.4 KB)

Le réponse m’intéresse aussi. Je bute sur le même problème.

Cordialement.

Bonjour,

Un peu d’aide sur ce probléme d’extrafields???

Cordialement.

Bonjour,

Je suis en train d’essayer d’ajouter un attribut ligne sur le PDF du mondule Contrat mais je bloque avec votre tuto, est-ce qu’il est possible que vous m’aidiez ?
En fait, j’aurais besoin de savoir quelle ligne il faut changer au niveau du tuto pour qu’il soit en raccord avec le pdf contrat car je bloque un peu.

Merci !

Je vois qu’on est tous au même point…
Les extrafields sur les PDF… Une grande histoire d’amour! :laugh: :laugh: :laugh:

Pour ma part, j’ai mis en place des Extrafiels sur des documents, et pas dans un article ou un tableau…
J’ai « résolu » mon problème avec l’achat du module « MyPrint » de Patas-monkey… Cepedant, j’utilise le module InfraSPack, ainsi que le module SousTotal… Cependant, MyPrint n’est pas compatible avec InfraSPack… Je garde le modèle de document de InfraSPack, car c’est celui-qui correspond le mieux à mes besoins pour la génération des propales, factures, et commandes… Cependant, il ne permets pas l’impression des Extrafiels. Je suis bloqué…

Quelqu’un a-t-il réussi à imprimer les extrafields sur ses modèles de documents à l’aide du tuto indiqué plus haut de Patas-Monkey?

Merci pour votre aide!