[Résolu] Insertion noms utilisateurs dans PDF

Bonjour à tous,

je bute depuis quelques temps sur un problème de génération de PDF et des extrafields.

Sur ma V9.0 dans le module commande j’ai créé 2 extrafields permettant d’entrer les intervenants internes à ma société sur un devis/commande à des fins de futurs suivis.

Par exemple Paul créé le devis, la commande est traitée par Pierre et Jacques, dans la fiche commande on sélectionne donc l’extrafield Intervenant 1 pour entrer Pierre, et intervenant2 pour entrer Jacques.

Ces extrafields sont liés à la table user par « user:name:rowid::1=1 ».

Sur la fiche cela fonctionne nickel.
Je veux ensuite faire apparaitre ces noms dans le PDF généré lors de la commande , j’ai entré tout ce qu’il faut pour ça (merci les tutos), et j’ai entré:
$object->fetch($rowid);
$object->fetch_optionals($rowid,$extralabels);
$pdf->writeHTMLCell(’’,’’,’’,’’,$object->array_options [‹ options_intervenant1 ›],0,1,0, true, ‹ L ›,false);

cela fonctionne MAIS je récupére le rowid du user et non son nom en toute lettres.

Comment je peux à partir de son id récupérer le nom et l’afficher dans le PDF?

merci pour votre aide

Bonjour,

Il faut charger la classe user
puis crée une nouvelle instance de la classe user en passant le user id en paramètre
Vous aurez alors dans l’objet user le norm en clair.

Sinon faire une requête SQL sur la table user.

Merci pour la réponse, je vois donc que c’est faisable.
même si je comprends pas un traitre mot :laugh:

Salut clad63,

Question bête … pourquoi passes tu par des extrafield alors que la fonctionnalité existe en standard ? (sur chaque pièce, dans contact : tu peux spécifier les contacts internes et clients en charge du suivi de chaque étape)

Salut Arre,

notre société est un laboratoire d’analyses scientifiques, nous fournissons donc un rapport d’analyse après différents tests définis en propal, on utilise le module commande en fait pour générer un résumé que nous joignons à notre rapport et par la suite cela nous permet en consultant les fiches « commande » de savoir qui a participé et qui saura refaire les mêmes choses.
A l’époque de la mise en place de ce système j’ai opté pour le choix des customfield (et maintenant donc extrafield) sans même me poser la question de la rubrique contact… du coup tu me mets un doute là :laugh:

Salut clad63,

alors je vais te mettre encore plus le doute :wink:

Le module projet est fait pour gèrer le cas que tu explique (entre autre…)
Pour des travaux pour un client : tu ouvres un projet.
A ce projet, tu attaches une ou des propositions commerciales, des commandes (clients/fournisseurs) des factures (clients/fournisseurs
Des tâches (assignées à un laborantain, à un ingé, etc…
Des rapport d’intervention avec pièces jointes (les travaux réalisés, les analyses, etc…)

En un coup d’oeuil en consultant le projet tu as l’historique de tout ce qui s’est fait,
tu peux même avoir un calcul de rentabilité entre le temps investi et le temps vendu.
Les intervention horodatés peuvent servir à générer une facturation en fonction du temps passées …

bref, un petit paradis, mais ça remets tes choix de l’époque en cause :wink:

Par curiosité personnelle (et intérêt professionnel …) : tu proposes quels style d’analyses ? sur quelles régions ?

J’avais bien pensé au module projet à un moment, va falloir que je me penche là dessus du coup, parce que je l’avais un peu modifié pour des contrats européens incluant plusieurs sociétés en plus de la notre ce qui permettait d’avoir tout sous la main.

notre société est basée à Clermont-Fd, mais on travaille dans le monde entier, on fait principalement des analyses et études de vieillissement de polymères

Ça inclus es matériaux composites ? bois/béton bois/polymères ?
post l’url de ton site stp.

oui on a bossé par exemple pour des margelles de piscine en composite

Notre site

Interessant.
Peux tu m’envoyer tes coordonnées ? (ou celles d’un technico) J’ai d’autres questions.

envoie ça à : info [at] arcomab [point] com stp

Sans tester ça donne :

require_once (DOL_DOCUMENT_ROOT."/user/class/user.class.php");		
				$user= new User($this->db);
				$user->fetch($user_id);
1 J'aime

merci !!! ça fonctionne:

require_once (DOL_DOCUMENT_ROOT."/user/class/user.class.php"); $user_id=$object->array_options['options_intervenant1']; $user= new User($this->db); $user->fetch($user_id); $pdf->writeHTMLCell('','','','',$user->getFullName($langs),0,1,0, true, 'L',false);

1 J'aime