des réponses??!
Bon, voila le modèle que j’ai modifié en espérant que vous y trouverez d’ou vient le probléme et merci d’avance
pdf_crabe_onets.modules.zip (13.4 KB)
des réponses??!
Bon, voila le modèle que j’ai modifié en espérant que vous y trouverez d’ou vient le probléme et merci d’avance
pdf_crabe_onets.modules.zip (13.4 KB)
Bonjour,
Ce n’est pas la peine de recréer le même sujet quelques jours après faute de réponses …
Les personnes du forum sont là uniquement par plaisir et non pas pour assurer un SAV/Service Client immédiat.
Bonsoir,
Je sais que vos réponses sont que plaisir de votre part et je vous en remercie. Cependant j’espère de tout mon cœur que vous m’accordiez une petite aide issue de votre grand génie et compétences qui me sont très précieux
Bonjour à tous,
Je découvre Dolibarr et malgré mes recherches sur le forum et dans la documentation, je n’ai pas trouvé la réponse à ma question. Je vous sollicite donc.
J’explique mon cas : Je suis en train d’utiliser les module Projets pour créer un listing de véhicules (pour un garage automobile). Chaque véhicule est associé à un Tiers, le propriétaire, sachant qu’un Tiers peut avoir plusieurs véhicules. J’ai donc ajouté des ExtraFields dans le module Projets tels que Marque, Modèle, N° d’immatriculation… Hors, j’aimerais que ces informations apparaissent quand je crée le PDF d’un devis ou d’une facture.
J’ai bien trouvé comment afficher les ExtraFields des modules Propal ou Facture mais pas ceux d’une autre table de la base.
J’aimerais donc savoir s’il est possible de récupérer les données de champs ExtraFields saisis dans le module Projets afin de les faire apparaitre dans un devis ou une facture associé au projet en question.
Merci.
Bonjour,
Voir cette page : https://wiki.dolibarr.org/index.php/Add_Extrafields_on_PDF_Models
Il faudra adapter le paragraphe « produit » par « projet » : https://wiki.dolibarr.org/index.php/Add_Extrafields_on_PDF_Models#Special_Case_for_Product_extrafields_on_Invoice_Line
Merci ksar !
Par contre, j’ai déjà pas mal cherché et j’ai déjà consulté ces deux pages sans trouver ce que je cherchais : la première est la manip pour ajouter des ExtraFileds mais dans un même module (ExtraFields Facture dans PDF Facture) et pour la deuxième, mes ExtraFields ne sont pas des « lignes » et je n’ai pas su comment adapter les lignes de commande.
Soit vous cherchez, soit vous payer quelqu’un pour le faire
Ça ne résoud ps vraiment mon problème… Donc c’est possible à faire ?
Je ne m’y connais pas trop en PHP, disons que j’arrive à bidouiller. Je vais creuser la question.
Merci quand même pour la réponse.
Oui c’est possible à faire
Bon alors, j’ai beau chercher et tester, je n’arrive pas à afficher mon extrafield ‹ immat › sur mon devis. Je suis arrivée à ça mais ça ne fonctionne pas et je ne comprends pas pourquoi alors que j’arrive à afficher un extrafield du module Propale dans mon devis. Il y a un problème au niveau de la récupération de la table « Projet » mais où ?
J’ai bien ajouté les lignes
require_once DOL_DOCUMENT_ROOT.’/core/class/extrafields.class.php’;
require_once DOL_DOCUMENT_ROOT.’/projet/class/project.class.php’;
puis :
$project = new Project($this->db);
$object->fetch($project->rowid);
$object->fetch_optionals($project->rowid, $extralabels_project);
$extrafields_project = new ExtraFields($this->db);
$extralabels_project = $extrafields_project->fetch_name_optionals_label($project->table_element);
$project->fetch_optionals($project->rowid, $extralabels_project); // identique à la ligne objet au-dessus (?)
$pdf->SetFont('', '', $default_font_size + 2);
$pdf->SetTextColor(0, 0, 0);
$pdf->writeHTMLCell (190, 3, $this->posxdesc-1, $tab_top-1, $outputlangs->convToOutputCharset($project->array_options['options_immat']), 0, 1); //remplacer par la valeur du champ
$nexY = $pdf->GetY();
$height_note = $nexY - $tab_top;
Bonjour
vous devriez utiliser « $project->id » au lieu de « $project->rowid »
car dans le source project.class.php (version 11.0.3), c’est bien le champ id qui est affecté
Bonne continuation
Merci @pcbleu,
Je suis allée voir dans project.class.php et en effet « rowid » est devenu « id » j’en ai profité pour mettre Dolibarr à jour vers la version 11.0.3.
Par contre, j’ai beau retourner le code dans tous les sens, je m’y pers entre « project » et « projet ». J’ai ausi essayé d’apres le tuto de Patas Monkey mais rien à faire… Je sens que je vais abandonner mon idée et faire plus simple car mes connaissances en PHP sont largement insuffisantes.
Bonjour
avez-vous essayé d’afficher ou de faire un dump dans le fichier des logs
je n’avais pas remarqué l’anomalie de votre source
$project = new Project($this->db);
$object->fetch($project->rowid);
$object->fetch_optionals($project->rowid, $extralabels_project);
le fetch que vous faites est sur un valeur égale à zéro - ça ne peut rien donner en résultat
l’id que vous passez à la fonction fetch doit avoir une valeur qui dépend de ce que vous avez à faire présenter dans le pdf
Bonne continuation
Bonjour,
Tel que vous le faites cela ne peut pas marcher.
Essayez un :
$project = new Project($this->db);
$project ->fetch($object->project_id);
$object->fetch_optionals($project->rowid, $extralabels_project);
$extrafields_project = new ExtraFields($this->db);
$extrafields_project = $extrafields_project ->fetch_name_optionals_label($project ->table_element);
$project->fetch_optionals($project->rowid, $extralabels_project);
Il faut au préalable verifier que
$object->project_id
Existe.
Pour cela faire un test en faisant un
var_dump($object);
Bonjour
J’ai suivi le tutoriel Add Extrafields on PDF Models - Dolibarr ERP CRM Wiki mais il n’y a rien de mentionné a propos d’une modification à apporter à ce niveau-là. Je me doute qu’il y a un soucis au niveau du chargement de la table mais je ne sais pas où ni comment corriger.
Je vais continuer à chercher. Merci encore à vous deux
Voilà ce que ça donne :
[…]
Modules/Applications: user, syslog, categorie, agenda, facture, fournisseur, societe, service, blockedlog, debugbar, propal, expensereport, comptabilite, banque, prelevement, product, mailing, fckeditor, projet
Type gestionnaire de base de données: mysqli
Requête dernier accès en base en erreur: SELECT rowid, modele, immat, circulation, vin FROM llx_projet_extrafields WHERE fk_object =
Code retour dernier accès en base en erreur: DB_ERROR_SYNTAX
Information sur le dernier accès en base en erreur: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‹ › at line 1
[…]
Donc mes ExtraFields « modele », « immat », « circulation », « vin » sont bien récupérés mais contiennent une erreur. J’ai essayé de les supprimer et d’en créer d’autres avec d’autres noms (au cas où il y aurait un conflit avec une commande existante) mais le message d’erreur est le même.
Je vais continuer à potasser…
Bonjour,
Je pense que la question doit être assez récurrente pas je ne trouve pas la solution.
Je souhaite intégrer dans mes pdf de propals, commandes et factures les extrafields des produits. J’utilise déjà ODT2PDF mais je cherche à passer sur les pdf directement.
Pour le tuto de Patatas Monkeys aucun problème, mais c’est uniquement les extrafields de la propal, de la commande ou de la facture.
J’ai essayer d’utiliser ce code de Ksar
if ($object->lines[$i]->fk_product)
{
require_once (DOL_DOCUMENT_ROOT."/product/class/product.class.php");
$product = new Product($this->db);
$product->fetch($object->lines[$i]->fk_product);
$extrafields_product = new ExtraFields($this-\>db)
$extralabels_product = $extrafields_product-\>fetch_name_optionals_label($product-\>table_element);
$product-\>fetch_optionals($product-\>rowid, $extralabels_product);
//On devrait pouvoir utiliser les extrafields produit comme cela
$product-\>array_options['options_xxxxxxxxx'];
}
Mais j’ai une erreur sur la ligne $extralabels_product = $extrafields_product->fetch_name_optionals_label($product->table_element);
Un solution à me proposer?
Quelle est l’erreur ?
celles ci:
Parse error: syntax error, unexpected ‹ $extralabelsline_product › (T_VARIABLE) in /var/www/html/dolibarr/htdocs/core/modules/propale/doc/pdf_azur.modules.php on line 488
Visiblement vous avez un probléme mais pas dans le code que j’ai transmit
Il n’y a pas de variable extralabelsline_product dans mon code
Edit : J’ai compris il manque le ; dans la ligne du dessus