Bienvenue, Invité
Nom d'utilisateur : Mot de passe : Se souvenir de moi

SUJET : Contact fournisseur

Contact fournisseur il y a 1 an 8 heures #103185

  • David3333333
  • Portrait de David3333333
  • Hors ligne
  • Fresh Boarder
  • Messages : 15
  • Karma: 0
Bonjour à tous,

Après avoir passer plusieurs heures à chercher un attribut, je me dirige vers vous dans l'espoir d'obtenir une solution. Je m'explique, je modifie actuellement le php générant la page pdf de la commande fournisseur et une information me manque, le contact fournisseur, donc le thirdparty dans mon cas.

Plusieurs possibilités :
- Premièrement, est il possible d'avoir accès au modèle de l'objet thirdparty, afin d'obtenir tous ses attributs et potentiellement y trouver le contact pour pouvoir l'afficher
Deuxième possibilité, dans le cas où l'attribut contact n'existe pas dans thirdparty, est il possible d'effectuer une requête SQL depuis la page générant le PDF ?

Je suis sous Dolibarr 8.0.1 et j'utilise UltimatePDF 5.0.0 pour générer les PDF

Merci à vous

Cordialement
L'administrateur a désactivé l'accès en écriture pour le public.

Contact fournisseur il y a 1 an 4 heures #103190

  • Sylvain.Legrand
  • Portrait de Sylvain.Legrand
  • Hors ligne
  • Modérateur
  • Rien n'est simple, tout est compliqué !
  • Messages : 913
  • Remerciements reçus 197
  • Karma: 30
Bonjour,

Que dit le développeur du module ?

Sinon utilisez '$thirdparty = $object->contact;' puis appeler la fonction pdfBuildThirdpartyName($thirdparty, $outputlangs, $includealias)

Cordialement,
Sylvain Legrand.
L'administrateur a désactivé l'accès en écriture pour le public.
Cet utilisateur a été remercié pour son message par: David3333333

Contact fournisseur il y a 11 mois 4 semaines #103201

  • David3333333
  • Portrait de David3333333
  • Hors ligne
  • Fresh Boarder
  • Messages : 15
  • Karma: 0
bonjour,

Merci de votre réponse, le développeur du module ? Vous entendez le développeur du module d'UltimatePDF ?

Hum la fonction pdfBuildThirdparty() ne renvoie que le nom d'une société, or je cherche un contact dans le thirdparty, d'après ce que j'ai pu voir dans la fonction pdfBuildThirdparty() on peut lui donner un objet Société ou Contact mais dans les 2 cas la fonction nous retourne le nom de la société.

Cordialement,
David
L'administrateur a désactivé l'accès en écriture pour le public.

Contact fournisseur il y a 11 mois 4 semaines #103250

  • Sylvain.Legrand
  • Portrait de Sylvain.Legrand
  • Hors ligne
  • Modérateur
  • Rien n'est simple, tout est compliqué !
  • Messages : 913
  • Remerciements reçus 197
  • Karma: 30
Bonsoir,

Excuse moi j'ai été trop vite et il y a trop de temps que j'ai décortiqué cette partie du code.

Je récupère le nom du contact avec :
pdf_build_address($outputlangs,$sourcecompany,$targetcompany,$targetcontact,$usecontact,$mode,$object)

la variable $targetcontact est renseigné par
$object->contact

Voici la séquence de code tiré du modèle einstein :
// If CUSTOMER contact defined on order, we use it
$usecontact=false;
$arrayidcontact=$object->getIdContact('external','CUSTOMER');
if (count($arrayidcontact) > 0)
{
	$usecontact=true;
	$result=$object->fetch_contact($arrayidcontact[0]);
}
$carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->thirdparty,($usecontact?$object->contact:''),$usecontact,'target', $object);

Cordialement,
Sylvain Legrand.
L'administrateur a désactivé l'accès en écriture pour le public.
Cet utilisateur a été remercié pour son message par: pm17

Contact fournisseur il y a 11 mois 4 semaines #103284

  • David3333333
  • Portrait de David3333333
  • Hors ligne
  • Fresh Boarder
  • Messages : 15
  • Karma: 0
Bonjour,

Oui par rapport à cela, j'utilise la méthode pdf_build_new_address() qui s'emploi en mode source par défaut ou target et en effet lorsque je l'utilise en mode source cela m'affiche l'adresse complète et le numéro et le mail et le mode target, l'adresse complète ainsi que le nom du contact mais cela n'affiche pas le numéro et le mail. Donc je ne peux avoir que l'un ou l'autre... J'ai tenté d'obtenir le contact sans passer par la méthode
$arrayidcontact = $object->getIdContact('external', 'BILLING');
        if (count($arrayidcontact) > 0) {
            $result = $object->fetch_contact($arrayidcontact[0]);
        }
$carac_emetteur = pdf_build_new_address($outputlangs, $object->thirdparty);
$carac_emetteur .= $outputlangs->convToOutputCharset(dol_format_address($object->contact));

Mais cela ne retourne rien et oui je suis sur que l'on rentre dans le if... malheureusement

Merci par avance
L'administrateur a désactivé l'accès en écriture pour le public.